venerdì 20 aprile 2012

Print
Sin da quanto Jordan Mechner aveva confidato al mondo intero di aver ritrovato, facendo ordine nella sua cameretta, il floppy su cui era salvato il codice originale di Prince of Persia, il mondo del retrogaming è piombato in stato di trance mistica nella speranza di veder un giorno tale cimelio reso pubblico sul web.
Orbene il momento è finalmente giunto!! Un paio di giorni or sono, su Git-Hub, è apparto un nuovo progetto dall'appetitoso titolo Prince-of-Persia-Apple-II. Ebbene si finalmente migliaia di smanettoni, appassionati, aspiranti programmatori o magari solo curiosi potranno mettere le mani sul sorgente di quello che è, senza dubbio, uno dei giochi più famosi di tutti i tempi. Come dichiara lo stesso Jordan, il codice non è completo, ma c'è già di che sbizzarrirsi. Diciamocelo chiaro, migliaia di linee di assembly, anche se in parte commentate, sono tutt'altro che facili da leggere, ma è comunque bello sapere che è tutto li a disposizione delle avide menti che avran voglia di darci un'occhiata!!

La carriera di Jordan Mechner nel mondo dei videogame inizia nel 1984 quando, ancora studente all'università di Yale, realizza, sul suo fido Apple II, Karateka. Un giovane eroe, esperto di arti marziali, si incammina nel castello fortezza del perfido Akuma per salvare la principessa Mariko. Trama e gameplay ricordano molto da vicino quel Prince of Persia che, nel 1989, lo consacra nell'Olimpo dei grandi dei videogame. Di questo gioco ve ne ho già parlato un un ampio articolo ed questa sede mi limiterò a dire che, rispetto al titolo precedente, il Giappone feudale lascia il posto alle atmosfere de "mille e una notte", e  che da salvare questa volta non c'è una principessa ma la figlia del sultano.
Nel 1993 arriva il seguito, Prince of Persia 2: The shadow and the Flame: il giovane eroe è appena diventato principe di Persia quand'ecco che il perfido Jaffar, a torto considerato morto, torna, e con un incantesimo, e prende le sembianze del regnante ... ancora una volta il principe è costretto a combattere per la sua libertà! Nel 1997 è la volta di The Last Express, avventura grafica ambientata durante l'ultima e travagliata corsa del treno prima dello scoppio della grande guerra. Nel 2001 Jordan entra a far parte della Ubisoft, i suoi primi quattro titolo furono pubblicati dalla Brøderbund, per partecipare al ritorno del suo più grande eroe. E' il 2003 e arriva Prince of Persia: The Sands of Time ... il principe entra nell'era del 3D e lo fa in grande stile con un'avventura ricca di esplorazione, combattimento e risoluzione di enigmi. Il successo è planetario tanto da giustificare due seguiti (Warrior Within e The Two Thrones) e un midquel (The Forgotten Sands).
Nel 2010 Jordan collabora all'adattamento cinematografico di Prince of Persia: The Sands of Time ... il risultato, per quanto mi riguarda, non è malaccio anche se si poteva fare decisamente di meglio anche visto il cast stellare (Jake Gyllenhaal, Gemma Arterton, Ben Kingsley e Alfred Molina mica sono bruscoletti!!!).

Bene, dopo questa piccola retrospettiva sulla carriera, fatta di qualità piuttosto che di quantità, del signor Mechner, vi lascio proponendovi alcuni passaggi del readme che accompagna il codice sorgente (la traduzione è mia ... non fustigatemi!!!)

Alcuni retroscena: questo archivio contiene il codice sorgente originale di Prince of Persia che ho scritto su Apple II, in linguaggio assembly del 6502, tra il 1985-1989. Il gioco è stato rilasciato dalla Broderbund Software nel 1989, ed è ora parte del franchise di Ubisoft.
 ...
Per chi volesse "scavare" nel codice sorgente, ho postato un documento tecnico,  http://jordanmechner.com/wp-content/uploads/1989/10/popsource009.pdf, che dovrebbe essere d'aiuto. Si tratta del pacchetto che ho messo insieme, nell'ottobre del 1989, per agevolare il lavoro dei gruppi che si stavano occupando del porting di Prince of Persia su varie piattaforme come PC/MS-DOS, Amiga, Sega, Genesis, ecc.
Oltre a questo, per favore, non chiedetemi nulla a riguardo del codice, perché proprio non mi ricordo! Ho appeso al muro i miei guantoni di programmatore 6502 nel mese di ottobre 1989 e, dopo due decenni di lavoro principalmente come scrittore, game designer e direttore creativo, dire che le mie capacità di programmazione sono arrugginite è un eufemismo.
Un grazie particolare a Jason Scott e Tony Diaz per essere riusciti a estrarre il codice sorgente da un floppy da 3,5'' di oltre 22 anni fa, un compito che ha richiesto giornata e la nottate di lavoro, e che avrebbe necessitato di molto più tempo se non fosse stato per l'incredibile esperienza di Tony, per la sua perseveranza e per la sua raccolta vintage di hardware Apple.
Abbiamo pubblicato questo codice sorgente sia perché si tratta di un pezzo della storia dei computer, sia perché potrebbero essere di interesse e sia perché, se non lo avessimo fatto, probabilmente sarebbe andato perduto per sempre. Lo abbiamo fatto per divertimento ... non per profitto. Come autore detentore del copyright di questo codice, io non ho alcun problema qualora questo venga studiato e modificato nel tentativo di renderlo funzionate. Vi prego però di capire che questo non costituisce una concessione dei diritti di qualsiasi tipo sul marchio di Prince of Persia, che è proprietà di Ubisoft. Solo Ubisoft ha il diritto di realizzare e distribuire giochi basati su Prince of Persia.
 ...
Quanto a me, è il momento di tornare al mio lavoro di tutti giorni ... fare giochi e inventare nuove storie.
Buon divertimento!
-- Jordan Mechner

 
Karateka - Prince of Persia
 
Prince of Persia 2: The Shadow and the Flame - The Last Express

Prince of Persia: The Sands of Time

Nessun commento:

Posta un commento