VITA ARTIFICIALE dentro il 128S !

di proteus075

Una “colonia” artificiale dopo 15 generazioni in meno di un minuto.

Nel 1997 avevo visto sui canali satellitari un interessante documentario che trattava di un argomento affascinante che dai tempi dell’università mi faceva riflettere mentre studiavo la noiosa microbiologia. Le forme di vita per essere definite tali devono per forza avere due gambe o due braccia, correre o nuotare? Un approccio straordinariamente fuori dal comune veniva studiato dal Dott. CHRIS ADAMI del CALTEC California Institute of Technology.

Il Dott. CHRIS ADAMI nel 1997.

In pratica aveva messo a punto un programmino che girava su un computer facendo proliferare delle faccine secondo delle regole semplici ma precise. Avevo provato in basic a costruire un programma che in parte è andato perso, ma per quanto mi sforzassi di renderlo veloce non riuscivo a ottenere un risultato grafico accettabile, era troppo lento ! Non avevo nessuno con cui confrontarmi e non c’era un forum su internet per queste cose, quindi accantonai l’idea e utilizzai il programma AVIDA qualche volta su un moderno COMPAQ PC windows 98 (di allora).

Uno scatto del programma AVIDA mentre è in funzione su un portatile con WINDOWS.

Trascorsi 20 anni da quel tentativo vanificato dalla “scarsa” potenza del piccolo 128S, per caso sono entrato in possesso di una Enciclopedia INPUT completa degli anni 80. A pagina 1249 del volume 5 c’è un intera sezione dedicata all’argomento della vita artificiale per diversi computer, tra i quali fortunatamente compare la ghianda della ACORN !

Il listato tratto dal libro INPUT.
Lo stesso listato riportato sul 128S

Ovviamente si tratta del 128S e nulla và liscio come l’olio, abbiamo dovuto sudare un pochino interpellando le “menti illuminate” del nostro gruppo per andare a caccia dell’errore nelle istruzioni, che vi sarete resi conto, essere in linguaggio assembly. Ecco la chiave, il linguaggio macchina, rende possibile ad una velocità accettabile il risultato grafico che non sono riuscito ad ottenere nel 1997. Infatti, per chi non lo sapesse, anche nel manuale utente veniva spiegato che il l.m. è molto più veloce del BASIC. Se avete voglia di approfondire la cosa ci sono degli esempi, andate a vedere a pagina 102 e 103. Ed ecco alla fine di tanto lavoro il programma pronto all’uso per il PC128S di una colonia di vita artificiale, per chi volesse utilizzarlo sul GOTEK o con emulatore è possibile scaricarlo a questo link. Le regole sono semplici e facilmente ritoccabili, è possibile cambiare le impostazioni nel listato del programma e rendere le colonie più docili o aggressive per esempio.

Istruzioni: Usare come cursori i tasti “Z X P L” sinistra destra su e giu , SPAZIO per mettere la colonia e RETURN per avviare la colonizzazione. Suggerisco di aggiungere molte colonie ad anello chiuso, attendere la fine dei cicli generazionali, una volta avviato non è possibile interrompere. Il successo dipende da vari fattori ed il risultato non è sempre uguale, è il caos della vita !

La pagina del programma LIFE

Solo recentemente mi sono imbattuto in un articolo che ha attirato la mia attenzione dato che il disegno appeso alla parete affianco al 128S era stranamente similare a quello visto sulla copertina di una rivista pubblicata in u.k. : BBC MICRO USER MAGAZINE vol. 1 n. 10 del marzo 1983.

Copertina della rivista BEEBUG.

Se prestate attenzione scorrendo l’elenco in alto a destra a pagina 35 parla di un programmino in BASIC che si chiama LIFE.

Una parte del listato del programma LIFE

Ho avuto un attimo di sconforto perchè il programma era notevolmente più lungo e complesso da digitare, però fortunatamente ricordai che qualche anno prima avevo visto su un sito le stesse immagini ed ho pensato che probabilmente questi listati erano già stati tutti scritti e conservati. Infatti è così, sono anche disponibili online direttamente su emulatore a questo link. In mezzo a migliaia di programmi sarebbe stato come cercare un ago in un paiaio, ma fortunatamente possedevo un DVD della acornelectron che mi ha portato direttamente al floppy contenente questo e tutti i programmi della rivista. Rispetto alla versione dell’enciclopedia INPUT è certamente più spartana. La descrizione del funzionamento e la teoria con i cenni storici, descritti nella rivista, rendono l’argomento molto istruttivo.

Il listato LIFE già scritto compatibile 128S
Il programma in BASIC sul 128S in azione

Aggiornamento del 9/12/23 : Per caso oggi ho trovato in rete alcuni floppy creati a metà degli anni ’80 per il BBC Master il model B etc. (il 128S / Master Compact non erano ancora nati). Ho confermato che già all’epoca questi programmi erano noti e per scopo didattico erano stati scritti in BASIC. Tra gli altri ho trovato alcuni programmi che simulano sempre graficamente la crescita in vitro di microrganismi, il floppy si chiama : JGH023 : Automata: Game of Life, Grass-eating Bugs, Biomorphs.

programma LIFE

info : proteus075@gmail.com