Gioco AI Town: cos'è e come avviarlo

Il gioco AI Town di a16z e Convex: cos'è, il documento Stanford Smallville che lo ha ispirato, come giocare alla demo o avviarlo da soli, e quanto costa.

AI Town è una piccola città in pixel art dove personaggi AI vivono, chiacchierano e fanno amicizia da soli. Tu per lo più osservi. È anche un codice open-source gratuito che gli sviluppatori copiano e modificano per creare il proprio gioco AI town.

Il README di GitHub lo definisce “un kit di partenza distribuibile per costruire e personalizzare facilmente la tua versione di AI town.” Quindi AI Town è due cose. È una demo che puoi aprire in un browser. È anche una base di codice per gli sviluppatori.

Ogni personaggio AI ha un nome, una breve storia e uno sprite. Un modello linguistico scrive ciò che dice ogni personaggio. I personaggi camminano per la mappa, iniziano conversazioni e ricordano discorsi precedenti. Il codice permette anche a un umano di unirsi alla città e parlare con i personaggi.

AI Town non è un gioco finito con obiettivi, livelli o una storia da completare. È una sandbox da osservare e su cui costruire. Per giochi finiti con persone AI, leggi la nostra guida ai giochi AI.

Hai letto questo sul blog di LifeSim. Noi creiamo LifeSim, un gioco diverso con persone AI. Diciamo dove si inserisce verso la fine, e dove no.

Un team di a16z (Andreessen Horowitz) e Convex ha creato AI Town nel 2023. Il codice è su GitHub sotto l'account a16z-infra, e Convex gestisce il backend.

Il podcast Cognitive Revolution ha parlato con il team a settembre 2023. In quell'episodio, Yoko Li, una partner di a16z, ha avviato il progetto. Martin Casado, un general partner di a16z, lo ha definito “in realtà un progetto hobby di Yoko.” James Cowling, il CTO di Convex, ha contribuito a costruirlo. Uno sviluppatore Convex ha creato il motore di gioco sul server.

L'idea è nata da una precedente app complementare di Yoko Li. Quell'app dava a un personaggio AI una memoria e una personalità. Le persone poi si sono chieste cosa succede quando molti personaggi AI si incontrano. AI Town è stata la risposta.

Cosa fa Convex in AI Town?

Convex è il motore di gioco, il database e la ricerca vettoriale, dice il README. Convex mantiene lo stato della città e gestisce la simulazione. La ricerca vettoriale trova vecchi ricordi che corrispondono alla conversazione attuale.

Il README elenca anche il resto dello stack. PixiJS disegna la città. Ollama esegue il modello di chat predefinito, llama3, sul tuo computer. Il login Clerk è opzionale.

AI Town è open source?

Sì. Il file di licenza nel repository è la licenza MIT, con la riga “Copyright (c) 2023 a16z-infra.” Puoi copiare, modificare e vendere il codice. Mantieni il testo della licenza nella tua copia.

Sì. Il README dice che AI Town è “ispirato” al documento “Generative Agents: Interactive Simulacra of Human Behavior.” Quel documento ha inserito 25 personaggi AI in una piccola città chiamata Smallville.

Joon Sung Park e altri cinque ricercatori hanno scritto il documento. Quattro di loro erano alla Stanford University. Gli altri due erano a Google Research e Google DeepMind. Hanno pubblicato la prima versione su arXiv il 7 aprile 2023 e una versione rivista il 6 agosto 2023.

Cosa è successo a Smallville?

Il documento definisce Smallville “un ambiente sandbox interattivo ispirato a The Sims.” Una persona ha dato a un personaggio una singola idea: organizzare una festa di San Valentino. I personaggi hanno poi diffuso gli inviti, fatto nuove amicizie, si sono invitati a uscire e sono venuti alla festa insieme.

Nessuno ha scritto quel piano. I personaggi lo hanno creato da tre parti che il documento aggiunge a un modello linguistico:

  • Memoria. Un registro completo di ciò che ogni personaggio ha visto e fatto, in testo semplice.
  • Riflessione. Nel tempo, il personaggio trasforma molti ricordi in alcune idee generali su se stesso e sugli altri.
  • Pianificazione. Il personaggio trova i ricordi giusti e li usa per decidere cosa fare dopo.

