Tuesday, April 10, 2012

Planning Milestone 2

With Milestone 1 out of the way, Milestone 2 now looms. From my current vantage point, it looks like a pretty steep mountain to climb, so let's see if I can find a way to break it down into something manageable.  Some of the following chunks are a bit large to be called "bite-sized", but they do provide a logical division of related functionality so I'm going to try to move forward with this plan.

  • Phase 1:  Completing the UI for player-controlled combat factors.
    • Requirement 2.1
  • Phase 2:  Combat using basic Combat Tokens.
    • Requirements 2.2 and 2.2.1
  • Phase 3:  Offensive Power Tokens
    • Requirements 2.2.2, 2.2.3, 2.2.4, and 2.2.5
  • Phase 4:  Defensive Power Tokens
    • Requirements 2.2.6, 2.2.7, 2.2.8, and 2.2.9
  • Phase 5:  Handling combat results
    • Requirements 2.3, 2.4, and 2.5
  • Phase 6:  Auto Defense and the Event Log
    • Requirements 2.6, 2.7, and 2.8

Here's the complete set of requirement statements, expanded for clarity.

Milestone 2: Combat Resolution

Requirement ID Description Dependencies
2.1 When a unit is attacked, the system shall notify the player controlling the unit by presenting a Defend UI which allows selection of a defensive combat token from the player’s inventory. 1.5
2.2 The game server shall resolve combat interactions by evaluating the stats of the characters and their selected combat tokens and updating the data model accordingly. 2.1
2.2.1 The combat evaluator shall process Combat Tokens for their basic attack and defense values.
2.2.2 The combat evaluator shall process the Vampire Power Token | If the attack does damage, the attacker heals one hit point per unit of damage dealt.
2.2.3 The combat evaluator shall process the Lucky Shot Power Token | If the attack does damage, the damage amount is doubled.
2.2.4 The combat evaluator shall process the Desperation Power Token | The attack value is normally 4, but if the attacker is the only remaining member of the team, then the attack value is 10.
2.2.5 The combat evaluator shall process the Blaze of Glory Power Token | If the attack does damage, the damage amount is doubled, but if the attack is blocked, the attacker takes 5 points of damage.
2.2.6 The combat evaluator shall process the Reflection Power Token | Any attack, regardless of power, is reflected back at the attacker. The defender takes no damage.
2.2.7 The combat evaluator shall process the Resolve Power Token | Defense value goes up as the character health goes down. DF = maxHP - currentHP
2.2.8 The combat evaluator shall process the Lucky Break Power Token | If the attack is blocked, any excess defense points are converted to health points for your unit.
2.2.9 The combat evaluator shall process the Shatter and Scatter Power Token | If the attack is blocked, each member of the attacking team takes two points of damage.
2.3 The game server shall broadcast a summary of combat results to all connected players. 2.2
2.4 The system shall provide a Combat Results toggle that allows players to opt out of seeing the detailed combat summaries at the conclusion of each combat interaction. 2.3
2.5 The user interface shall display a combat summary screen when combat results are received from the game server IFF the Combat Results option is turned on. 2.3, 2.4
2.6 The system shall provide an Auto Defense option that players may activate if they would rather have the game select their tokens for them automatically when their units are attacked. 2.1
2.7 The system shall display an event log on the HUD which records the actions taken by all units in the game. 2.3
2.8 AI players shall be able to defend against attacks subject to the same rules as the human players. 2.6

No comments:

Post a Comment