Saturday, December 04, 2004

Game Development Status 12/04/04

December monthly total 3 hours; yearly total about 346 hours.

November totalled 25 hours. Not nearly the level of effort I wanted, let alone the level of accomplishment. I got pretty sick the week of Thanksgiving and only completed about 10 hours of work the whole week. Bummer.

I am currently working on movement code for the AI. This code deals with CP's and MU's and the like. The latest two bits of work I am doing involve kedging code and code to move the Army-level leader unit.

Kedging is pretty important in the game. Kedging refers to moving out of command units toward their leader unit when the regroup chit is drawn. Kedging also refers to the practice of taking advantage of regroup moves in this fashion to move more units than one normally could given the available CP's. For the most part, I am writing code for the AI to kedge units in order to get them back in command. Later I'll write higher level AI code to use kedging like a player, i.e. to plot the leaders one turn so as to create a kedging situation the next.

One of the recent bugs I fixed was one in which CP's allocated to Corps did not cause the Corps' Divisions to move. Once I fixed this bug, I realized I was lacking a means of moving the Army-level leader unit. I was testing this fix with a test scenario based on the Opening Moves, which only has Soult and IV/2 on the French side and di Tolly and the 8th Division on the Coalition side. The test scenario effectively had Soult as the highest level leader in that game for the French, and the AI never moved him. So, I must write some code to move the Army-level leader. This gets interesting, because there are several ways this could go.

At present, I feel I have a good grasp on where to locate Division and Corps leaders. A Division leader will be located at the center of the line, stacked with one or more units. A Corps leader will be located with the Division currently designated as the main effort. (At least he will be once I complete the code to identify the main effort.)

Still, where to locate the Army-level leader? It strikes me that the two main choices here are to a) lead from the front, or b) stay in reserve. Given the relative immunity that leaders enjoy in the game system, lead from the front may be the way to go, in which case all I need to do is locate the Army-level leader with the main effort Corps and probably the main effort Division within that Corps. As the main effort Corps (and Division within that Corps) changes, shift the leader. The more I think about it, the more I think this is the way to go. A high level leader stuck with the reserve does little good; as the reserve is committed (and likely becomes the main effort for a time), the leader can join that command.

It may be necessary to bias the location of the Army-level leader to conform to historical practice. For example, did Napoleon stick with the Imperial Guard? I recall reading of many cases in which he lead from the front, and the historical notes and some of the scenario rules regarding the Imperial Guard imply their use as a reserve. (Thinking out loud a bit here.) OK, for now, I will have the Army-level leaders on both sides lead from the front (versus stick with the reserve -- of course, the main effort in a defensive situation may not be a command in contact, so I think I'm still OK). It's the easiest thing to implement, and I think it might actually work well. If this doesn't hold up well in Beta then I'll do something else.


Post a Comment

<< Home