CocoAdventure

Qualcuno ha delle mentine per l’alito e un repellente per topi?
CocoAdventure è il nuovo progetto personale a cui, da un po’ di tempo, mi sto dedicando. Si tratta di un framework/engine per creare avventure grafiche native per sistemi Mac OS X ed è sviluppato interamente in Objective C/Cocoa.
Tutto è nato dalla mia volontà di imparare a programmare anche in Objective C utilizzando l’incredibile framework della Apple Cocoa e, visto che le avventure grafiche degli anni ‘80/’90 sono lo specchio dell’informatica che realmente mi piace (Infatti Ron Gilbert è il mio informatico preferito!), ho deciso di utilizzare questo tempo per realizzare qualcosa che ho sempre desiderato e sognato di fare, oltre che per imparare. ![]()
Visto che volevo realizzare tutto esclusivamente in Objective C/Cocoa, ho trovato un’ottima base di partenza da un vecchio framework open source, rilasciato sotto LGPL e purtroppo abbandonato, trovato su SourceForge: Cocoa Sprite Kit di Mike Margolis e Vinay Venkatesh.
Partendo da Cocoa Sprite Kit ho fatto diverse aggiunte e modifiche finalizzate allo sviluppo di un’avventura grafica, tra cui:
- possibilità di giocare in full screen
- screen resolution switching
- possibilità di creare layer basati su tiles
- A* Path Finder
- sprite mask
- walkable area management
- walk-behind area management
- configurazione tramite plist
- gestione delle animazioni per le 2/4/8 direzioni
- background scrolling “SCUMM-like” verticale e orizzontale per stanze più grandi dello schermo/finestra
- possibilità di avere più stanze e NPC (Non Player Characters) che evolvono indipendentemente
In particolare, la gestione del path finding funziona tramite la creazione e manipolazione di Way Points, in maniera simile a quanto accade in Visionaire Studio, mentre la gestione della Walkable Area e della Walk-Behind Area funziona tramite il color pixel checking, in maniera analoga a quanto visto in Adventure Game Studio.
Mancano ancora tante cose molto importanti, come ad esempio l’implementazione di un linguaggio di scripting, la gestione dell’inventario, la gestione delle azioni e purtroppo vado avanti a rilento visto che il tempo che ho da dedicare a questo progetto è davvero poco. Infatti sto anche valutando di cercare aiuto e, nel caso dovesse capitare su questo blog qualcuno interessato, si faccia pure avanti! ![]()
Spero di tornare al più presto con qualche novità e con una piccola demo!

Una lattina di Grog è proprio ciò che ci vuole, vero Guybrush?

Questo materiale è protetto dalla Creative Commons License
Posted on November 9th, 2008 by gyofer
Filed under: game programming, programming, projects, retrocomputing
Leave a Reply