ORIGINAL: c92nichj
ORIGINAL: Shannon V. OKeets
Choosing a general order from a list is the part I have the most difficulty with. Even in the most obvious cases where a general order would apply (USSR at the start of Barbarossa: Retreat!) there seems to always be exceptions. 90% of the army, navy, or air force may be following one general order while the other 10% is doing something quite different. If the AIA applies the general order to 100% of the forces, that is exactly when the enemy can exploit the AIA doing something stupid (Why did the AIA retreat from Leningrad? OR Why did the AIA hold on to that overextended part of the front line when the enemy clearly could isolate it?). Similar laments could be made about how the air units are handled. I used the examples about the land units because they are easier to understand.
How would the AI-opponent handle a situation like this, in a single player game? My thinking is that you could reuse some of the code that are written for the AI-opponent and handle this the same way.
Example:
DECISION MAKER: Russian air commander
(1) PROBLEM: Defend russian front
(2) CHOICES: (a) Disprupt german Army, (b) Retreat at all cost (c) Assist attacked USSR units (d) Preserve airforce & Army
(3) INFORMATION NEEDED:
- (1)Prioties on preserve airforce/assist attacked units
- (2)Predicted frontline at end of turn.
- (3)Hexes that I will fight for (leningrad, rostov)
(4) CRITERIA:
If (a) Use bombers in Groundsupport if it increases chance of flipping german units and estimated losses is less than (1), rebase(2)
If (b) Use all available air moves to rebase planes to Hexes that I will fight for(3) and beyond estimated frontline(2).
If (c) Fly ground support if estimated losses less than(1)
If (d) Fly ground support if odds of USSR units survives increases and estimated losses less than(1)
As a standing order I would decide the choice and the priorities in infromation needed the details of the criteria would be the same as the AI-opponent uses.
What you are proposing is to give the player, through the AI Assistant, the ability to see into the AI code at a operational and tactical level and replace some of the AIO's decision making logic with the player's own overrides.
I guess I am reluctant to have the AI Opponent code serve as AI Assistant code. This is somewhat personal - I feel that the AIO is a manifestation of myself that will compete against the players. In reality it will be designed by many people, but at the end of the day, it will be my decisions that determine how well it plays. To just give away its capabilties to players seems to go beyond charitable.
Somewhere in the mishmash of logic and emotion I have on this subject is my experience playing postal chess by mail until it became obvious that some players were running the positions through computer porgrams to determine 'their' moves. If I just wanted to play against a computer, I could easily do so and didn't have to go through all the effort and expense of mailing postcards across the country. If the AIA is making most of the decisions for a player, why do we need a player. Yeah, I know, my logic here is very thin - it's mostly emotion.
I also feel that the players get an enormous advantage over an AI opponent in that they can try different tactics and strategies over and over again until they find one that works. They can also play the computer against itself to see how to counter the computer's best tactics and strategies. They also have the history of a bunch of games to study to pick out any weaknesses they can find in the AIO's play. Given all these advantages, letting them also delve into the underlying principles and structures of the AIO design seems to go somewhat over the top in providing help.
And, more to the point, when designing the AIO,
I do not want to think about how I might have to explain processes, structures, and logic to a novice player so he can manipulate the same code within the context of controlling the AIA.
Maybe after the AIO is all written, debugged, and tested against difficult opponents, I might give this another think - say as part of a future MWIF product or something.