 |
| |
 |
| Spingere Intellivision oltre i limiti |
IntellivisionWorld intervista Joe Zbiciak, programmatore dei giochi Space Patrol e 4-Tris, cretore dell'emulatore JzIntv e moderno guru di tutto ciò che concerne lo sviluppo su Intellivision. |
 |
|
|
 |
Intervista di Valter Prette
Sig. Zbiciak, grazie per il suo tempo, qualche parola su di lei: dove vive, qual è il suo lavoro, e qualunque cosa voglia comunicare alla comunità Intellivision.
Attualmente vivo a Dallas, TX metroplex. Sono un ingegnere per Texas Instruments, e lavoro su vari aspetti dell'architettura DSP della CPU. Ho il lavoro che ho sempre sognato, anche se negli ultimi mesi le cose sono state insolitamente frenetiche. Questo significa che il mio lavoro su Intellivision ne ha sofferto un pò. Sto ancora lavorando su progetti Intellivision, anche se più lentamente. Vi illustrerò magiori dettagli tra poco.
Vorrei ringraziarla in modo particolare per tutti gli sforzi spesi per rilanciare l'Intellivision durante l'ultimo decennio. Quando è cominciato tutto? Era un fan di Intellivision fin da piccolo?
Il primo vero videogioco che abbiamo posseduto in famiglia quando ero un bambino era un Intellivision. Dico "reale" per distinguerlo dalle unità tipo Pong che avevamo prima.
Quando ha deciso di iniziare a programmare la console, aveva documentazione tecnica di riferimento? Come è riuscito a studiare l'assembler della console?
Poco tempo dopo essermi laureato al college, ho deciso che volevo provare a scrivere un emulatore e/o un videogioco per uno dei sistemi della mia giovinezza. Intellivision era probabilmente il più grande mistero per me a quel punto. Fino ad allora avevo giocato con pochi altri emulatori, come MAME e così via. C'erano emulatori per la maggior parte dei sistemi. I miei interessi sono stati nei sistemi con i quali ero cresciuto: il TI-99/4A, Apple II, Commodore 64 e Intellivision. Ho avuto emulatori per la TI-99/4A, Apple II e Commodore computer. Non ho trovato invece nulla per Intellivision.
E poi ho trovato i primi prodotti di Intellivision Productions: "Volume 1" e "Volume 2", due emulatori scaricabili contenenti 3 giochi ognuno. Pubblicizzavano una piattaforma di sviluppo Magus 2 pensione e il prossimo CD-ROM Intellivision Lives!. (Più tardi avrei saputo che tutti questi prodotti utilizzavano l'emulatore di Carl's Mueller Jr). Oltre a questo, c'era scarsa documentazione.
Dopo una notevole ricerca, ho trovato il De Re Intellivision di William Moeller, basata sulla documentazione in reverse engineering di Carl, con un semplice kit di sviluppo inserito da Carl. Non posso sottolineare abbastanza quanto sia stato fondamentale il lavoro di Carl per il mio. Ha veramente tracciato il sentiero, e sono arrivato lontano proprio grazie alla qualità del suo lavoro. Willy è stato anche fondamentale nel mettermi in comunicazione con le persone giuste, tra cui Scott Nudds da cui ho ottenuto le prime ROM. Non avrei probabilmente ottenuto nulla così rapidamente se non fosse stato per tutto il lavoro di fondo.
Ho anche trovato il sito DSPLIB (come si chiamava allora) di Frank Palazzolo che includeva le schede, una scansione del "Osborne Book" che descriveva il CP-1600 e il disassembler di Frank. Tutto ciò mi ha aiutato a iniziare.
Ho scaricato i pacchetti di emulatori Volume 1 e Volume 2 e impostato il lavoro. Alla fine sono riuscito a aprire le loro immagini ROM e così via, e a sostituirle con le mie ROM. Da qualche parte ho ancora uno screenshot del mio primo programma Intellivision, dove ho solo sostituito il titolo di una cartuccia con le mie iniziali. Niente di importante, ma era già qualcosa.
Saltando un pò in avanti... è stato da queste premesse che ho iniziato a scrivere il mio emulatore. Ho iniziato dapprima con l'emulazione della CPU, e infine ho iniziato a costruirgli attorno il resto del sistema. Il mio lavoro di emulazione iniziale riguardava DOS e Linux, in quanto il mio obiettivo fin dall'inizio era di avere un emulatore riutilizzabile. Ho utilizzato DJGPP + Allegro sotto DOS, e il porting del sistema X Window Allegro con GCC per lavorare sotto Linux. (Oggi utilizzo SDL al posto di Allegro).
jzIntv ha iniziato a funzionare abbastanza bene tanto da visualizzare caratteri grafici, ma non sprite. L'emulazione della CPU era abbastanza completa, così come l'audio. La grafica avrebbe atteso ancora un pò. Ho concentrato la mia attenzione sullo sviluppo di giochi, e ho iniziato a focalizzarmi sul "Frankenstein assembler" per il CP-1600 (di pubblico dominio) di Mark Zenier. Nel frattempo, sono apparsi altri autori di emulatori. Hanno preso la documentazione di Carl, come pure la mia documentazione che si riferiva a Carl e Willy, e sono riusciti a scrivere emulatori completi mentre io ero concentrato a sviluppare tool per i giochi. Ecco come è nato SDK-1600.
Da quando ho iniziato jzIntv, siamo passati dall'avere solo INTVPC (l'emulatore di Carl) all'avere diverse alternative... Bliss di Kyle Davis, Nostalgia di Joe Fisher, IntvWin / IntvDOS di John Dullea... E' stata proprio la rinascita dell'emulazione e sviluppo su Intellivision. Così, con tutte queste alternative, ho preso una pausa dall'emulatore jzIntv per concentrarmi sullo sviluppo di giochi. JzIntv era sufficientemente buono per i miei scopi, anche se il supporto alla grafica era incompleto. Ho reindirizzato su Intellivision il Frankenstein assembler, e iniziato a scrivere i miei primi nuovi programmi. Ecco da dove arrivano tutti i miei primi demo - Bouncing Pixels, Maze Demo, ecc. Questo è anche ciò che ho usato per iniziare a scrivere il primo gioco homebrew, 4-Tris.
Dopo un pò di tempo, è apparso evidente che non sarei riuscito a tornare a jzIntv molto presto. Così ho raccolto tutta la mia libreria di routine, as1600, e così via, e li ho rilasciati come SDK-1600. Sarebbero passati un paio d'anni prima che rilasciassi una versione aggiornata di jzIntv.
|
 |
