feat(core): implement playable CTF prototype with 6 core scripts

Implements the minimal playable core for the teaser prototype:
- Game.cs: Bootstrap, scene setup, scoring, round reset, win condition
- Unit.cs: Movement, route following, tagging, respawn
- RouteDrawer.cs: Click-drag route input with LineRenderer preview
- Flag.cs: Pickup, drop, return mechanics
- Visibility.cs: Fog of war via SpriteRenderer visibility
- SimpleAI.cs: Enemy AI that chases player flag

All game objects created programmatically (no Editor setup required).
Uses RuntimeInitializeOnLoadMethod for automatic bootstrap.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
John Lamb
2026-02-01 21:03:11 -06:00
parent b1b3e4d0b3
commit 95b37a1606
8 changed files with 1405 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
---
date: 2026-02-01
topic: teaser-prototype
---
# Teaser Prototype: Playable Game Core
## What We're Building
A minimal playable teaser that captures the "practiced chaos" of Neighborhood Quarterback - the Rocket League-style feeling where chaos has patterns you can learn to exploit.
**Scope:**
- 1v1 vs AI opponent
- 5 identical units per side
- Draw-routes for commanding units
- Tag-out respawn (captured units respawn at base after delay)
- Simple fog of war (see near your units only)
- Backyard-style asymmetric map with houses/fences
- First to 3 points (points for flag grab AND returning flag to base)
## Why This Approach
We chose **Minimal Playable Core** over polished slice or systems-first approaches because:
1. **Validate the feel first** - The soul doc's "practiced chaos" needs playtesting to verify
2. **Fast iteration** - Rough edges are fine if we can quickly change what matters
3. **Avoid over-engineering** - Don't build robust systems for unvalidated design
## Key Decisions
- **AI opponent over multiplayer**: Simpler to build, can playtest alone, control pacing
- **Draw routes over click-to-move**: More tactical, matches the "quarterback" command fantasy
- **Tag-out over jail escort**: Simpler first pass; jail escort adds complexity we can add later
- **Fog of war included**: Core to the mind game, worth the complexity
- **5 units (not 3)**: Matches soul doc, enables interesting squad tactics
- **All identical units**: No classes yet; focus on positioning/routes before differentiation
- **Asymmetric map**: Thematic "backyard" feel even if harder to balance
- **First to 3 with grab+return points**: Creates multiple scoring opportunities per round
## What Success Looks Like
When playing, you should see:
- Moments where you read the AI's pattern and exploit it
- Chaotic scrambles when plans collide
- "Almost had it" flag runs that feel learnable
- Fog reveal moments that create tension
## Out of Scope (For Now)
- Class differentiation (Sneak/Patrol/Speed)
- Jail escort mechanics
- Motion lights
- Pre-phase setup (placing flag/jail)
- Multiplayer networking
- Polish/juice/animations
## Open Questions for Planning
1. **Map layout**: What's the minimum topology for interesting play? Lanes, chokepoints, shortcuts?
2. **AI behavior**: How smart does AI need to be to create "practiced chaos"?
3. **Route-drawing UX**: Click-drag? Waypoints? How to visualize planned route?
4. **Fog implementation**: Tile-based? Raycast? Mesh-based reveal?
5. **Scoring flow**: What happens after a point? Reset positions? Continuous play?
## Next Steps
Run `/workflows:plan` to break this down into implementation tasks.