Triple A AI
Hey guys, I just started playing the AA50 1941 map against the AI and it’s a lot of fun, even if it’s a bit easy. What I want to know is: is there any difference between the 3 levels of AI?
EZ Fodder = very easy, doesn’t use aircraft, simple algorithm of attacking anything it can win, and not attacking anything it can’t win
Moore N Able = medium difficulty, uses much more complex algorithm but still can not think ahead
Dynamix = only land, no sea, medium difficulty, can think ahead slightly, but not finished and the developer who was coding it left triplea. i’m considering removing it because it can not do any sea movement.
i recommend playing against moore n able.
Well, thank you Veqryn. I must say, I was playing against this Dynamix and I was thinking, ‘he’s not moving his ships around!’ lol Some more questions on the AA50 1941 scenario, if you please:
1 - Are the three different victory levels based on 13, 15 & 18 VCs, just like in the boardgame?
2 - There don’t appear to be any screens/graphics for the Collect Income/National Objective phase. Or am I missing something? (It would be nice to see this info somewhere)
3 - Is the Chinese player/AI able to build 1x Infantry per 2 territories he controls?
Thank you, it is great fun. And once I’m a bit more ofey with it, I’ll try an online game or something!
2. you can see the info in the history panel. normally no popups happen for the end-turn phase, but if you want to see the details just look in the history panel
3. all rules affect all players, regardless of what controls them, human or ai. that said, the easy ai doesn’t know how to place them with the special chinese rules, while Moore AI does a decent job of placing them. I am recommend moore ai for everything.
Thanks for your answers, Veqryn. I’ve been playing it all day using the ‘Moore N. Able’ AI and he was giving me a run for my money at times! I love it but I do have some ideas to help improve the whole experiece. Could you possibly put me in touch with the developer(s)? I would be very grateful, thank you.
i am the main developer right now
however, we do not have any AI developers right now, and I’m not touching the AIs unless there is a null pointer error or something. i’m mostly focused on trying to get 1940 to work…
the dev forums are here:
maybe you can recruit us a new AI developer?
Thank you, Veqryn. No, I’m not a developer by any means and I’m happy with the AI as it is. I merely wish to possibly get involved with the look/feel/easthetics/functionality side of it. I’m good with art and graphics, is all. I love to work on maps/interfaces and stuff. I will check out the developer forums.
Also, as an aside to that: when I reload a saved game, the program resets all the powers to Human control by default. Is this right? The game I saved last night had the Axis powers as Human-controlled and the Allied powers as the ‘Moore N. Able’ AI, but when I reloaded the game today it had reset everything to Human. Surely this is not right? Or am I missing something?
Hey Veqryn. Have you thought of perhaps getting a university involved an having a grad student do a thesis or as some sort of project?
I’ve been doing software development for quite some time and am currently taking a 4th year university course in machine learning to complete a 4 year degree I started in the early 90s. I was also nearly killed by a drunk driver 18 months ago so this is way beyond the effort I am able to give to it. I would be happy to act as a free consultant for such a project. If the rule enforcement libraries in existence could be easily accessed it would make the job of AI creation much easier. Genetic learning would be a way to attack generic problems that multiple games under tripleA represent, would make a really cool project and my professor specializes in this.
a while back (during the time when 188.8.131.52 triplea was out), a grad student made an Alpha-Beta trimming AI that could simulate many turns ahead, as a project for his school.
The problem was though that because it was a theoretical work, he made it to only work with the “minimap” and not with any ‘real’ maps.
And in addition to this, the AI looking 3 turns ahead caused the turns to take over 10 minutes, on minimap.
By turns I mean player-turns. So minimap is a 2 player game, so this meant red turn - blue turn - red turn.
In order to be good at a map, he projected it would need to look 2 full rounds ahead. Which would mean on a map with 6 players, it would need to look 12 turns ahead. This would probably need a supercomputer to run.
He did give me the code though…
Actually coding the AI is much easier than you think it is. Much much easier. (its just time consuming)
In fact, I fixed most of the bugs in the “Moore AI” before I even learned Java (I have some background in ‘Basic’ so I know things like variables, if-else, while loops, etc., and that was all i needed to be able to read the code).
Basically, all AIs extend the “AbstractAI”, and they just have to have certain methods that will get called by the abstractAI as each phase or question comes up.
No need to learn about any of the validation, etc.
Hey, one thing I’ve found recently is that sometimes my air units are showing as not having enough range to reach a target when I know for a fact that they clearly do. I’m getting the little red ‘x’ over the target territory. I’m not sure if the AI is picking the shortest route to the target? The way I’ve found to get around this is to click on each game space individually until my air unit reaches the target territory, and then it works fine. Now, why would this be? Is it a bug? Thank you.
first, which version of triplea are you using?
second, under what circumstances does it happen? ie: does it only happen at sea when there are carriers involved in the movement, etc?
maybe giving me a savegame of it happening would help me fix the problem…. please email me the savegame or post it here
(nothing to do with the AI btw, as you are a human player)
I am using 184.108.40.206.
It happened on a combat move phase where I was trying to bomb an enemy ic. I knew my bomber had enough movement to hit the ic and then fly back to a friendly territory since the start of the turn, but no matter how I tried the system (not the AI) wouldn’t let me do it in one click. I had to literally click each space in turn until i reached the target ic. I will try and get you an example and hopefully a screenshot.
I love Triple A and will do anything to help make it better! Also, it’s happened a couple of times where the enemy AI has attacked my submarine with air units and he did not bring a destroyer. The system asks me if I want to submerge and I say yes. But surely aircraft can’t hit an enemy sub without a destroyer! What would happen if I clicked ‘no’…? I will investigate.
The AIs were built back when Revised was the main game, so they assume that fighters can hit submarines.
A screenshot will not help much, but if you can get me a savegame, that would be perfect. With the savegame, I can load it up while in debug mode and see where in the code it is stopping you.
Also, in the future, you can use the CTRL key to map out the path you want to take. Just CTRL-click on each territory on the path.
Veqryn. By validation, I mean being able to generate a legal game state from an existing game state. In some respects, AI is simple. From an existing game state, generate all legal game states and evaluate which ones are good and go from there (repeat recursively to the ply depth your processing ability supports). But the game-state evaluation function is the key (and where the work lies). Sure you have more pieces, but I have you in check mate in 1 move with half your pieces. Like I said, I’m not the guy to do the heavy lifting, I just want to make it easy for the person/party going to do this. Whatever can be re-used to make this easier is going to make this a more desirable project.
I can see this as being an interesting application for genetic learning especially since existing game play histories can be used as a ‘case’ example for a branch of genetic learning called ‘case injection’. Moreover, being able to ‘Play’ against humans would be extremely attractive in a research project on machine learning.
Now as for super-computer power requirements, yeah maybe. I’ve used genetic learning algorithms and yeah, maybe it does require lots of power. In theory, a genetic algorithms could play any of the versions of games on tripleA, the variations require abstraction and that in itself is a draw in academia. The processing power could be outsourced to the ‘cloud’ or the university hosting the master thesis to work on this rather than just running on the user’s computer, or even a SETI like project. Genetic algorithms are well suited to distributed computing.
well…. as an open source project, anyone is free and able to look at and modify the source code
in addition to that, I’m willing to give dev access to anyone who wants to seriously work on either the map maker or any of the AIs
but beyond fixing the occasional null pointer error, I am really not going to be touching the AIs
I already spent about 3 months improving the Moore N. Able AI, and I’m satisfied that it can play most of the maps decently well enough.
(I also just created 4 different methods that let the AI cheat, which you can enable before the game starts if you want to. This is for TripleA 1.5 and later versions.)
so, if you or anyone else wants to pick up the code, feel free to start:
Great. I’ll pass along the concept and related links to the head of machine learning the the university where I am taking the course and see if it generates any interest. It would make an interesting project, might be worth putting it ‘out there’ to the academic community at large.
Axis and Allies was meant to be played by MEN, not MACHINES!
An AI intelligent enough, could become Artificial. I mean, if it knows when to rock out a good gamble, that could be dangerous!
For the record, I don’t “look” ahead in most of my games, other than for the obvious - “Oh they are going to take a shot at the capital” kind of stuff. If the AI just did what it had to do to get it’s NO’s, and focus on the economics, it would be deadly enough.