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
**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.
## Core Systems to Build
### 1. First-Person Player Controller
Create a first-person controller using Godots `CharacterBody3D`.
### 1. Third-Person Player Controller
Create an over-the-shoulder third-person player controller using Godots `CharacterBody3D`.
Basic structure:
```text
@@ -273,7 +273,7 @@ A single playable scene where the player can:
# 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.
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?
@@ -527,7 +527,7 @@ Enemies attack the player directly.
Pros:
- Simple.
- Feels first-person.
- Feels third-person.
Cons:
- Less tower defense feel.
@@ -710,7 +710,7 @@ Audio mixing:
- UI sounds should be subtle.
## 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.
- 30 FPS minimum on low-end PC.
- Stable frame time.
@@ -1006,7 +1006,7 @@ Prepare:
- Tags:
- Indie.
- Tower Defense.
- First-Person.
- Third-Person.
- Action.
- Strategy.
- Funny.
@@ -1312,7 +1312,7 @@ For a tighter indie scope, the full project could be around **612 months part
- Keep the MVP small.
- 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.
**Solution:**
@@ -1397,7 +1397,7 @@ If you want a very concrete start, do this for two weeks.
- Create simple greybox arena.
## Days 47: Player + Goose
- Build first-person controller.
- Build third-person player controller.
- Add mouse look.
- Add throw input.
- Create goose projectile.
+6 -7
View File
@@ -1,14 +1,14 @@
# YeetGeese - Design Document
## 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
> *"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
- **Objective**: Protect the base from waves of approaching farm animals (Pigs, Chickens)
- **Juice**: Every goose hit produces satisfying feedback (honks, feathers, screen shake)
@@ -24,7 +24,7 @@
### Breakdown:
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
4. **Geese impact enemies**, dealing damage or causing knockback/stun
5. **Currency drops** (feathers) from defeated enemies
@@ -41,9 +41,8 @@
- Neutral terrain allowing free movement
### One Player Controller
- First-person movement (WASD + mouse look)
- Throw input (left mouse button)
- Basic health system
- **Player Controller**: Over-the-shoulder third-person view (WASD + mouse look, throw input)
- **Basic health system**
### One Goose Type
- **Basic Goose**: Standard projectile goose