Tuesday, September 13, 2011

Why the Tactical Engine "Failed"

For those that have looked at my "Tactical Engine" (TE) in De Bellis Antiquitatis Solus (DBAS) you will have noticed that I have taken a non-random approach, meaning I do not use any random elements (like dice) to resolve which move to make in favor of another. Instead, I wanted to take a "logical" approach and weight all of the options, using a scoring formula, and take the highest value move first, the second highest second, etc.

The problem with this approach is:
  1. You must determine all of the possible moves an element can make, then calculate each score to determine which to make.
  2. You must determine all of the moves all elements could make, and compare each's best score to determine which would be first.
  3. A group of n elements has, at a minimum, n number of moves (one as a group of n, one as a group of n-1, one as a group of n-2, etc. and one as a single element).
Thus, the problem with the approach is that, taken to its logical conclusion, you would spend so much time determining all the possible moves, and scoring them, that you would have no fun. Or you would do what I did and only score what you thought was the element's or group's "best" move was and go from there. And if you do that, it is really little different from the tried and true solo gamer's methodology: play each side to the best of your ability.

So, what is the purpose of the TE? Originally, it was to point you, the player, to the move to be made by an element or a group. That caused me to re-think the process. Currently you could say that my process is to:
  1. Think of all the possible moves. (Or think of all of the probable moves.)
  2. Score each of those moves.
  3. Execute the moves in order from highest score to lowest, until you run out of PIPs.
The heart of the problem here is that the TE is not telling you what moves to make, you are telling it a move and it gives you a number indicating how "good" it is. Any "better" move won't be revealed unless you think of it and score it out.

So, if you want a solo system where the Non-Player General (NPG) presents the moves to you, you need a system of movement rules where you run down the list and when a triggering condition is met, you execute the move that it indicates. A "simple" IF-THEN rule base. That is the approach I am going to use for the TE in DBAS. If that is not the approach you want for your solo gaming, you might look at Richard Lee's Solo DBA on the Solo DBA Development forum on Yahoo.

More on this subject next time.

No comments:

Post a Comment