A recent Facebook review on a new solo wargaming book got me to thinking about what I would want to read on the topic. The review pretty much listed what I don't want and apparently the book in question had all of these! I don't need force generators or scenarios I can do that myself. I don't want a history of or definition of what solo wargaming is either, most of my games are solo I understand what's going on...honest. What I want is a non player opponent who makes decisions based upon the situation, pre battle objectives, and tactical options available. Ideally it would look at the balance between it's forces and mine and decide on an overall approach that suits it's forces strengths and weaknesses and takes advantage of my forces weak areas. It would also be nice if it could surprise me from time to time and wasn't so smart that I am never able to beat it! It's not too much to ask is it. I suppose what I am looking for is some kind of Artificial intelligence (AI).
I suppose the same goes for Wargames |
Funnily enough I had to undertake a long drive today (Well not that funny the weather was dismal) and , as you do, tuned into Radio 4 as my usual channel had poor reception. Lo and behold I stumbled onto a discussion of the development of AI systems. It seems that in the early days there were two schools of thought about how to create a workable system. One was based on mathematical models and in effect created huge suites of 'IF THEN' steps. The other was bio- computational and sought to create what we now call neural nets. The first was something that was seemed achievable with the technology available but had limits hard wired in by the drafting of the IF THEN alternatives. On the other hand the neural net had huge issues around being able to create the thing but would then have been self sustaining as it would set most of its own decision making parameters and would learn as it grew (Sounds a tad scary to me)
If I'm brutally honest I understand the concept of IF THEN chains but Neural Nets are beyond me. I actually started to try to create an AI opponent using a simple set of IF THEN steps over a decade ago and ran into some of the problems that proper IT scientists hit. The first is that you have to understand the entire decision making chain and second it gets very clunky very quickly as the length of the IF THEN steps increases.
So why am I bothering to write all of the above? Well in the absence of any clever IT boffin creating a computerised AI opponent for me I am going to have another attempt at the 'IF THEN' approach. Here is where my thought process has brought me to so far:
Firstly the AI General tries to gather information about the player's forces by scouting and interrogating the local population. Friendly locals are going to give more help than non friendly ones. The number of mounted troops (cavalry and or Dragoons) influences this step as does the number of player mounted troops screening against scouts.
Next there is a pre battle assessment where the AI General looks at his troops and compares them to what he knows of the enemy. This considers troop types, quality, numbers compared to the player's force and the broader operational situation (for example is an attack at poor odds necessary to pull enemy troops away from another location). A basic tactical decision is made at this stage about whether to engage in battle, to withdraw, hold the ground, redeploy to a better site and similar overarching matters.
Now comes a more detailed tactical review on how to deploy and actually fight. This considers the ground held by the two armies and who it favours. The balance and composition of forces and the possible deployment.
All I have to do is create excel spreadsheet formulas to value those decision factors and If Then statements or other options to fine tune the AI options. Sad to say that is where it all came to a grinding halt last time I tried this. So here is the thing do any of my readers have any suggestions on what to include, how to weight the various decision factors or even suggestions for something that has already done what I'm considering or even an AI chat bot that could create tactical decisions?
Answers gratefully received in the comment section.
This sounds like a massive undertaking, and even then may olny deliver 'robotic' behaviour, albeit based on a limited information set. Also, it is unlikely to surprise you if based on a series of IF statements that you wrote. Real generals have personalities and traits that will heavily influence their decision making; indeed knowing your opponent's personality and exploiting it against him has often delivered some of the more surprising historical results.
ReplyDeleteI reckon it's much easier to make some firends and rope them in to help, even if just PBEM. Some of the most fun campaigns I've fought (run by others who deserve the credit) fought the battles solo, but with the armies sticking closely to a written battle plan / scheme of manoeuvre. IMO, so much table-top generalship is about omnisicient unit shuffling, when in reality nearly all the important decsions were made before the battle started.
I wish you well going forward and look forward to reading more about this project .
PS if sticking with an IF THEN approach could I suggest a series of options for any given IF each of which would have a probability against it. You could rank the options by how bold / timid they are and combine this with commander's personal rating to make the response more varied. Better still the general's personliaties could be generated unseen by the player so you would slowly learn which opponents you might tack liberties with. These general's traits could be modified by the results they encounter, a crushing defeat might make them more tiimid...
Rob, I had some ideas on ranking outcomes in a similar way to your concept. I was also building in an idea for the AI to create generalised instructions giving me some lee way on how to interpret how the AI side operated under those orders.
DeleteA really interesting post, which cuts deep into my own gaming - many thanks. I think there are a couple of naive versions out there, for instance in Morale Napoleon and Programmed Wargame Scenarios, but I think that they are too primitive for what you have in mind. Otherwise, the best systems I am aware of tend to equalize the player and game AI through removing perfect information from the player, i.e. by stochastically generating enemy forces and random events, or limiting each sides' activations, and so on. There is a good reason for this too, perfect information is a hard enough obstacle in chess or Go, which are somewhat calculable (i.e.there are limited numbers of positions and interactions) compared to wargames, where this just isn't true. That is why (even) computer wargame AI often tends to have some highly exploitable behaviours, since they can only deal with the information requirements for very local situations. That is why for full information wargames, it is quite hard to beat just asking yourself "what should the enemy do here?".
ReplyDeleteI think quite a lot also depends on which tactical rules you are using. The more modifiers there are, the harder it gets to programatically calculate the optimum previous actions to maximize positive modifiers and avoid negative ones. Are there any particular rules you have in mind?
JWH I play ancients under DBA and probably ADLG going forward and 17th Century using my own rules. I like a solo game to create a believable narrative for how the action unfolded with a result which fits into the narrative, background and forces deployed. I think that leaving the detailed tactical orders a little 'fuzzy' may help with that. I haven't seen how Adjutant Introuvable does things and may look to obtain a copy in the new year.
DeleteWatching your progress on this with interest. It’s a rabbit hole I’ve fallen down twice - with only moderately successful outcomes.
ReplyDeleteI think some form of card activation/events with a bit of your opponent will always choose the option that will make you worse off is likely easier. Event cards should be weighted to disadvantage you such as enemy is closer than they appear, enemy troops catch you unawares or your troops do not advance as quickly as you expect them to.
ReplyDelete