Sono sempre stato quel bambino ingegnere. Alcuni dei miei primi ricordi sono di quando pasticciavo con batterie e lampadine, usando i Lego per fare cose come una finta macchina fotografica e altre cose tecnologiche. Amavo i set chimici prima ancora che i miei genitori mi permettessero di averne uno.
L'informatica era una linea secondaria per me, piuttosto che una 'passione' principale o qualcosa del genere.
All'età di 11 anni circa, mi divertivo a usare una cinepresa 8mm per fare animazioni in argilla. Non ero molto bravo, ma era divertente vedere i film risultanti una volta sviluppati.
Era più o meno lo stesso periodo in cui Space Invaders arrivò nel Regno Unito come macchina a gettoni. Ricordo quanto fosse eccitante. Mi piaceva l'idea. Quello che mi colpì - già allora - fu che si trattava ovviamente di un film d'animazione, ma in cui si poteva cambiare la storia.
Potevi diventare parte di un film d'animazione.
Volevo realizzarlo. Proprio come volevo costruire la mia radio AM con pezzi di elettronica.
Questo significava che dovevo capire come farlo.
All'epoca l'informatica domestica stava prendendo piede anche nel Regno Unito. Si vendevano computer piccoli ed economici come il Sinclair ZX81 e Spectrum, UK-101, Acorn Atom e altri. Questo era quando un Apple 1 era una cosa economica, non un oggetto da collezione follemente costoso.
Così andavo in giro a scuola con persone che avevano questi home computer e parlavo di scrivere semplici giochi. Era come l'animazione. Con un po' di semplice matematica come quella che stavo imparando a scuola. La grafica aveva forme definite da numeri e poteva essere disegnata su una griglia di coordinate. Cambiavi quelle coordinate, ridisegnavi e ottenevi l'animazione.
Era la stessa cosa che facevo con i film: spostavi un modello di creta, facevi due singoli fotogrammi con la telecamera, lo spostavi di nuovo.
Così imparai a farlo prima con il linguaggio BASIC, poi con il molto più veloce linguaggio assembler Z80, imparando lungo la strada la grafica mappata in memoria, gli interrupt del timer, la generazione del suono.
Sono passati un paio d'anni prima che facessi i miei primi giochi 2D decenti in linguaggio assembly. Avrò avuto circa 14 anni all'epoca. La qualità del codice era "beh, almeno funziona". Sapevo così poco, ma usavo quel poco che sapevo per ottenere buoni risultati.
Racconto la storia con un po' più di dettagli sul mio blog. Ci sono alcune belle foto della mia macchina fotografica e del computer. Ho ancora la macchina fotografica mentre li colleziono!
Il pezzo di codice che mi ha davvero fatto iniziare | View from the Code FaceNon capita tutti i giorni di aprire il "cassetto della scrivania delle cose da buttare", e ricevere un promemoria ...https://www.viewfromthecodeface.com/piece-code-really-got-started/