Join the TripleA TEAM!
-
I would like to learn more about AI development and I have so many questions.
-
To what extend can casual players contribute AI development?
-
Will the AI always be designed and developed to be suited to only A&A rules?
-
How could AI be developed for maps that uses different rules than A&A rules to some extend?
-
Can AI be technically as good as humans or even better?
-
Could AlphaZero be helpful if all territories were represented with squares in a rectangle map?
-
-
To what extend can casual players contribute AI development?
Pro-AI is not trivial and does not have any tests written for it. So it can be quite daunting to approach and one would have to be really careful about what you change. The biggest contribution from casual players is probably clearly coming up with scenarios where the AI makes a mistake, concisely explaining it and posting a save game where the mistake is made.
In terms of coding, the engine is supposed to have a pretty well defined set of interfaces for plugging in an AI, though it's not a small lift at all and requires some programming skill.
Will the AI always be designed and developed to be suited to only A&A rules?
Probably
How could AI be developed for maps that uses different rules than A&A rules to some extend?
First we would need to add back more than just A&A style rules, then one could build AIs for it. Building a generic AI that can solve any game is the stuff of doctoral dissertations. There is no plan to expand the A&A style rules beyond being able to support 'conquest' (Risk (TM)) rules.
Can AI be technically as good as humans or even better?
In theory better, certainly.
Could AlphaZero be helpful if all territories were represented with squares in a rectangle map?
Machine learning requires a lot of data, you'd need the AI to play against itself to create a training data set. If you're asking whether we could just plug in AlphaZero, no, we couldn't unfortunately : )
-
To what extend can casual players contribute AI development?
To expound, if you are inclined to work on the code, then not only would a person come up with a concise scenario for improvement, but they would then work on the code fix too.
-
If casual players want to contribute improvement of AI should they only come with save games that uses fully A&A rules without any exception? But also A&A rules are different in each versions but most popular-casual maps are based on strickly v3 rules.
For example I've tested AI in Aggression 1941 despite slighly different rules than v3 rule-set, AI mostly makes the same mistakes and even have problem to understand v3 rules.
Germany
- Does not use starting submarines.
- Too obsesive to overdefending capitals and resulted very weak push in the Eastern Front and remaining armies always switch around Germany-W.Ukraine and Hungary.
- No interest to defend France.
- Never buys naval units despite cheaper costs.
- Doesn't know how do naval blockades and intercept work.
Russia
- Prefers stacking Moscow-Bereznik instead of Ryazan without any benefit
- Overdefeding Sinkiang and W.India despite zero Japanese threat.
Japan
- Sending transports undefended
- Does not attack China.
- Doesn't use the navy effectively in anywhere.
- Buys too much fighter without effectively using, can't even sacrifice losing a few fighters for better trades.
- Still thinks its main purpose is fighting with Russia.
- Doesn't buy any naval units.
- Doesn't know how do naval blockades and and intercept work.
England
- Overdefending India, Africa and Sinkiang.
- Almost no commitment in Europe.
- Sending transports undefended.
- Does not buy naval units.
- Doesn't know how do naval blockades and intercept work.
Italy
- Sending transports undefended.
- Not thinking about protecting German transports.
- Sending armies to Hungary and Yugoslavia without a reason
- Overdefending Germany despite zero Allies threat.
- Does not buy naval units.
- Doesn't know how do naval blockades and intercept work.
America
- Sending transports undefended.
- Overcommitment to Africa.
- No intention of invading Europe or bombing.
- Not using navy effectively.
- Does not buy naval units.
- Buys too much transports.
- Doesn't know how do naval blockades and intercept work.
China
- Not caring much outside of Sinkiang.
-
@Schulz this conversation highlights that we need to define the names and meanings of the different rule-sets. I took A&A rules to mean all of its variants (v1-v5+). Yes, AI is intended to play well on all rule variations. There are some scenarios that are complex and not thoroughly implemented, but that is not to say it can't be improved.
-
I've tried to prevent AI overdefending Germany-N.Italy-Sinkiang by removing their capital status but still resulted with massive stacks around them.
I have some though that might be reasons of AI behaviors.
German AI Thinks
-
Submarines should not be used to attack since they are more expensive than air units, better to preserve them and attacking allied ships with air units only(ignoring AA handicap for air units).
-
Germany is increadibly valuable territory, its better to keep all armies around it considering Russia is a lot weaker, even a token force might be enough to defeat Russia.
-
Naval units are expensive and useless (ignoring their better defense/movement advantages/blockades)
Japanese AI thinks
-
Avoid attacking China because thinks its a bad trade considering Chinese units are cheaper. (ignoring China's low production and low base production)
-
Probably tries to make deadzoning in Pacific against the US since mass fighters perform better than mass destroyers at attacking.
-
Thinks it is A&A style game which Japan should always attack Russia.
English AI thinks
- Germany is too strong, better to fight in other areas.
American AI thinks
-
Constantly switching all units from one ocean to another is a good idea.
-
The only AI that buys transports.
The Allies really scare Kwantung Army.
-
-
@Schulz , let's keep this thread on-topic : )
I've created category in forums "AI" to hold all conversations related to AI, would you mind migrating your questions there and we can continue the conversation in that thread?
-
Sure, I'm just relocating all of these questions to "AI topic" with additions.
-
Hi , my name is Jack Sarles and I'm a junior in a computer science program that is looking to help out the dev team here for TripleA. I have some basic java experience and have played probably at least 500 hours of Triple A in the past two years or so. I'm excited about the possibility of fixing bugs and whatever else needs fixing as well as a dream goal of working to improve the Artifical Intelligence because as a long time player of the game I definitely feel I've outgrown even the hard AI by a good margin. Anyways, I'm excited to help anyway I can!
-
Good to hear @Jack-Sarles
This page has a lot of documentation on getting started: https://github.com/triplea-game/triplea/blob/master/docs/development/README.md
Feel free to open an issue to talk through any challenges or help finding something to work on https://github.com/triplea-game/triplea/issues/new/choose
There are plenty of error reports currently to pick from: https://github.com/triplea-game/triplea/issues?q=is%3Aissue+is%3Aopen+label%3A"Error+Report", if you can pick one & reproduce it, you'll be half way there on your first fix, we'd be happy to talk through more details.
First steps though are to get started with compiling and running the code.
-
@LaFayette ok sounds good, I happen to be using the Intellij IDE from brainlabs already for school, is that what the rest of you use? Thanks. I'll read through these links!!
-
@Jack-Sarles For the most part, yes
-
I would like to help updating bots if there is a need. Thanks.
-
SilverBullet indicated he mentioned me (RommelsAsparagus on TripleA) for looking into a Mod role - which I am confirming my interest in here
Mike
-
@prastle New Dev Document is located here https://github.com/triplea-game/triplea/blob/master/docs/development/README.md
-
@schulz I am really interested in working on AI development as well. I am still getting my machine setup to code, have you completed this yet?
-
@jack-sarles I don't work on AI development.
-
@schulz oh ok
-
@jack-sarles said in Join the TripleA TEAM!:
I am really interested in working on AI development as well. I am still getting my machine setup to code, have you completed this yet?
@jack-sarles
@LaFayette is your man to give the heads up to.Jack I will help do your AI testing.
-
@thedog Sounds great, I am embarrassed that I haven't been able to contribute any code in the 12 months since I expressed interest. but I am here now and want to help! I will try to talk to @lafayette I also have some developer friends nearby that I can probably ask to help me get my machine setup as well. Thanks for the offer for the testing! I would love to be able to say I added one little thing that made the AI better even if it was just for the 1940 scenarios. I can see that it's recommended to make very small changes to the code so it is likely something I will need to build up to.