10 dicembre 1993. Una data storica per il mondo dei videogiochi: arrivò Doom per MS-DOS, uno dei primi esempi del genere FPS (First Person Shooter). William Shiple, all’epoca il giovane fondatore di Omnigroup, ricorda che id Software voleva eseguire il porting su NeXTSTEP e si mise in contatto con gli sviluppatori per partecipare al progetto.
Shiple ha conservato la mail e, per farla breve, dopo mesi di suppliche riuscì a firmare un accordo di non divulgazione e ottenere una copia molto preliminare del gioco che doveva usare per segnalare bug e malfunzionamenti. A dicembre del 1993 id Software disponeva di una release alpha pubblica per Doom su NeXTSTEP, ancora prima della versione per MS-DOS. A detta di Shiple il gioco ebbe una grande influenza sulle vendite del sistema operativo della casa fondata da Jobs, spingendo molti ad acquistare il NeXTcube.
L’anno successivo, Shiple scambiò molte mail con John Carmack e in una di queste si offrì di eseguire gratuitamente il porting in versione nativa per NeXTSTEP (la release prima rilasciata funzionava in una sorta di layer che emulava i PC). Carmack rispose a suo modo, allegando un file compresso con il codice sorgente di Doom, senza scrivere altro. Un paio di ore dopo, scrisse un messaggio pregandolo di non diffondere per nessun motivo il sorgente poiché “I ragazzi del business erano preoccupati per quanto aveva fatto”; “non farlo o sarò costretto a citarti in giudizio fino all’oblio”.
In un modo o nell’altro, Shiple diventò la persona che eseguì il porting di Doom e Doom 2 su NeXTSTEP e negli anni seguenti Carmack convinse i “business guys” che rilasciare il sorgente fosse cosa buona e giusta. Una lezione che Shiple ricorda bene tutte le volte che deve firmare contratti di non divulgazione o simili. “Le persone più intelligenti del mondo non sono protettive con le loro creazioni, sanno che possono fare sempre di più e sanno che la vita non è un solo una questione di perdite e guadagni”.
Wil Shipley racconta peculiarità di Carmack che ne fanno un programmatore assolutamente unico: scrive tutto da zero, non usa librerie esterne anche per le funzioni più comuni. Ha i suoi piani in testa sin dall’inizio e il suo modo di scrivere codice è molto facile da comprendere. Tutto è a prova di logica, ridotto al minimo indispensabile.
Ogni suo nuovo “motore” spiega ancora Shipley, nasce da zero e non si mette a rimaneggiare cose già fatte. Shipley arriva a definire Carmack “un animale del codice”: come un’ape è capace di costruire un alveare, lui ha in testa il progetto completo di ciò che ha bisogno e vuole ottenere. “Una volta chiesi a Carmack perché scrivesse tutto da zero e non usasse librerie già pronte per le funzioni più comuni” dice Shipley e questo rispose: “Beh… mi pare che il mio metodo funzioni abbastanza bene”. “Non ho più osato suggerirgli niente” continua Shipley.
“Una volta venne a trovarci nel nostro ufficio (una vecchia casa)” prosegue il fondatore di Omnigroup, e mostrò il suo nuovo engine denominato “Quake” con un livello di Doom e alcune texture semi-random. Era il primo motore grafico realmente tridimensionale che permetteva architetture dei livelli prima impossibili: sembrava di giocare su una Silicon Graphics da 10.000 dollari all’epoca se non fosse che era avviato su un normale PC senza scheda grafiche dedicate. “Rimanemmo impressionati. Sapevamo di aver visto il futuro dei giochi”.
Carmack recentemente ha lasciato id Software e ora lavora a tempo pieno per Oculus, società che ha creato il visore di realtà virtuale Oculus Rift. Shiple non ha dubbi: “Se c’è qualcuno che può portare la realtà virtuale alle masse, questo è John Carmack”.