I ricercatori hanno fatto funzionare 25 personaggi per due giorni di gioco completi. Il documento afferma che ciò ha richiesto “migliaia di dollari in crediti token” e “diversi giorni per essere completato.”

In cosa AI Town è diverso dal codice del documento?

Il codice di Smallville è anche su GitHub, su joonspk-research/generative_agents, con la licenza Apache-2.0. È scritto in Python e richiede una chiave API OpenAI. Il suo README avverte che le esecuzioni possono costare molto.

AI Town è una nuova base di codice in JavaScript e TypeScript. Il README dice che è fatto apposta, perché la maggior parte degli strumenti di questo tipo sono in Python. AI Town aggiunge anche un backend per molti giocatori e un modello predefinito che funziona sul tuo computer.

Per maggiori informazioni su come funzionano i personaggi di gioco che pensano da soli, leggi cosa significa NPC.

Sì. La demo live è su convex.dev/ai-town, e si è caricata quando abbiamo controllato a novembre 2026. Puoi guardare senza un account. Per unirti alla città, devi effettuare il login.

Il testo di aiuto nel codice di AI Town spiega cosa puoi fare:

  • Guarda. “Clicca e trascina per muoverti per la città, e scorri per ingrandire e rimpicciolire.” Clicca su un personaggio per leggere la sua cronologia chat.
  • Unisciti. Accedi e clicca sul pulsante Interagisci. Il tuo personaggio entra nella mappa con un cerchio evidenziato sotto di esso.
  • Parla. Clicca su un personaggio, poi clicca su “Inizia conversazione.” Il personaggio si avvicina a te, e poi parli. I personaggi possono anche chiederti di parlare.

La demo ha dei limiti. Il testo di aiuto dice che la città accetta solo un certo numero di umani alla volta. Se non fai nulla per cinque minuti, il gioco ti rimuove.

L'aggiornamento v2 sul blog di Convex ha aggiunto altro alla demo. Puoi invitare personaggi vicini a chattare, e loro possono invitare te. Le voci si spostano anche da un personaggio all'altro e tornano in conversazioni successive.

Puoi cambiare la città della demo?

No. La demo è una città condivisa gestita da Convex. Per cambiare i personaggi, la mappa o il modello AI, devi eseguire la tua copia. La prossima sezione ti spiega come.

Cloni il repository, lo installi, lo avvii e connetti un modello linguistico. Il README offre quattro modi per eseguirlo. Questa è una versione breve. Segui il README per i passaggi completi.

  • Configurazione standard. Sviluppi sul tuo computer o nel cloud con un account Convex gratuito. Il README lo definisce il modo più semplice.
  • Docker Compose. Esegui il backend, il frontend e la dashboard in Docker. Non hai bisogno di un account Convex.
  • Pinokio. Un fork della community offre un'installazione con un clic. Il README dice che è per le persone che vogliono eseguire AI Town ma non modificarlo.
  • Fly.io. Metti l'app su Fly.io. Il repository ha una cartella fly con i passaggi.

Passaggio 1: Costruisci e avvia l'app

Per la configurazione standard, il README fornisce questi comandi:

git clone https://github.com/a16z-infra/ai-town.git
cd ai-town
npm install

L'installazione ti chiede di accedere a Convex. Quindi avvia l'app con npm run dev e apri http://localhost:5173.

Per Docker, il README inizia con docker compose up --build -d. Poi ti dice di creare una chiave admin, aggiungerla al file .env.local e eseguire npm run predev. Il frontend funziona sulla porta 5173.

Su Windows, il README ti dice di installare prima WSL2 con Ubuntu e Node.js 18. Se ricevi un errore di versione di Node.js, il README dice di usare la versione 18.

Passaggio 2: Connetti un modello linguistico

Per impostazione predefinita, AI Town usa Ollama per eseguire il modello sul tuo computer. Il README fornisce questi passaggi:

  1. Scarica e installa Ollama.
  2. Apri l'app Ollama, o esegui ollama serve in un terminale.
  3. Esegui ollama pull llama3 per scaricare il modello.
  4. Testalo con ollama run llama3.

Puoi usare OpenAI, Together.ai o un'altra API che funziona come l'API OpenAI. Per ognuna, cambi una riga in convex/util/llm.ts e imposti la tua chiave API con npx convex env set.

