ambrosex/ai-town — explained in plain English
Analysis updated 2026-08-04 · repo last pushed 2023-09-09
Build a game with emergent storytelling where AI characters form relationships and hold conversations on their own.
Run social behavior simulations by creating characters with different personalities and observing how they interact on a shared map.
Prototype an interactive AI experience by customizing characters, swapping art and music, then watching how the town plays out.
Experiment with AI memory by giving characters past experiences and seeing how their recall shapes future conversations.
| ambrosex/ai-town | 00kaku/gallery-slider-block | 04amanrajj/netwatch | |
|---|---|---|---|
| Stars | — | — | 0 |
| Language | — | JavaScript | Rust |
| Last pushed | 2023-09-09 | 2021-05-19 | — |
| Maintenance | Dormant | Dormant | — |
| Setup difficulty | hard | easy | moderate |
| Complexity | 4/5 | 2/5 | 3/5 |
| Audience | developer | general | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires configuring four external services, OpenAI, Pinecone, Clerk, and Convex, each with its own account and API keys before the project will run.
AI Town is a starter kit that lets you create a virtual town populated by AI characters who go about their lives, talk to each other, and socialize on their own. You can think of it as a petri dish for artificial personalities, you set up the characters and their world, then watch them interact. It comes with a live demo so you can see what a finished version looks like before building your own. Under the hood, each character is powered by a large language model (the same kind of technology behind ChatGPT) that decides what they say and do moment to moment. The project keeps a running journal of everything that happens, so characters can remember past conversations and events. It also stores memories in a way that lets characters recall relevant experiences, which is what makes their behavior feel coherent over time rather than random. The whole thing runs in JavaScript and TypeScript, which the creators note is unusual, most similar projects are written in Python. This would appeal to someone building a game with emergent storytelling, a researcher experimenting with simulated social behavior, or a founder prototyping an interactive AI experience. For example, you could create a town of characters with different personalities, drop them into a shared map, and see how relationships and conversations unfold, then tweak character descriptions, swap in new art, change the background music, and run it again to get different results. The project pulls together several external services: OpenAI for the character dialogue, Pinecone for memory storage, Clerk for user login, and Convex as the game engine and database. It can be deployed to Fly.io for hosting. Customization is straightforward, characters, maps, music, and art are all defined in configuration files that you edit directly. The README notes that the backend is designed to scale from a simple personal experiment up to a multiplayer game, with built-in support for shared state and transaction safety.
AI Town is a starter kit for building a virtual town where AI characters chat, remember past events, and socialize on their own. You customize characters and maps, then watch their interactions unfold.
Dormant — no commits in 2+ years (last push 2023-09-09).
The license terms are not specified in the repository explanation, so it is unclear what permissions apply to using this code.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.