Build a text-based playable prototype of the core loop.
Before we build anything visual, we prove the loop works with text. If the loop is fun with just buttons and console messages, it will be fun with graphics. If it's boring with text, no amount of polish will fix it.
Build buttons for the full combat loop:
- Explore — triggers an encounter chance
- Fight — resolves with win/loss
- Bank — moves unbanked XP to banked
- Respawn — resets to safe zone
All output goes to the console or simple HTML text. No graphics.
Build buttons for the full economic loop:
- Accept Job — generates a random job
- Buy Materials — deducts from karma
- Build — completes job, adds payout
- Take Loan — adds debt
All output goes to the console or simple HTML text. No graphics.
The core loop is playable as text for 3+ minutes. You can complete at least 3 full cycles.
No graphics. No Three.js. No camera. Text only. The loop must work before we add the world.
Adding too many features to the text prototype — keep it minimal. Only the core loop actions.
Not testing the full cycle (start to finish) — play from the first action through banking/reset and back again.
Forgetting to update state between actions — every button must read and write to gameState.
This is the first playable moment. Let them play each other's games. Ask: "What feels tense?" and "What feels boring?" Their answers guide Week 2. This is also the v0.1 milestone — celebrate it.
Both games have a working text-based core loop. State updates correctly. Risk exists. The loop can be played for 3+ minutes. This is your first playable prototype.