[Phase 2] Game Design & Enemy Behavior #5

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

Goal: Flesh out enemy types, behaviors, and the goose projectile physics to create a balanced core loop.

1. Goose Projectile System (Physics)

Implement proper physics-based throwing with:

  • Apply force based on camera direction + throw strength multiplier
  • Add spin/angular velocity for realistic rotation
  • Implement drag/drag coefficient for air resistance
  • Handle ricochet or deflection off surfaces
  • Add hit sound, particle effect, damage indicator on impact
  • Consider adding curve/arc trajectory visualization for aiming

2. Enemy AI States

Implement basic state machine:

  • Idle: wait at spawn point or patrol between points
  • Chase: move directly toward player/base when in range
  • Attack: engage player if within melee range
  • DamageTaken: stagger/dashback when hit by goose
  • Die: collapse, play death animation, drop resources

3. Enemy Type 1 (Basic)

Simple soldier-like enemy:

  • Moderate health pool
  • Straight-line movement toward base
  • Basic attack (melee or ranged)
  • Standard speed and turn radius
  • Drops medium currency on death

4. Enemy Type 2 (Fast/Aggressive)

High-risk, high-reward enemy:

  • Lower health but faster movement speed
  • Aggressive targeting (prioritizes weak points)
  • May have special ability: dash attack or rapid fire
  • Drops higher value currency

5. Damage & Health System

Implement robust damage calculation:

  • Separate projectile damage (geese) vs melee damage
  • Damage reduction from shields/armors if applicable
  • Overkill prevention (no excess damage to player/enemy)
  • Knockback or stagger effect on high damage hits
  • Visual feedback (flashes, screen shake, hit particles)

6. Wave Balancing

Create balanced wave progression:

  • Define enemy counts and types per wave
  • Ensure difficulty scales appropriately
  • Consider adding special elite enemies at peak waves
  • Balance spawn rates so player has time to react
  • Design currency drop rates that feel fair

Exit Criteria:

  • Goose throwing feels weighted and responsive (not instant)
  • Enemies exhibit varied behaviors across types
  • Damage numbers/effects give clear feedback
  • Wave difficulty curve is engaging
  • Core loop is tight: spawn -> chase -> throw -> damage -> win/lose
**Goal:** Flesh out enemy types, behaviors, and the goose projectile physics to create a balanced core loop. ### 1. Goose Projectile System (Physics) Implement proper physics-based throwing with: - Apply force based on camera direction + throw strength multiplier - Add spin/angular velocity for realistic rotation - Implement drag/drag coefficient for air resistance - Handle ricochet or deflection off surfaces - Add hit sound, particle effect, damage indicator on impact - Consider adding curve/arc trajectory visualization for aiming ### 2. Enemy AI States Implement basic state machine: - Idle: wait at spawn point or patrol between points - Chase: move directly toward player/base when in range - Attack: engage player if within melee range - DamageTaken: stagger/dashback when hit by goose - Die: collapse, play death animation, drop resources ### 3. Enemy Type 1 (Basic) Simple soldier-like enemy: - Moderate health pool - Straight-line movement toward base - Basic attack (melee or ranged) - Standard speed and turn radius - Drops medium currency on death ### 4. Enemy Type 2 (Fast/Aggressive) High-risk, high-reward enemy: - Lower health but faster movement speed - Aggressive targeting (prioritizes weak points) - May have special ability: dash attack or rapid fire - Drops higher value currency ### 5. Damage & Health System Implement robust damage calculation: - Separate projectile damage (geese) vs melee damage - Damage reduction from shields/armors if applicable - Overkill prevention (no excess damage to player/enemy) - Knockback or stagger effect on high damage hits - Visual feedback (flashes, screen shake, hit particles) ### 6. Wave Balancing Create balanced wave progression: - Define enemy counts and types per wave - Ensure difficulty scales appropriately - Consider adding special elite enemies at peak waves - Balance spawn rates so player has time to react - Design currency drop rates that feel fair ### Exit Criteria: - Goose throwing feels weighted and responsive (not instant) - Enemies exhibit varied behaviors across types - Damage numbers/effects give clear feedback - Wave difficulty curve is engaging - Core loop is tight: spawn -> chase -> throw -> damage -> win/lose
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: letteka/YeetGeese#5