// the find
YGYOOO/WorldX
One sentence creates an AI-driven world — generate maps, characters, and watch stories emerge on their own. 一句话生成一个AI自主驱动的世界.
WorldX lets you describe a setting in one sentence and watch AI agents autonomously live in it — making decisions, forming relationships, and generating dialogue without a script. It's a multi-agent simulation built on Phaser 3 for rendering, SQLite for persistence, and four separate LLM roles (orchestration, image generation, vision review, runtime simulation). Aimed at hobbyists and researchers curious about emergent narrative from generative agents.
The four-model architecture is genuinely smart: a cheap model drives the constant simulation tick, expensive reasoning models only run at world creation. That's not accidental — it's the right call for cost control. The map generation pipeline is a real multi-step process with a vision-model review loop rather than a single LLM call and a prayer; the walkable grid derivation from generated pixel art is the kind of glue work that usually gets skipped. SQLite-per-timeline means branching is clean isolation rather than messy shared-table queries. The OpenAI-compatible API abstraction throughout means you can swap any provider per role — useful when image generation pricing differs wildly from text.
The simulation engine fires LLM calls continuously per character with no visible rate limiting or cost ceiling; with more than a handful of characters running all day, this gets expensive fast and the cost-tracker.ts doesn't appear to enforce any budget. Memory is bounded by whatever fits in a prompt, so long-running simulations will silently lose earlier events as the context window fills — the memory-eval prompt prunes something, but the fundamental amnesia problem isn't solved. The six-step image generation pipeline has no robust checkpointing: a vision-review failure mid-pipeline means restarting from scratch, and the library worlds show `runs.json` exists but it's unclear how much actually resumes. Alpha warning is honest but the SQLite files sitting in server/data with no migration story means any schema change is a manual migration or data loss.