Breakout in BASIC per Apple II
Steve Wozniak, già autore della versione arcade di Breakout per Atari, racconta lo sviluppo della versione in BASIC per Apple II. Woz realizza autonomamente l'hardware, l'interprete BASIC e il software che riproduce il gioco
Dopo aver presentato l'AppleI alla fiera di Atlanta, un altro momento veramente elettrizzante fu quando riuscii a realizzare sul prototipo dell'Apple II una versione funzionante di Breakout, il videogioco che avevo sviluppato per l'Atari.
Avevo aggiunto al BASIC diverse funzionalità, tanto che potevo riconoscere i segnali inviati dal joystick, potevo gestire il sonoro come volevo ed ero in grado di visualizzare la grafica a colori sul video. Ero pronto. Un giorno mi misi a sedere con questa scheda, con i chip distribuiti sul lato superiore e con piccoli fili rossi i blu saldati sul lato inferiore, collegai l'alimentatore con qualche altro filo e infine collegai il tutto al mio TV color.
Iniziai a digitare i comandi in BASIC per ottenere una fila di mattoni — proprio come quelli del videogioco arcade — e funzionò! Avevo una fila di mattoni. Giocai con diverse combinazioni di colori finchè ottenni una fila di mattoni che mi piaceva. Ne disegnai otto file sovrapposte. Oltre ai colori, impostai la giusta spaziatura fra i mattoni per dargli un aspetto più realistico. Anche le file sfalsate. E poi iniziai a programmare il paddle (una specie di joystick con una manopola che controlla il movimento lungo un asse).
Facevo muovere la barra sullo schermo a destra e a sinistra agendo sulla manopola. Quindi ho aggiunto la palla. Iniziai dandogli il movimento, poi impostai come si doveva comportare la palla quando colpiva i mattoni, del modo in cui dovevano scomparire i mattoni e come doveva rimbalzare e cambiare direzione verticalmente e orizzontalmente. Poi giocai contemporaneamente con tutti questi parametri, impiegandoci solo qualche ora.
Provai decine e decine di differenti combinazioni finchè riuscii ad ottenere il gioco di Breakout completamente funzionante sull'Apple II, completo di punteggio e tutto il resto. Chiamai Steve Jobs per fargli vedere il mio lavoro. Non riuscivo a credere a ciò che ero stato capace di fare, era stupefacente. Lo feci sedere e gli mostrai il gioco, e poi gli dissi “Guarda qua”. E aggiunsi un paio di comandi BASIC che fecero cambiare il colore della barra, dei mattoni e la posizione del punteggio.
“Se avessi voluto fare quelle modifiche in hardware, nel modo in cui erano fatte di solito, saldando chip e componenti discreti, ci avrei impiegato giorni. Ora che i giochi possono essere realizzati via software, tutto il mondo è destinato a cambiare”.
Quello fu un momento chiave. I videogiochi programmati in questo modo — software eseguiti su un vero computer — sarebbero diventati in breve tempo incredibilmente più avanzati rispetto a quelli sviluppati in hardware, che all'epoca costituivano la quasi totalità dei sistemi arcade.
Oggi i videogiochi hanno un aspetto fotorealistico, le librerie grafiche hanno raggiunto un livello tale di complessità che quelle prime implementazioni degli anni '70 sembrano distanti anni luce.
Pensai che nessuno all'Homebrew Club avrebbe mai creduto che quella versione di Breakout fosse scritta in BASIC. Era il primo al mondo. Infilai anche un piccolo trucco nel mio Breakout per Apple II. Se premevi CTRL e Z sulla tastiera, il gioco entrava in una modalità in cui la barra continuava a muoversi senza mai più mancare la palla...
Era una bella caratteristica. Faceva credere a chi giocava di essere particolarmente bravo e fortunato nel riuscire sempre a colpire la palla. La barra continuava a rispondere ai comandi ed era quasi impossibile accorgersi del trucco perchè il giocatore pensava comunque di aver impartito i movimenti giusti per far rimbalzare la palla.
Un giorno, conclusa la riunione all'Homebrew, ero insieme a John Draper (noto come Captain Crunch famoso per le blue box), e John non aveva mai giocato ad un videogame prima di allora. Gli dissi, “Dai, prova questo”. Gli spiegai come usare il paddle per far muovere la barra di qua e di là. Lui si sedette e si mise a giocare. Tutti i presenti nella sala rimasero a guardarlo per quasi un quarto d'ora. La palla si muoveva veloce e lui, anche se non sapeva bene come, continuava a colpirla. La gente pensava che fosse un videogiocatore di classe sopraffina e tutti gli fecero i complimenti.
Non penso che Captain Crunch scoprì mai lo scherzo che gli avevo tirato.