Se in seguito cambi il provider del modello o il modello di embedding, elimina i tuoi dati e ricomincia. Il README dice che la ricerca della memoria deve corrispondere al modello di embedding.

Passaggio 3: Personalizza la città

Tutti i personaggi e le loro storie sono in data/characters.ts. Puoi creare una nuova mappa nell'editor Tiled e convertirla con uno script nel repository. Dopo aver modificato i personaggi, il README ti dice di cancellare le tabelle con npx convex run testing:wipeAllTables e di eseguire di nuovo npm run dev. Quel comando elimina tutti i tuoi dati.

Il codice è gratuito. Ciò che paghi dipende da dove viene eseguito il modello linguistico e da dove viene eseguito il backend.

Il modello linguistico

Con la configurazione predefinita, Ollama esegue il modello sul tuo computer. Non invii chiamate a un'API di modello a pagamento. Il tuo computer fa tutto il lavoro, quindi un computer lento rende i personaggi lenti.

Con un modello cloud, ogni riga di conversazione è una chiamata API a pagamento. I fornitori come Together AI prezzano i modelli di chat per un milione di token, con un prezzo per l'input e un altro per l'output. Più personaggi e conversazioni più lunghe generano più token.

Il README fornisce due modi per mantenere basso l'utilizzo. La simulazione si mette in pausa quando la finestra del browser è inattiva per cinque minuti. Puoi anche fermare il motore con npx convex run testing:stop e riavviarlo con npx convex run testing:resume.

Per dare un'idea, il documento di Smallville ha eseguito 25 personaggi per due giorni di gioco. Ciò è costato ai ricercatori migliaia di dollari in crediti token.

Il backend

Convex ha un piano gratuito per progetti personali e prototipi. La pagina dei prezzi di Convex lo chiama “Free & Starter”. L'utilizzo al di sopra dei limiti viene fatturato per unità, e i piani a pagamento aggiungono di più. Con Docker, esegui il backend Convex sul tuo computer.

Anche gli extra opzionali costano. La musica di sottofondo usa Replicate, che richiede un account e un token API.

Puoi giocare alla demo di AI Town in un browser oggi. Per un gioco completo con persone AI, hai bisogno di un gioco finito, non di un kit di avvio.

OpzioneCos'èCome lo eseguiPuoi modificare il codice?
Demo di AI TownUna città condivisa da osservare o a cui unirsiBrowser, su convex.dev/ai-townNo
AI Town, la tua copiaUn kit di avvio per sviluppatoriIl tuo computer, Docker, Convex o Fly.ioSì, licenza MIT
Smallville (Agenti Generativi)Il codice di ricerca del documentoPython, con una chiave API OpenAISì, Apache-2.0
LifeSim (il nostro gioco)Un simulatore di vita finito con persone AIBrowser, app per iPhoneNo

LifeSim: una città di persone AI, finita

LifeSim è il nostro gioco, ed è gratuito, senza pubblicità e senza nulla da comprare. Vivi una vita, un giorno alla volta, in una città reale su una mappa 3D della Terra. Le persone AI rispondono con le loro parole. Si ricordano quello che hai detto e lo raccontano ai loro amici. Ti mandano anche messaggi.

LifeSim non è open source. Non puoi ospitarlo tu stesso, modificarne il codice o inserire il tuo modello. Se vuoi costruire o studiare una città AI, AI Town è la scelta giusta.

Per altri giochi, leggi la nostra lista di giochi di simulazione di vita AI e la nostra guida ai giochi in cui puoi parlare con l'AI.

Se vuoi vivere in una città di persone AI invece di costruirne una, gioca a LifeSim gratuitamente nel tuo browser o su iPhone.

Non conosci i simulatori di vita? Leggi cos'è un simulatore di vita o gioca a LifeSim, un simulatore di vita online gratuito su una mappa reale della Terra.

Database di The Sims 4

Cerca nel database di The Sims 4, leggi dai file di gioco: trucchi, tratti, carriere, stati d'animo, morti, pacchetti, sfide, ricette, mod popolari, trova pacchettie il calcolatore delle probabilità di morte.

Passo dopo passo: tutte le guide pratiche di The Sims 4.

Articoli correlati

Giochi di simulazione di vita