CocoAdventure

cocoAdventure first demo
Qualcuno ha delle mentine per l’alito e un repellente per topi? :D

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! :D

cocoAdventure first demo
Una lattina di Grog è proprio ciò che ci vuole, vero Guybrush? :D

Creative Commons License logo
Questo materiale è protetto dalla Creative Commons License

@composition->print(“Hello, World!”);

GRAMophone è stato accettato e inserito in The Hello World Collection, lista mantenuta da Wolfram Rösler e che contiene esempi di “Hello, World” in oltre 360 linguaggi di programmazione e 59 linguaggi naturali.
Devo dire che il piccolo Grammy, insieme a C, C++, Pascal, Objective C, Java e tanti altri, è in ottima compagnia! :D

//Hello World in GRAMophone

composition "Hello, World!" of "Composer"
{
 %
 player player1 {
    grammar lindenmayer
    %
    axiom->print("Hello, World!");
 }

 player player2 {
    grammar chomsky
    %
    @composition->print("Hello, World!");
 }
}

Le Permutazioni

Le Permutazioni, una semplice introduzione

Creative Commons License logo
Questo materiale è protetto dalla Creative Commons License

I Numeri Complessi

Ultimamente mi è rivenuta voglia di ripassare e approfondire, tempo permettendo, alcuni argomenti che diversi anni fa mi avevano appassionato all’università. Così ho pensato di pubblicare su questo blog gli appunti di tali ripassi, sperando che possano essere utili anche a chi si trova ad affrontare tali argomenti per i propri studi. :)

Anelli e Ordinamento, una semplice introduzione

I Numeri Complessi, una semplice introduzione

Rappresentazione dei Numeri Complessi

Algebra dei Numeri Complessi

Teorema Fondamentale dell’Algebra

Alcuni esercizi

LyX logo

Creative Commons License logo
Questo materiale è protetto dalla Creative Commons License

GRAMophone II approda su Ubuntu!!!

Ubuntu Logo

GRAMophone II è ora disponibile anche nel repository Universe della distribuzione GNU/Linux Ubuntu :D

GRAMophone II “debianized”!!!

Debian LogoDebian

Finalmente, grazie al prezioso lavoro di Francesco Namuri, GRAMophone II è disponibile come pacchetto Debian! Potete trovarlo nei repository testing e unstable. Per l’Overview del pacchetto clicca qui.

Appunti di Algebra

Internet Archive Logo

Su Internet Archive sono disponibili alcuni miei vecchi appunti di Algebra che scrissi nel lontano 1995 a Pisa. Spero possano essere utili a chi deve dare esami su questa materia. Buono studio! :D

Creative Commons License logo
Questo materiale è protetto dalla Creative Commons License

Modem’s Secret per Windows 0.8b released!

Ho avuto il permesso di pubblicarlo come freeware! Lo trovate qui :D

GRAMophone II approda su SourceForge.net

SourceForge.net logo

La nuova casa di GRAMophone II è gramophone2.sourceforge.net :D

Modem’s Secret su Windows!!!

Modem’s Secret è un gioco uscito nel lontano 1987 per computer Olivetti Prodest PC 128s. Fu sviluppato dalla italiana Digiteam, società guidata da Eugenio Ciceri e da Steed Kulka e formata dall’intero team di programmatori del primo videogioco commerciale italiano: Camel Trophy Videogame per ZX Spectrum.

Dal Sito perduto di Digiteam: “Realizzato in occasione del lancio sul mercato italiano del PC Prodest 128S, Modem’s Secret implementava al proprio interno una serie di banche dati virtuali, fedelmente progettate sulla base di quelle allora esistenti sia in ambiente Videotex che TTY. Il giocatore, nei panni di un investigatore telematico, doveva navigare all’interno dei vari sistemi on-line per procurarsi informazioni, password e dati allo scopo di recuperare un’ingente somma di denaro trasferita indebitamente su un conto cifrato estero. Questo programma permetteva ai giocatori di esplorare l’allora nascente mondo della telematica di massa senza bisogno di collegamenti telefonici veri e propri; alla progettazione del gioco parteciparono diversi amministratori di banche dati, i cui contributi permisero di rendere la simulazione del tutto indistinguibile dalla realtà”.

Trovo Modem’s Secret non solo uno dei migliori titoli usciti per il PC 128S, ma uno dei più bei giochi di sempre, forte di un concept davvero vincente! Ricordo che rimasi giorni incollato davanti al monitor, segnando numeri di telefono e password su un blocco notes cercando di finire il gioco! :D

Tempo fa, colto da uno dei miei soliti attacchi nostalgici, mi metto a navigare su internet alla ricerca di notizie sul glorioso linguaggio BBC Basic del PC 128S. Scopro così che esistono nuove versioni aggiornate del linguaggio, tra cui il BBC Basic for Windows di R. T. Russell, in grado di interfacciarsi con le API di Windows e addirittura con OpenGL. La cosa che mi ha colpito maggiormente, però, è che mantiene un forte grado di compatibilità con l’originale interprete per sistemi BBC Acorn. Senza starci a pensare neanche due secondi, acquisto il nuovo BBC Basic con l’intenzione di omaggiare la Digiteam facendo una conversione per Windows del loro bellissimo Modem’s Secret! :D Infatti ricordavo che il gioco era sviluppato interamente in BBC Basic, senza parti di codice in linguaggio macchina. Quindi non dovevo far altro che estrarre i listati dall’immagine del dischetto originale, effettuare le modifiche necessarie in termini di gestione della memoria (sono passate diverse generazioni informatiche dal 1987! :D ), e finalmente darli in pasto all’interprete BBC Basic for Windows, capace di creare persino un eseguibile.

Grazie quindi al nuovo BBC Basic, alle utilities XAdfs e bas2txt, all’emulatore di Acorn BBC Master Compact b-em, all’hex editor XVI32 e ad un tocco di Gimp, sono riuscito nell’impresa: Modem’s Secret gira su Windows! :D
Per questioni di copyright, non so ancora se potrò rendere la conversione disponibile per il download. Per questo cercherò di contattare Eugenio Ciceri per chiedergli il permesso. Nel frattempo, beccatevi questo screenshot:

modem's secret for windows screenshot

A sinistra c’è la versione per Windows, a destra l’originale fatto girare sull’emulatore b-em. Sullo sfondo il codice BBC Basic con l’infame GOTO in bell’evidenza alla riga 370. :D