A mobile-first (touch) flower breeding game built with Godot 4.7.
- Core Loop: 5×5 grid, 300s clock, mobile portrait (720×1280). Drag and drop base flowers (Red, Yellow, White) from the collapsible seed sheet onto empty cells. Tap a flower to sell (Cyan/Magenta add +5s). Compatible orthogonal neighbours breed after ~3s (progress ring) and drop an offspring in an empty adjacent cell.
- Progression & Onboarding: Includes a tutorial-gated onboarding flow and an Encyclopedia screen tracking discovered flower variants.
- Data & Rules: 19 unique flowers (points/colors/tiers) and 16 verified breeding rules.
I created the original pixel art, and had it touched up with Claude utilizing the Aseprite MCP server.
This project was developed using a highly structured, multi-agent AI framework to build, test, and maintain the game systematically. The repository was built utilizing the following specialized sub-agents and prompt engineering workflows:
- Cedar (Tech Lead): Gathers context and writes architectural
[SPEC]s. It serves as the orchestrator and planner before any implementation begins. - Cypress (SDET): Writes headless tests (TDD for logic, Test-After for UI) and audits code quality and accessibility standards.
- Redwood (Gameplay Engineer): Implements specs, wires scenes via Godot MCP, and performs local refactoring.
- Banyan (Platform Engineer / Reviewer): Executes large-scale architectural refactors and enforces Intellectual Control when scaling tipping points are reached.
- Magnolia (AV Director): Edits pixel art via Aseprite MCP, generates placeholder audio, and wires assets into scenes.
- Plan before building: Non-trivial features start in plan mode. Cedar creates a formal
[SPEC]and[FORCES]task list, which is human-reviewed. - TDD and Testing: Cypress creates failing headless characterization tests before logic is implemented. Tests define the definition of Done.
- Execution: Redwood works inside isolated modules to write GDScript, keeping a strict limit on file footprint per change (5-7 files maximum) to limit blast radius.
- Refactoring: Banyan steps in when files reach mechanical scale/complexity triggers (e.g., max file line limits).
- Quality & Accessibility Audit: Stringent checks ensure touch targets scale, flower identity isn't strictly color-bound, and linting is automated via gdtoolkit.
- Editor: open this project in Godot 4.7 → press F5 (on desktop, click = touch).
- Headless smoke check:
<godot> --headless --path . --quit-after 40 - Breeding test:
<godot> --headless --path . -s res://tests/test_breeding.gd


