Current Status
Snake
Proof of Concept: Complete95% physical validity, 100% rule validity. Model learns movement, growth, and collision rules from event sequences.
Pac-Man
Status: DesignedSpecification complete. Ready for implementation.
Survivor
Status: FantasizingConcept stage. Will test massive entity scale.
Chess
Status: AlphaGoneThe final boss. No physics, turn-based, two-player.
Game Progression
The system is game-agnostic by design. Each game in the roadmap tests the event grammar approach at increasing complexity:| # | Game | Status | Tests |
|---|---|---|---|
| 1 | Snake | ✅ Proof of Concept | Movement, growth, conditional self-collision |
| 2 | Pac-Man | 🎨 Designed | Multi-entity, enemy AI, buff-conditional rules |
| 3 | Survivor | 💭 Fantasizing | Massive entity scale, build paths, wave structure |
| 4 | Chess | 👻 AlphaGone | No physics, turn-based, two-player |
If chess works, the system is genuinely game-agnostic — not just “action-game-agnostic.”
Snake (Complete)
What it tests: Core event-driven mechanics- ✅ Movement physics: One cell per tick, grid-based
- ✅ Conditional growth: Eating → body length increases
- ✅ Self-collision: Death when head hits body
- ✅ Legal actions: Cannot reverse direction
- ✅ Event sequences: INPUT → MOVE → EAT → GROW → FOOD_SPAWN
- Physical validity: 95% — moves are adjacent cells, positions stay in bounds
- Rule validity: 100% — EAT→GROW+FOOD_SPAWN, DIE→EOS
- Loss: 4.47 → 0.25 (random baseline: ln(74) ≈ 4.3)
See the Snake documentation for full implementation details.
Pac-Man (Designed)
What it tests: Multi-entity coordination and buff-conditional rulesKey Challenges
- Multiple enemies: Four ghosts with different AI behaviors (Blinky, Pinky, Inky, Clyde)
- Buff system: Power pellet temporarily reverses predator/prey relationship
- Conditional rules:
- Normal state: Ghost collision → DIE
- Powered state: Ghost collision → EAT_GHOST → SCORE
- Entity identity: Events must distinguish between ghosts by name
- Simultaneous agents: Player + 4 ghosts act on same tick
Expected Events
INPUT_U/D/L/R— Player directional inputMOVE— Player or ghost movesEAT_PELLET— Player eats small pelletEAT_POWER— Player eats power pelletPOWER_START— Buff activatesPOWER_END— Buff expiresEAT_GHOST— Player eats frightened ghost (powered state)GHOST_RESPAWN— Eaten ghost returns to baseDIE_GHOST— Ghost collision while unpoweredSCORE— Score update event
Why Pac-Man?
Pac-Man tests whether the model can learn:- State-dependent rules: Same collision, different outcome based on power-up state
- Multi-agent coordination: Predicting ghost movements alongside player
- Entity tracking: Remembering which ghost is where
POWER_START changes collision semantics, that’s conditional rule emergence — a Tier 2 validation.
Survivor (Fantasizing)
What it tests: Massive entity scale and build systemsConcept
Inspired by Vampire Survivors:- Player moves freely in 2D space
- Waves of enemies spawn over time
- Player collects XP to level up and choose upgrades
- Build synergies emerge from upgrade choices
Key Challenges
- Massive entity count: 100+ enemies on screen
- Upgrade trees: Conditional abilities that modify event sequences
- Wave structure: Enemy spawning follows time-based patterns
- Build paths: Different upgrade sequences create distinct playstyles
Expected Events
WAVE_START— New wave beginsENEMY_SPAWN— Enemy enters fieldATTACK— Player weapon firesHIT— Projectile hits enemyENEMY_DIE— Enemy defeatedXP_DROP— XP spawns at death locationXP_COLLECT— Player picks up XPLEVEL_UP— Player gains levelUPGRADE_SELECT— Player chooses upgrade
Why Survivor?
Survivor tests whether the model can:- Scale to high entity counts: Track 100+ entities without collapse
- Learn build paths: Recognize that certain upgrade sequences create synergies
- Predict wave structure: Anticipate spawn patterns over long time horizons
Chess (AlphaGone)
What it tests: Turn-based, no-physics, two-player gamesKey Challenges
- No physics: Movement is rule-based, not collision-based
- Turn-based: Players alternate instead of acting simultaneously
- Two-player: Opponent actions must be predicted, not just observed
- Complex rules: Castling, en passant, promotion, check/checkmate
- Long-horizon planning: Good moves depend on 5+ turns ahead
Expected Events
MOVE— Piece moves from A1 to A4CAPTURE— Piece takes opponent pieceCASTLE— Special king+rook movePROMOTE— Pawn reaches back rankCHECK— King under attackCHECKMATE— Game ends
Why Chess?
Chess is the final test of game-agnosticism:- No collision physics (unlike Snake, Pac-Man, Survivor)
- No real-time coordination (pure turn-based)
- Opponent modeling required (two-player zero-sum)
Training data could come from Lichess API — millions of annotated games in PGN format, easily converted to event sequences.
Complexity Progression
Each game adds new capabilities:| Capability | Snake | Pac-Man | Survivor | Chess |
|---|---|---|---|---|
| Movement physics | ✓ | ✓ | ✓ | ✗ |
| Collision rules | ✓ | ✓ | ✓ | ✗ |
| Multi-entity | ✗ | ✓ | ✓ | ✓ |
| Conditional rules | ✓ | ✓ | ✓ | ✓ |
| Buff system | ✗ | ✓ | ✓ | ✗ |
| Upgrade trees | ✗ | ✗ | ✓ | ✗ |
| Turn-based | ✗ | ✗ | ✗ | ✓ |
| Two-player | ✗ | ✗ | ✗ | ✓ |
| Entity count | 2 | 5 | 100+ | 32 |
The Endgame: Archetype-Driven Progression
The long-term vision is to identify player archetypes from learned event grammar and use them to drive progression systems.Concept
Instead of hand-designing progression systems, let the model discover how players naturally play, then offer skills that complement their style.Example: Snake Archetypes
From the README, here are hypothetical archetypes the model might discover:Wall Hugger
Pattern: Moves parallel to walls frequentlyUnlock: “Wall Slide” — speed +1 when moving parallel to a wall
Food Chaser
Pattern: Moves toward food aggressivelyUnlock: “Scent” — directional arrow toward food from anywhere
Coiler
Pattern: Coils body tightly in small areaUnlock: “Phase” — pass through your own tail once per life
Space Filler
Pattern: Long straight runs without turningUnlock: “Momentum” — every 5th move without turning is free
These archetypes aren’t hand-labeled. They emerge as statistical regularities in the learned grammar. The model finds the pattern.
Why This Matters
Imagine this applied to a real game:Call of Duty: Zombies that gives you piercing bullets if you’re a trainer or longer mags if you’re camping behind claymores. Of course at that point we could buff the mobs to break the train or jump claymores, too.The game adapts to how you naturally play, without you filling out a survey or choosing a class.
Implementation Roadmap
From the project README:- Snake game + event stream
- Hybrid keyframe+delta tokenizer (74 tokens)
- GameGPT transformer (31K params, pure Python)
- Train on Snake traces — Tier 1 (valid behavior): 95% physical, 100% rule
- Evaluate Tier 2 (conditional rule emergence)
- Evaluate Tier 3 (play style / archetype emergence)
- Visualizers
- Performance optimization
- Ouroboros (model plays against itself)
- Pac-Man implementation and training
- Archetype-based progression system prototype
- Survivor implementation
- Chess (Lichess data integration)
Contributing
The most valuable contributions right now:- Feedback on tokenization approaches — this is the core unsolved problem
- Alternative games that would test capabilities not yet considered
- Connections to related work (world models, player modeling, event sourcing)
- Experience reports from applying similar ideas
See the main README for contribution guidelines.
