a16z-infra / a16z-infra/ai-town

[Showcase] Ensemble Simulator (群像模拟器): A Chinese text-based multi-agent OC world built on ai-town

Open
#301 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
TypeScript
Stars
10.5k
Forks
1.2k
Avg merge
1d 1h
Merged PRs (30d)
2

Description

Hi ai-town community! 👋

I wanted to share a project I built based on the amazing `ai-town` starter kit.

**Ensemble Simulator (群像模拟器)** is a Character × World interaction framework, specifically tailored for Chinese OC (Original Character) creators who want to see their characters "live" in a shared world.

Instead of a pixel-art map, I modified the engine to focus purely on **text-based storytelling and relationship dynamics** — more like a visual novel observer than a game.

### Key changes from ai-town:
- 🖋️ Removed Pixi.js map entirely — replaced with a pure React text/event-stream UI (古风 / Chinese ink-wash aesthetic)
- 🌍 Added a **World Event Timeline** that globally affects all agents (festivals, disasters, rumors...)
- 💞 Implemented a **relationship evaluation engine** and persona drift system based on long-term interactions (affinity, wariness, trust, curiosity)
- 🎭 Support for **custom OC import** — users can bring their own characters with detailed backstory/personality into the world
- 🔧 **LLM API is optional** — works without an API key (hides AI summary feature), supports OpenAI / DeepSeek / Ollama

### First world pack: 风莫村 (Fengmo Village)
A Chinese ancient-style jianghu village with 6 preset characters. Users can swap in their own OCs or add new ones.

### Links:
- 📦 GitHub: https://github.com/SarahXu31/ensemble-simulator
- 🏷️ Tech stack: React + TypeScript + Convex

Thank you to the a16z-infra team for providing such a robust multi-agent foundation! Would love any feedback from the community 🙏

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.