From e8386c99d46e062c2ebc66a355a80897b2d4b97a Mon Sep 17 00:00:00 2001 From: Andrew Yeet Date: Fri, 4 Sep 2026 15:05:25 -0700 Subject: [PATCH] Change to over the shoulder third person instead of first person. --- AI Docs/PLAN.md | 20 ++++++++++---------- AI Docs/YeetGeese_Design_Document.md | 13 ++++++------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/AI Docs/PLAN.md b/AI Docs/PLAN.md index 53ede15..7717bca 100644 --- a/AI Docs/PLAN.md +++ b/AI Docs/PLAN.md @@ -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**. I’m 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**. I’m 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 Godot’s `CharacterBody3D`. +### 1. Third-Person Player Controller +Create an over-the-shoulder third-person player controller using Godot’s `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 **6–12 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 4–7: Player + Goose -- Build first-person controller. +- Build third-person player controller. - Add mouse look. - Add throw input. - Create goose projectile. diff --git a/AI Docs/YeetGeese_Design_Document.md b/AI Docs/YeetGeese_Design_Document.md index d69fa0e..2167401 100644 --- a/AI Docs/YeetGeese_Design_Document.md +++ b/AI Docs/YeetGeese_Design_Document.md @@ -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