Aether Garden — Thousand Token Wood hackathon, June 2026
Most AI demos forget. You type a prompt, get a character sheet, close the tab. The output dies with the session.
Aether Garden is the opposite: a persistent fantasy world running on MiniCPM 3-4B (OpenBMB) via Modal. When you open it, the world is already days old. Other visitors have summoned strange souls. An hourly simulation has been writing history whether anyone is watching.
The AI is load-bearing. Remove inference and you have a database of text — not a world.
- SQLite world state: 8 sacred locations, entities, relationships, interactions, world events, Book of Ages
- Entity generation: visitor description → structured JSON → validated profile → permanent soul
- Autonomous tick (hourly on Modal): world event → 2–4 interactions → memory compression → dream fragments → lifecycle → backup to HF Dataset
- Location special mechanics: Library memory fragments, Clock Forest accelerated aging, Mirror Bog contradictions, Moon Market memory trades, Valley dreams
- Custom Gradio UI with mystical CSS, SVG world map, Realm Pulse live ticker
- Three.js diorama per location: cutout souls, bloom, particles, simulation-synced behaviors (meeting, sleeping, enthroned, relationship-aware drift)
- Soul Cards: downloadable 1200×675 share images — the viral artifact
- Bonds tab: 3D relationship graph of every alliance and rivalry the simulation forged
- Small models are enough for structured JSON + poetic prose if prompts are tight and you retry on failure.
- Persistence is the product. Judges opening a world with Day 15 history feel the magic immediately.
- The diorama sells "alive." Binding the 3D scene to the latest encounter and relationship data changed everything — ambient wandering wasn't enough.
- Modal cold starts hurt UX. Pre-warming on boot + rotating wait copy during summon helps;
min_containers=1on demo day is essential.
| Layer | Choice |
|---|---|
| Frontend | Gradio 5 + custom HTML/CSS + Three.js iframe |
| Inference | MiniCPM3-4B on Modal A10G |
| Portraits | SDXL-Turbo |
| Database | SQLite WAL |
| Backup | Private HF Dataset |
| Simulation | Modal scheduled function |
- Fine-tune MiniCPM on accumulated entity generations for sharper voice
- Real-time WebSocket presence so visitors see arrivals live
- glTF characters instead of 2.5D cutouts
- Primary targets: Thousand Token Wood, Off-Brand, Modal, Best Agent, Best MiniCPM, Tiny Titan
- Optional badges: Well-Tuned (fine-tuned model), Sharing is Caring (public traces), Field Notes (this post)
- Not pursued: Off the Grid (would sacrifice always-on shared world)
Summon something strange. Come back tomorrow. Read the Book of Ages. Someone you never met will have changed your soul's life.
The world remembers.