rpg-combat-pi-01/doc/user-story-observations.md

3.1 KiB
Raw Blame History

User Story Observations

Domain Model Overview

The domain has four core entities:

Entity Key Properties
Character Health (max 1000/1500), Level (110), Alive/Dead, Factions (many), damage survived, faction count
Magical Object Health, maxHealth, type (Healing or Weapon), destroyed flag
Faction String/name, members
Damage/Heal events Source, target, amount, level-adjusted

User Story Groups

1. Damage & Health (3 rules)

  • Characters start at 1000 HP, Alive
  • Damage subtracts from HP; death at 0
  • Self-damage forbidden
  • Healing: self only, dead can't heal

2. Levels (2 rules)

  • Base level 1; max HP scales at level 6 (→ 1500)
  • Level gap ≥ 5: damage ±50% (target higher = -50%, target lower = +50%)

3. Factions (3 rules)

  • Characters can join/leave multiple factions
  • Same faction = Allies: no damage between allies, ally-only healing

4. Magical Objects (3 rules)

  • Healing objects: give HP to characters, can't deal damage, can't be healed
  • Weapons: deal fixed damage, lose 1 HP per use, can't heal
  • Objects are faction-neutral

5. Leveling Up (3 rules)

  • Survived damage: Level 1 → 1000, then +2000 per level (cumulative)
  • Faction diversity: Level 1 → 3 factions, then +3 per level (cumulative)
  • Max level 10, no level loss

Observations & Ambiguities

  1. Max HP scaling: Only mentions the jump at level 6. What about levels 710? Is max HP flat at 1500, or does it increase further?

  2. Level gap rule: "5 or more levels" — is it strictly ≥ 5 or > 5? The wording says "5 or more" so ≥ 5.

  3. Survived damage counter: Is it per-character global (across all battles), or per-battle? The story says "counted over several battles" → global.

  4. Faction diversity counter: "ever been part of" — cumulative across the character's lifetime, not just current factions.

  5. Level-up timing: "happens directly afterwards (if the player is still alive)" — level-ups are synchronous, not deferred.

  6. Magical Object durability: Weapons lose 1 HP per use — does that mean they can be "used" until destroyed (HP = 0)? Healing objects presumably can also be depleted.

  7. Healing cap: Characters heal up to their max HP (which depends on level), and objects heal up to their own max.

  8. No explicit interface: The stories describe behavior but don't specify method signatures — we'll need to design the API.


Suggested Implementation Order

  1. Character (HP, level, alive state, factions)
  2. Damage/Heal mechanics with faction ally checks
  3. Level-based damage modifiers
  4. Magical Objects (Weapons + Healers)
  5. Leveling up (survived damage + faction diversity)