C'è qualcosa che desidera farci sapere sul pacchetto JZintv (nuove release, la collaborazione con altri sviluppatori, ecc.)?
jzIntv sta per essere rilasciato nella versione 1.0. Ha visto un certo numero di aggiornamenti, tra cui il supporto per formati wide-screen, miglioramenti nella portabilità verso più sistemi operativi e piattaforme (incluso il portatile GP2X), miglioramenti significativi al debugger (che aiuta nella scrittura di giochi), e così via. Molti di questi miglioramenti sono arrivati dopo la versione "Beta 3". Sento proprio la necessità di farla uscire.
jzIntv ha visto contributi da una vasta gamma di persone, inclusi ma non limitati a: Tim Lindner, John Tanner, Rick Reynolds, Pedro Giffuni, Joe Fisher, Frank Palazzolo e Carl Mueller Jr.
Parliamo delle cartucce hardware. Qual è la soluzione adottata per realizzare delle vere nuove cartucce?
Per l'attuale release delle cartucce che sono in giro attualmente, Chad Schell ha progettato per me una semplice ed efficace cartuccia basata su EPROM. Questo è il design che ho usato per pubblicare 4-Tris quasi un decennio fa, e si è rivelato molto utile fino all'uscita più recente, Space Patrol. Nonostante sia un progetto robusto, semplice, efficace e relativamente a basso costo, non è privo di difetti. In particolare, non contiene alcuna disposizione per la programmazione su circuito, il che significa che è necessario decidere in anticipo quante copie di ciascun titolo pubblicare prima di inviare tutto in produzione.
Per i prossimi titoli, ho progettato una nuova scheda che utilizza menocomponenti e permette la programmazione su circuito. Ciò significa che possiamo costruire schede prima che il gioco sia stato completato (o anche scritto, se è per questo). L'inarrestabile marcia della tecnologia è ciò che ha reso possibile tutto ciò ad un prezzo abbordabile, rispettoa quando ho completato il precedente progetto, quasi un decennio fa.
Questa nuova cartuccia e la sua piattaforma di test sono stati entrambi disegnati da me. (La piattaforma di test è una semplice breakout board con alcuni connettori extra. E' anche incredibilmente bella con quei distanziatori e piedini). Voglio ringraziare Chad Schell per il suo aiuto e la sua guida attraverso il processo di utilizzo dei diversi strumenti di sviluppo PCB e così via, in modo che io potessi creare questo design da solo. E' stato un'incredibile risorsa sul lato hardware delle cose. Inoltre, lavorando con lui mentre sviluppava la Intellicart mi ha insegnato molto sull'hardware Intellivision.
Queste nuove cartucce sono costruite e assemblate in modo professionale con componenti tutti nuovi.
Altri motivi per il nuovo design includono il supporto per giochi più grandi (ROM fino a 240K bytes - in precedenza eravamo limitati a 32Kbytes), RAM aggiuntiva per giochi più complessi, componenti più facilmente disponibili, e così via.
Quanto tempo richiede il processo di produzione? Quanto tempo è necessario per realizzare una nuova cartuccia?
Costruire una scheda senza alcun gioco sopra non richiede molto tempo. Dipende alla fine da quanto vuoi spendere. Scrivere i giochi sulle schede non richiede molto - un paio di minuti per scheda. Nel complesso, la parte "fisica" di un gioco (scatole, manuali, overlay, PCB, etichette) richiedono una manciata di mesi, dall'inizio alla fine, soggetti ovviamente a ritardi di spedizione, disponibilità di materiale, ecc. (ad esempio una volta ho avuto un lotto di spedizione bloccato alla dogana degli Stati Uniti per 6 settimane. Come potevo prevedere una cosasimile?).
Ciò che occupa veramente tempo è la scrittura, il test e il debug del gioco stesso. David Harley ha trascorso innumerevoli ore a perfezionare e rifinire i livelli di Space Patrol, mentre io cercavo 20 cicli qui, 15 cicli là, il problema sui 2 frame di animazione, ecc. Abbiamo speso facilmente 3 o più mesi interi solo per rifinire un gioco già completato.
Tuttavia, vedendo il risultato ne è valsa la pena. Penso che Space Patrol rappresenti un nuovo punto di riferimento per i giochi Intellivision, raggiunto principalmente grazie ai grandi sforzi di Arnauld Chevallier:-) I suoi giochi mostrano una genialità per la presentazione a cui io posso solo aspirare. Per quanto ne so, vi è solo un vero e proprio bug nella versione finale di Space Patrol. Vi sfido a trovarlo. ;-)
Qualcuno ha considerato la possibilità di stampare i gusci di nuove cartucce nei paesi asiatici, ma i costi sono piuttosto scoraggianti. Ci sono nuove cartucce disponibili per Atari VCS, ha mai provato ad adattarle per l'uso con Intellivision? Qual è il problema?
Ho preso in considerazione questa ipotesi un paio di volte. I gusci del VCS non sono realmente adeguati per Intellivision. Alcuni gusci per Commodore 64 potrebbero adattarsi a Intellivision. (In realtà, se si vuole distruggere un Intellivision, è sufficiente inserire una cartuccia per Commodore 64 e accenderlo. Brucerete l'alimentatore dell'Intellivision, in quanto la cartuccia del C64 agirà sul +5 e sul GND). Ho chiesto a una fonte di cartucce per C64 di vedere se potevano essere usate su Intellivision, ma purtroppo erano troppo lunghe.
L'Intellivison ha una delle cartucce più piccole in circolazione, il che rende difficile adattare le cartucce di altri sistemi su Intellivision.
E' diventato famoso all'interno della retro community per il gioco Intellivision 4-Tris. Da allora, abbiamo visto Space Patrol e il lanciodella retrocompany Left Turn Only. Qual è la situazione in questo momento? Avete nuovi progetti in corso?
Sì! Io e Arnauld abbiamo un paio di progetti in cantiere. Avevo sperato di pubblicare qualcosa l'anno scorso, ma la crisi economica si è tradotta in orari frenetici al lavoro, in quanto c'è più lavoro da fare, ma nessuna possibilità di assumere nuovi dipendenti.
Parliamo del concorso di programmazione proposto dal suo sito web. C'è stato qualche risultato? Avete ricevuto qualche progetto che si possa condividere con la community?
Sì, ho ricevuto alcune proposte. Ho un week end lungo in arrivo, e dovrei finalmente riuscire a pubblicare i risultati. Sono stato così impegnato ultimamente che mi continua a sfuggire.
Qual è il suo parere sul futuro di Intellivision? Non vediamo molti nuovi siti web dedicati...
Credo ci sia una comunità piuttosto stabile di veri fan Intellivision. Intellivision è sempre stato un sistema di nicchia rispetto al VCS, e così non avrà mai un pubblico ampio. Tuttavia il pubblico che ha sembra abbastanza fedele. Dubito che vedremo un sacco di nuovi siti, quando i siti attuali sono sufficienti a coprire tutte le esigenze.
Qual è il suo parere sul mercato del retrogaming: ci sono un sacco di progetti per Atari VCS e Vectrex. Numerose convention in tutto il mondo. Secondo lei questa è vera e propria passione o semplicemente un'opportunità di business?
Per me, è un interessante hobby. Sento di riempire un vuoto di nicchia, da quando mi sono indirizzato allo sviluppo Homebrew di Intellivision. Sembra che ci siano due facce del fenomeno del retrogaming: i programmatori e i giocatori / collezionisti. C'è una certa sovrapposizione in alcuni casi, ma ogni gruppo ha caratteristiche distinte.
I programmatori più impegnati sembrano essere all'altezza della sfida di programmazione per sistemi complessi come il VCS e la Vectrex. Entrambi i sistemi presentano sfide uniche che non si trovano su altri sistemi. Intellivision è, al confronto, un sistema molto più semplice e diretto da programmare. Nell'Atari VCS, devi letteralmente inseguire il raster scan calcolando i microscondi tra una visualizzazione e l'altra. E' ancora più difficile nel Vectrex: controlli direttamente il raggio catodico! In entrambi i sistemi, la complessità e la reputazione attraggono tutte le tipologie di persone, compresi i nuovi programmatori che sono nati molto tempo dopo che il sistema è stato considerato "defunto". (In una recentevisita al mio College, uno dei miei professori mi ha parlato di un recente laureato che aveva emulato il 2600 su un FPGA per il suo progetto di laurea. Se ho fatto bene i miei calcoli, egli è nato 2 o 3 anni dopo il Big Crash del 1983.)
L'Intellivision è relativamente addomesticabile, o almeno questa è la sua reputazione. Hai un buon buffer logico implementato in maniera hardware, sprite gestiti dall'hardware con sistemi di rilevamento di collisione hardware, un set di caratteri incluso... E' abbastanza semplice rispetto all'Atari VCS. E così via, forse è visto come meno "sexy" da programmare. Non so. Certamente non richiama l'immaginario del "programmatore macho" che invece possiede il VCS, anche se Intellivision possiede proprie sfide e limitazioni.
Dall'altra parte abbiamo le persone che amano semplicemente giocare, o collezionare giochi. Hanno una passione tutta loro, e c'è un elemento nostalgico molto forte. Chi non è cresciuto con Intellivision, è improbabile che inizi ad apprezzarlo ora. In questo aspetto di gioco /collezionismo, credo che la comunità Intellivision sia abbastanza stabile e veramente innamorata del sistema, ma non necessariamente di grandi dimensioni.
Dato che l'Intellivision originale ha vendito circa 3 milioni di unità, è probabile che ci siano circa 6 milioni di persone che lo ricordano abbastanza bene e che possono essere interessati a quella che chiamo "nostalgia chiavi in mano". Questo è il mercato in cui opera Intellivision Productions. Le persone in questo mercato sono felici di pagare una piccola somma di denaro per un'esperienza di gioco "nostalgico", ma per il resto non sono particolarmente coinvolte emotivamente o intellettualmente nella piattaforma. Immagino sia questo il mercato a cui ti riferisci nella domanda.
La mia attenzione si concentra sugli altri programmatori e sul nucleo dedicato di collezionisti e giocatori. Per me non non si tratta di opportunità di business. Si tratta invece di perseguire un hobby che porta un sorriso sui volti delle persone, mentre metto a dura prova le mie abilità di ingegnere.
C'è qualche possibilità di vedere un libro di programmazione per Intellivision scritto da J. Zbiciak?
Per quanto mi piacerebbe scrivere un libro di questo genere, sembra improbabile che ne valga la pena. Se devo scegliere tra scrivere un libro e scrivere un gioco, sono attualmente più propenso a impiegare il mio tempo scrivendo un gioco. |
|
|
|
 |
 |
 |
 |
|
 |