docs: update Phase 1 — player is ranged (projectiles), not melee

Recorded design decision: player primarily shoots projectiles,
melee is secondary (enemy contact damage only).
Marked completed items: contact damage, knockback, goblin AI, slime AI.
Added projectile system spec: arrows, fireballs, magic bolts.
This commit is contained in:
Emil
2026-06-21 10:44:37 +03:00
parent 2078e3f11e
commit 8ac2470546
+21 -8
View File
@@ -59,20 +59,33 @@ Three render modes:
**Goal: entities can fight and affect each other**
- [ ] Melee combat: rigid entity AABB overlap → damage exchange
- [ ] Health bars in terminal render (colored indicator above entity)
Player combat style: **ranged** — player primarily shoots projectiles, not melee.
Melee exists as secondary (contact damage from enemies, knockback) but the core
loop is: aim → shoot → projectile travels → hits enemy → damage/kill.
- [x] Contact damage: enemies deal damage on AABB overlap with player
- [x] Knockback: damage applies velocity impulse to rigid body center
- [x] Goblin AI: move toward player, attack when adjacent
- [x] Slime AI: jump toward player, contact damage
- [ ] **Projectile system**: lightweight rigid bodies (arrows, fireballs, magic bolts)
- Player shoots with directional input (mouse aim or movement-direction)
- Projectile = small AABB, velocity, damage, lifetime
- On hit with entity: deal damage, destroy projectile
- On hit with solid cell: stop/destroy
- Fireball: ignites materials it touches (Noita-style material interaction)
- Magic bolt: pure damage, no material effect
- [ ] Health bars in render (colored indicator above entity)
- [ ] Death → ragdoll → corpse decomposition (flesh cells drop into grid over time)
- [ ] Projectile system: thrown objects (arrows, fireballs) as lightweight rigid bodies
- [ ] Material interaction with entities: entity walks through fire → ignites, acid → dissolves
- [ ] Knockback: damage applies velocity impulse to rigid body center
- [ ] Goblin AI: move toward player, attack when adjacent, flee when low HP
- [ ] Goblin AI: flee when low HP
**Tests needed:**
- Melee damage between two entities
- Projectile travels and deals damage on hit
- Projectile stops on solid cell
- Fireball ignites wood on contact
- Contact damage from enemies (done — slime tests)
- Knockback direction correctness
- Corpse decomposition produces flesh cells in grid
- Projectile travels and deals damage on hit
- Goblin AI moves toward player
### Phase 1.5: UI Layer (Non-Destructive Overlay)