The holy grail of military science is an algorithm that calculates the optimal point of attack upon an enemy’s lines. In German, the word is Schwerpunkt and is commonly translated as
MATE (Machine Analysis of Tactical Environments 2.0, the AI behind General Staff: Black Powder) is now able to calculate Schwerpunkt to a new, substantially greater, degree of accuracy. There are a number of reasons why this is now possible, but the primary cause must be the ability to analyze the battlefield in 3D and to accurately map where every unit on the map can project its force. Indeed, for many years now I have looked at the problem of computational military reasoning (AI for tactical situations) as a force projection problem.
Below, is a visual representation of the total force projection of all units at Gettysburg, Day 3 (July 3, 1863 0600 hours):
If we ask MATE to determine the Schwerpunkt for the Confederates in the above situation, it responds with:
And adds the following commentary (edited for brevity, the numbers are the Premise Statement ID#s. This is basically a logic trace of MATE’s thinking):
8|∴ The enemy does not need to capture more Victory Points. 9|∴ The enemy will be on the defensive. ... 22|The enemy's flanks are anchored. 23|[9] + [22] ∴ Frontal assault is the only remaining option. ... 25|COA: Battle Group #1 (Mixed) assigned objective Weak Point Calculated by ROI coords: 551,232 ... 33|Red Battle Group #1 is opposed by Blue Battle Group #6 34|Red Battlegroup # 1's strength = 21,663 35|Blue Battlegroup # 6's strength = 13,635 36|Red Battlegroup # 1 has a numerical advantage of 8,028. Red has a 1.59 / 1 advantage over Blue Battle Group #6. 37|Distance to objective is 1,029.86 meters. 38|The maximum slope along the line of attack will be on an upward slope of 3.64%. 39|The attacking avenue of approach will be in enemy ROI for 541.18 meters. 40|The greatest enemy ROI along the avenue of approach is: 1,276.00 . 41|There is an unrestricted avenue of attack.
In other words, MATE has found a path to its objective that encounters the least amount of enemy projection of force. MATE would much prefer to flank the enemy position but it has calculated that this is impossible (#22, above).
ROI (Range of Influence) is calculated using values set up for each unit in the General Staff Army Editor and running a 3D Bresenham line algorithm to ensure that there is direct Line of Sight (LOS) to that point.
It is because every unit has an accuracy curve attached to it we can exactly map out the overlapping fields of fire (see above) and we can precisely calculate how long each attacking unit will be under fire and its intensity. That is how MATE chooses the optimal attack point: the path where its troops will be under the least amount of fire.
When MATE is presented with a tactical problem it first determines what it needs to do to win; is it on the offense or defense? On the offense, MATE will next check to find the enemy’s open flank and, if there is one, are there any crucial choke points on the flanking route? If MATE is unable to ‘fix and flank’ the enemy, and it has determined that it must be on the offensive, MATE then calculates Schwerpunkt (above). With this new Schwerpunkt algorithm the last big piece of the offensive AI puzzle is in place. Ironically, much of MATE’s defensive calculations involve first figuring out how to attack itself and then countering what it determines are its own optimal moves against itself (see this blog).
As always, please feel free to contact me directly with comments or questions.
amazing work! how can i play this or where can i get this? will it be on steam? Could you please make some youtube video’s explaining and or showing some gameplay?
kind regards
Yes, we will release on Steam. I’m amiss in not making videos. I did, however, buy the video editing software!
Thank you for the fast response. Ive been following along for a while now and i believe i was the one suggesting the game Grand Tactician Civil War! Very very nice to see you have been in contact! Ill be keeping an eye out for the steam release and i keep honing for some video’s 🙂 in the meen time my contribution will consist of positive files, keep up the good work!
About the commanding rights will be delegated to the AI, I have another suggestion, is to give players side each general set a “offensive” values, If the value more higher, the general more likely to take the initiative to attack the enemy or react to their actions, Otherwise they are more inclined to stay for watting orders. (Just like another game called Scourge of War series did) The above is just my personal advice, thank you for your patience! Thank you very much!
Yes, we track ‘Leadership’, ‘Morale’ and unit ‘Efficiency’ values. Leadership affects how quickly generals move.
This depends on the unit’s Leadership Value.
Thank you for your patient reply. I think giving the friendly AI full command rights can also simulate the actions of friendly forces, such as the complex battlefield situation in the battle of Austerlitz.
On the human side, how will units that the player has not given orders for the time being behave? Will they stay put and wait for orders, or will they counter the enemy’s attack? Even when there are good opportunities to attack and assist? (I personally think it’s more reasonable and realistic to delegate command to subordinate units in a situation if full fog of war is available, Because in that case the player doesn’t know everything about the battlefield, this is just my personal suggestion, thank you!)
Thanks for your patience Ezra, I have another question about AI, That is in the game for players will be able to delegated subordinate units to AI? such as for a diviziestro or a brigade commander issued a general goal, and then let the AI itsself by judging how to complete the task, or be devolved strategic location that AI can decide whether offensive or defensive? Does it have active coordination with friendly units? or active pursuit of the enemy? Thank you very much!
I hadn’t planned on the AI making subordinate decisions for a human player. It certainly could be done. But, it’s not in the game design documents.
On the human side, how will units that the player has not given orders for the time being behave? Will you stay put and wait for orders, or will you counter the enemy’s attack? Even when there are good opportunities to attack and assist? (I personally think it’s more reasonable and realistic to delegate command to subordinate units in a situation if full fog of war is available, Because in that case the player doesn’t know everything about the battlefield, this is just my personal suggestion, thank you!)
This is fascinating and clever coding and AI- it may change computer wargames forever!
Thank you so much! I’ve been working a long time on this problem.
By the way, it would be amazing if it were possible to develop a naval version of General Staff: Black Powder in the future, and it would even be great to break through the barrier between the naval version and the land version! Just my expectation and imagination, because I already love this game, thank you!
How does this work with fog of war ? Because calculating the enemy fields of fire everywhere means that you have to know the enemy’s position and condition everywhere. How does MATE deal with FoW ?
You are absolutely right. These are decisions MATE made with complete knowledge of the battlefield. With Fog of War (FoW) MATE’s knowledge of the battlefield is accordingly diminished. See: https://www.general-staff.com/tag/fog-of-war/ for examples of MATE and FoW.
It was amazing to see MATE operate so intelligently in both offensive and defensive situations! I have a question, can the original single unit be divided into several smaller units or combined during the game?
Originally there were plans to be able to combine and split units during the game but it became too complex. You can do that BEFORE or AFTER a scenario using the Army Editor.
Thank you Ezra for your reply, I hope you can continue to develop this game after release, adding more new features, such as the ability combine and split units during the game, thank you for all your great works, best wishes!