[Phase 0] Game Definition & Setup #3

Open
opened 2026-09-03 13:55:06 -07:00 by letteka · 0 comments
Owner

Goal: Define the core game, set up the Godot project, and create a clear development scope.

Main Tasks:

  1. Write a short design document

    • One page is enough
    • Core fantasy: "Yeet geese at enemies and defend a base"
    • Core loop:
      • Enemies spawn
      • Player throws geese
      • Geese damage, distract, or tower-ize enemies
      • Player earns currency
      • Player buys/upgrades geese or defenses
      • Wave ends
      • Next wave becomes harder
  2. Define the MVP
    One arena, one player controller, one goose type, two enemy types, five waves, basic economy (100 starting feathers, enemies drop 5), basic UI (health, currency, wave number, pause menu), win/lose state.

  3. Set up the Godot project

    • Godot version: Godot 4.x, 3D project, Forward+ renderer
    • Create folders: scripts/, scenes/, assets/(audio/, meshes/, textures/, materials/, animations/), ui/, data/, autoload/, tests/
    • Set up Git with .gitignore for Godot artifacts
    • Add a simple README
  4. Set up basic project architecture
    Create autoloads:

    • GameState.gd (wave state, score, currency, lives, pause)
    • EventBus.gd (central signals for gameplay events)
    • AudioManager.gd (plays sfx and music)
    • SettingsManager.gd (saves settings and unlockables)
  5. Define collision layers
    1: Environment/terrain, 2: Player, 3: Enemy, 4: Goose projectile, 5: Goose turret, 6: Pickups/currency, 7: UI/trigger zones

  6. Set up input map
    Move_Forward (W), Move_Backward (S), Move_Left (A), Move_Right (D), Aim (mouse look), Throw_Goose (LMB), Switch_Goose (1-3 or Q), Reload/Refill (R), Pause (Escape), Sprint (Shift), Crouch (C)

Exit Criteria:

  • Clear MVP scope defined
  • Godot project opens cleanly
  • Basic folders, autoloads, input map, and collision setup exist
  • Team knows what the first playable prototype must contain
**Goal:** Define the core game, set up the Godot project, and create a clear development scope. **Main Tasks**: 1. **Write a short design document** - One page is enough - Core fantasy: "Yeet geese at enemies and defend a base" - Core loop: - Enemies spawn - Player throws geese - Geese damage, distract, or tower-ize enemies - Player earns currency - Player buys/upgrades geese or defenses - Wave ends - Next wave becomes harder 2. **Define the MVP** One arena, one player controller, one goose type, two enemy types, five waves, basic economy (100 starting feathers, enemies drop 5), basic UI (health, currency, wave number, pause menu), win/lose state. 3. **Set up the Godot project** - Godot version: Godot 4.x, 3D project, Forward+ renderer - Create folders: scripts/, scenes/, assets/(audio/, meshes/, textures/, materials/, animations/), ui/, data/, autoload/, tests/ - Set up Git with .gitignore for Godot artifacts - Add a simple README 4. **Set up basic project architecture** Create autoloads: - GameState.gd (wave state, score, currency, lives, pause) - EventBus.gd (central signals for gameplay events) - AudioManager.gd (plays sfx and music) - SettingsManager.gd (saves settings and unlockables) 5. **Define collision layers** 1: Environment/terrain, 2: Player, 3: Enemy, 4: Goose projectile, 5: Goose turret, 6: Pickups/currency, 7: UI/trigger zones 6. **Set up input map** Move_Forward (W), Move_Backward (S), Move_Left (A), Move_Right (D), Aim (mouse look), Throw_Goose (LMB), Switch_Goose (1-3 or Q), Reload/Refill (R), Pause (Escape), Sprint (Shift), Crouch (C) **Exit Criteria**: - Clear MVP scope defined - Godot project opens cleanly - Basic folders, autoloads, input map, and collision setup exist - Team knows what the first playable prototype must contain
letteka added reference akettel/phase-0 2026-09-04 15:21:47 -07:00
sam.estrem was assigned by letteka 2026-09-04 15:22:04 -07:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: letteka/YeetGeese#3