[zxspectrum] Re: AI Tic Tac Toe ...finalmente!!!

Il giorno 27/gen/05, alle 09:52, Marcello Zaniboni ha scritto:

Ciao a tutti!
Ebbene sì, dopo mesi di sviluppo frammentato, discontinuo e penoso, sono
orgoglioso di annunciare il rilascio della primissima versione del mio
Tris che impara dai propri errori.

http://www.geocities.com/marcellozaniboni/zxaittt/

La grafica è penosa e monocromatica, l'apprendimento è lento, ma sembra
funzionare.
Rimangono ancora tantissime cose da fare:
- gestione delle simmetrie nell'apprendimento
- migliorare il refresh della "scacchiera"
- gestire la grafica policromatica (come si fa con z88dk???)
- pulire il codice e fare il rilascio opensource
- ...mille altre cosette

Se volete testarlo, provate a ripetere una sequenza di mosse vincenti (ad
esempio 2, 5, 8 oppure se iniziate per primi 1, 5, 9) e vedrete che man
mano che il computer perde le partite, tenta di fare mosse "meno perdenti"
di quelle che aveva scelto precedentemente...


Con le dovute proporzioni, il gioco mi ricorda Life, e comunque ha avuto su di me lo stesso effetto calamitante!
In effetti la cosa affascinante e' proprio vedere la macchina apprendere. :) Mi sono scoperto a pensare "bravo!" o "ma che deficente!" Al contrario dei normali giochi, provo soddisfazione quando non vinco.

Sui suggerimenti, mi associo alle considerazioni di EMG, in piu' , se possibile, aggiungerei l'opzione di far giocare il computer contro se stesso
"Do you want to play chess, Professor Falken " :D

Che dire, non mi dispiacerebbe che ci fossero contributi da parte della
comunità, specialmente per la parte di grafica: 4krace è stato un
capolavoro, mentre AITTT è un programma molto meno entusiasmante e
giocabile, però un tocco artistico non guasterebbe :-)

Secondo me la grafica old style e' parte del suo fascino, personalmente lavorerei sul contorno, tipo:

http://homepage.mac.com/tsuriki/attt.gif

(ancora da rifinire un poco, ma con border 0 fa una discreta scena!)

L'idea di base e' venuta dalla libera associazione di idee: intelligenza artificiale, ho pensato al MIT, ai tempi dei PDP...allora ho inserito idealmente il gioco in un PDP-11 collegato al mitico terminale VT100.

Il limite e' che la grafica occupa la maggior parte dello schermo e dovresti gestire il gioco entro una finestra di 135 X 56 pixel. Il grosso vantaggio e' che una volta caricata la schermata non dovresti piu' preoccuparti di gestire sprite e menate del genere, e quindi piu' memoria a disposizione per l'AI. Inoltre la grafica piu' "spartana" del gioco viene esaltata dal contesto "storico". Potresti anche sostituire il disco con una X, che fa tanto "war games" ma vedi tu.

Un'ulteriore abbellimento possibile e' durante il "thinking" muovere dei led rossi e verdi nella parte destra in alto (adesso sono un po' grezzi comunque rendono l'idea). il disegno e' gia' predisposto con gli ATTR al punto giusto su 6 caselle. basta buttarci sopra un pixel con l'attributo giusto e il color clash fara' il lavoro per noi (Perdonami se "penso" in basic, ma credo che il ragionamento si possa tradurre convenientemente in altri linguaggi), ovvero: un plot con ink 2 dove c'e' ink 4 cambiera' da verde a rosso, un plot con ink 0 spegnera' il led, un plot con ink 4 lo riaccendera' in verde. fatto sulle sei caselle dara' l'illusione della macchina che elabora.

Se avessi bisogno di piu' spazio per scrivere, possiamo pensare ad un "fumetto" che viene dal PDP11 come si vede in questo esempio:

http://homepage.mac.com/tsuriki/attt2.gif

E' una soluzione surreale, ma abbastanza ironica. Almeno: io trovo buffo il fumetto che esce dal computer, il PDP che parla all'utente "scalda" un po' l'atmosfera. Il baloon e' costituito da due UDG che fanno la coda, da una serie di spazi bianchi che passano da bright 0 a bright 1 e da cinque draw. Inoltre hai il vantaggio di occupare una parte del disegno dove non c'e' niente e che quindi puoi ricostruire facilmente andando sopra il baloon con una serie di "bianchi bright 0" , la coda del baloon e' su nero e quindi si puo' cancellare senza problema

Trovo molto divertente lo spectrum che fa finta di essere un PDP11 in un programma di AI, poi magari e' un'idea che piace solo a me e pace, pero' volevo darti il mio contributo velocemente perche' se ti convince dovrai tener conto dello schermo per la prossima versione di AITTT.

Ciao!

Lucky

Other related posts: