Change to over the shoulder third person instead of first person.
Validate Project / validate (push) Successful in 16s

This commit is contained in:
Andrew Yeet
2026-09-04 15:05:25 -07:00
parent 639c11ad9c
commit e8386c99d4
2 changed files with 16 additions and 17 deletions
+10 -10
View File
@@ -1,4 +1,4 @@
Here is a practical phase plan for **YeetGeese**, a first-person tower defense game where the main weapon is thrown geese, built in **Godot 4**. Im assuming the core fantasy is: the player is in a 3D arena, enemies approach, and the player throws geese either as projectiles, temporary turrets, or both. The plan below is structured so you can build a small playable prototype first, then expand into a full indie game. Here is a practical phase plan for **YeetGeese**, an over-the-shoulder third-person tower defense game where the main weapon is thrown geese, built in **Godot 4**. Im assuming the core fantasy is: the player is in a 3D arena, enemies approach, and the player throws geese either as projectiles, temporary turrets, or both. The plan below is structured so you can build a small playable prototype first, then expand into a full indie game.
--- ---
@@ -103,14 +103,14 @@ Here is a practical phase plan for **YeetGeese**, a first-person tower defense g
--- ---
# Phase 1: Core Playable Prototype # Phase 1: Core Playable Prototype
**Goal:** Prove that throwing geese at enemies in a first-person tower defense arena is fun. **Goal:** Prove that throwing geese at enemies in an over-the-shoulder third-person tower defense arena is fun.
This is the most important phase. Do not focus on art yet. Use greybox shapes and placeholder audio. This is the most important phase. Do not focus on art yet. Use greybox shapes and placeholder audio.
## Core Systems to Build ## Core Systems to Build
### 1. First-Person Player Controller ### 1. Third-Person Player Controller
Create a first-person controller using Godots `CharacterBody3D`. Create an over-the-shoulder third-person player controller using Godots `CharacterBody3D`.
Basic structure: Basic structure:
```text ```text
@@ -273,7 +273,7 @@ A single playable scene where the player can:
# Phase 2: Tower Defense Core Systems # Phase 2: Tower Defense Core Systems
**Goal:** Turn the prototype into a real tower defense game by adding towers, upgrades, enemy variety, and a more complete loop. **Goal:** Turn the prototype into a real tower defense game by adding towers, upgrades, enemy variety, and a more complete loop.
This phase is where YeetGeese becomes its own genre hybrid: first-person action + tower defense strategy. This phase is where YeetGeese becomes its own genre hybrid: third-person action + tower defense strategy.
## Design Decision: How Do Geese Function as Towers? ## Design Decision: How Do Geese Function as Towers?
@@ -527,7 +527,7 @@ Enemies attack the player directly.
Pros: Pros:
- Simple. - Simple.
- Feels first-person. - Feels third-person.
Cons: Cons:
- Less tower defense feel. - Less tower defense feel.
@@ -710,7 +710,7 @@ Audio mixing:
- UI sounds should be subtle. - UI sounds should be subtle.
## Performance Goals ## Performance Goals
For a first-person 3D indie game, aim for: For a third-person 3D indie game, aim for:
- 60 FPS on mid-range PC. - 60 FPS on mid-range PC.
- 30 FPS minimum on low-end PC. - 30 FPS minimum on low-end PC.
- Stable frame time. - Stable frame time.
@@ -1006,7 +1006,7 @@ Prepare:
- Tags: - Tags:
- Indie. - Indie.
- Tower Defense. - Tower Defense.
- First-Person. - Third-Person.
- Action. - Action.
- Strategy. - Strategy.
- Funny. - Funny.
@@ -1312,7 +1312,7 @@ For a tighter indie scope, the full project could be around **612 months part
- Keep the MVP small. - Keep the MVP small.
- Cut anything that is not core to “thrown geese.” - Cut anything that is not core to “thrown geese.”
## 2. First-Person + Tower Defense Confusion ## 2. Third-Person vs. Tower Defense Confusion
**Risk:** Players do not understand whether this is a shooter, platformer, or tower defense. **Risk:** Players do not understand whether this is a shooter, platformer, or tower defense.
**Solution:** **Solution:**
@@ -1397,7 +1397,7 @@ If you want a very concrete start, do this for two weeks.
- Create simple greybox arena. - Create simple greybox arena.
## Days 47: Player + Goose ## Days 47: Player + Goose
- Build first-person controller. - Build third-person player controller.
- Add mouse look. - Add mouse look.
- Add throw input. - Add throw input.
- Create goose projectile. - Create goose projectile.
+6 -7
View File
@@ -1,14 +1,14 @@
# YeetGeese - Design Document # YeetGeese - Design Document
## Game Concept ## Game Concept
**YeetGeese** is a first-person tower defense game where the player defends a base by throwing geese as powerful projectiles. The core fantasy is absurdly simple but deeply satisfying: enemies approach your objective, and you yeet geese at them to stop them. **YeetGeese** is an over-the-shoulder third-person tower defense game where the player defends a base by throwing geese as powerful projectiles. The core fantasy is absurdly simple but deeply satisfying: enemies approach your objective, and you yeet geese at them to stop them.
--- ---
## Core Fantasy ## Core Fantasy
> *"I am alone in a 3D farm arena. Farm animals march toward my base. I aim with mouse, throw with a click, and watch geese crash into foes with satisfying honks, spins, and impact. Each throw feels powerful and purposeful."* > *"I am alone in a 3D farm arena, viewed from behind my shoulders. Farm animals march toward my base. I aim with mouse, throw with a click, and watch geese crash into foes with satisfying honks, spins, and impact. Each throw feels powerful and purposeful."*
- **Player**: A lone defender in first-person - **Player**: A lone defender in over-the-shoulder third-person
- **Weapon**: Throwable geese that act as both projectiles and temporary turrets - **Weapon**: Throwable geese that act as both projectiles and temporary turrets
- **Objective**: Protect the base from waves of approaching farm animals (Pigs, Chickens) - **Objective**: Protect the base from waves of approaching farm animals (Pigs, Chickens)
- **Juice**: Every goose hit produces satisfying feedback (honks, feathers, screen shake) - **Juice**: Every goose hit produces satisfying feedback (honks, feathers, screen shake)
@@ -24,7 +24,7 @@
### Breakdown: ### Breakdown:
1. **Enemies spawn** at designated points and march toward the base 1. **Enemies spawn** at designated points and march toward the base
2. **Player moves** through the arena, positioning for optimal throws 2. **Player moves** through the arena in third-person, positioning for optimal throws
3. **Player aims and yeets geese** using mouse look and click 3. **Player aims and yeets geese** using mouse look and click
4. **Geese impact enemies**, dealing damage or causing knockback/stun 4. **Geese impact enemies**, dealing damage or causing knockback/stun
5. **Currency drops** (feathers) from defeated enemies 5. **Currency drops** (feathers) from defeated enemies
@@ -41,9 +41,8 @@
- Neutral terrain allowing free movement - Neutral terrain allowing free movement
### One Player Controller ### One Player Controller
- First-person movement (WASD + mouse look) - **Player Controller**: Over-the-shoulder third-person view (WASD + mouse look, throw input)
- Throw input (left mouse button) - **Basic health system**
- Basic health system
### One Goose Type ### One Goose Type
- **Basic Goose**: Standard projectile goose - **Basic Goose**: Standard projectile goose