My Little Monster: un Tamagotchi da sito, volutamente inutile

FONTE: Matteo Bononi

REC ● LOG

Una mascotte pixel-art con testa a televisore arancione salta tra due pannelli di una pagina web, verso un biscotto.

In breve: ho costruito una mascotte pixel-art che gira per le pagine, ha fame, si arrabbia e si ricorda come ti chiami. Si chiama My Little Monster. L’ho sviluppata con l’aiuto dell’IA, ma il mostro funziona da solo, con JavaScript e memoria nel browser.

Ho trovato un configuratore di piccoli mostri online. Ci ho giochicchiato un po’ e mi è venuto in mente un Tamagotchi da sito.

Ma inutile 😀

Il configuratore è Pixel Art Sprite Mixer di KingBell: componi un personaggio ed esporti un foglio con le sue animazioni. Corsa, salto, riposo, un sacco di movimenti già pronti. E io guardavo questi piccoli mostri pensando che sarebbe stato carino farne girare uno sopra i titoli, sulle card, in mezzo a una pagina.

La prima richiesta all’agente era abbastanza chiara: «Clippy? Ma più simpatico, meno aiutante, molto decorativo».

Mi interessava che avesse qualcosa da fare anche quando nessuno lo toccava. Che si spostasse, si fermasse, ogni tanto dicesse una cosa. Un piccolo abitante del sito, con tutto lo spazio per perdere tempo che a noi sembra mancare sempre.

Poi gli viene fame

My Little Monster usa gli elementi della pagina come appoggi. Il titolo diventa una piattaforma, una card un posto dove saltare. Se lo clicchi puoi dargli da mangiare, coccolarlo, provocarlo o portarlo a spasso.

E da lì il progetto si è allargato.

Nel changelog c’è proprio il giro: prima la memoria del nome, poi fame, energia e affetto, poi l’umore che cambia il modo in cui si muove e reagisce. Più avanti sono arrivate le passeggiate interattive e le piccole sfide.

Una cosa funzionava, ci giocavi, e veniva voglia di aggiungerne un’altra. Che è un modo piacevole di costruire qualcosa, ma anche un ottimo sistema per non finirlo mai.

Sul mio blog ho raccontato come ci ho lavorato dal telefono: scrivevo cosa volevo, l’agente lavorava sul computer, io guardavo il risultato. Deploy compreso.

Per un giocattolo del genere questa possibilità cambia parecchio il giro. Puoi provare una cosa prima di aver deciso dove andrà a finire. La vedi muoversi e capisci se vuoi continuare, modificarla, oppure se quella che sembrava una bella idea è solo un coso che ti copre il testo.

Succede anche quello. Il mostro abita il sito, ma qualcuno sul sito magari voleva leggere.

Quando un numero diventa un carattere

Sotto ci sono valori di umore, sazietà, energia. Li modifichi con le interazioni, e il programma sceglie movimenti, pose e battute di conseguenza.

Però noi vediamo un mostriciattolo che si offende.

È buffo quanto poco basti per fare questo passaggio: due occhi, una reazione al momento giusto, qualcosa che rimane dalla visita precedente. Sai benissimo che è codice, e intanto gli offri un biscotto.

Non ne ricaverei una teoria su cosa sia vivo o intelligente. Mi basta osservare che possiamo dare un carattere a qualcosa sapendo come funziona. Il meccanismo resta lì, visibile, e il gioco funziona lo stesso.

Tra l’altro, se te ne dimentichi non muore. Puoi sparire e tornare senza trovare il conto delle cure che non gli hai dato. Mi piaceva un Tamagotchi con questa libertà: lo lasci lì quando hai altro da fare.

E l’IA dove sta?

Ha aiutato a costruirlo. Nel mostro che gira sulla pagina ci sono JavaScript, sprite, frasi e regole locali. Nello script pubblico verificato per questo articolo non ci sono chiamate a modelli IA.

Il nome e lo stato stanno nel localStorage del sito che lo ospita, cioè nel browser. Se lo incontri su un altro dominio non ti riconosce: quella memoria resta separata.

Questa distinzione mi sembra utile. Con l’IA puoi costruire anche una cosa che, una volta pronta, funziona per conto proprio. In questo caso basta un piccolo programma per far saltare un mostro su una card e dargli una battuta da dire. Chiamare un modello a ogni salto sarebbe un modo piuttosto costoso di farlo arrivare dall’altra parte.

Il progetto è ancora in alpha. Se vuoi incontrarlo, nella demo trovi il mostro e il configuratore per portarlo sul tuo sito. E se vuoi creare i tuoi personaggi, passa dal mixer di KingBell, che ha fatto partire tutto.

Per adesso puoi offrirgli una pizza e vedere come va. Non credo che avesse chiesto molto altro.