Mischiefblog
I WATN 2 MAEK GAEM!

CombatSim todo

Posted by Chris Jones
On May 13th, 2007 at 21:02

Permalink | Trackback | Links In |

Comments Off
Posted in Design Journal, Java

If you haven’t tried out my CombatSim statistics generating program alpha release, feel free to download it an give it a try. All the source is inside the JAR.

Todo:

  • Allow each divisor for a stat/attribute or skill to be stated as a linear function (as it is today), geometric, exponential, or logarithmic value.
  • Collect histogram data for each weapon swing, damage done, etc. Do this by allocating an array (or list backed by an array) where each integer value amount is in the index into the count. Graph those values.
  • Allow entry of a seed value in the random number generator so combat results can be regnerated. Include the seed in the combat results.
  • Use a Mersenne Twister instead of java.math.Random generator to guarantee equivalent results given the same seed between versions and platforms of the API.
  • Write log entries to disk.
  • Allow the users to tag and save runtime configurations.
  • Allow the user to add or remove parts of the combat (such as disabling dodge).
  • Add new combat defenses (such as parry and block).
  • Support more than one attack type.
  • Assign attack types to each attacker.
  • Give each attacker attack type selection logic.
  • Support more than two attackers and support target selection logic (and designation).
  • Refactor the combat logic to include genericized metrics collection (rather than specific to the Combat Sim class).

It’s a hell of a lot to go through for a combat simulator, but in the end I should be able to calculate combat results that would be similar to what could be expected in a completed multiplayer game. Additionally, the creation of target and attack selection logic, much like the core of the combat simulator, should be portable to the real game and will result in a savings in development and testing time later. It would be nice to essentially be able to drop combat logic into the game and know that it will generate the results I expect.

Comments are closed.