[TestAI] Download and discussion
-
About
"TestAI" for TripleA was originally developed during an university course in 2015 (with TripleA version 1.8.0.9).
The main goal was to implement an AI for the movement of units based on the UCT algorithm. Other phases of the game are implemented too, but mostly for testing the AI in full game scenarios.
Download
Contains all required files and a handbook with further explanations.
Development
If someone is interested in (some parts of) the code, it can be used under the terms of GNU General Public License version 2 or later. I don't have time to maintain the code by myself, but try to answer questions in this forum at least.
-
@a-s How did it actually perform?
-
@rogercooper said in [TestAI] Download and discussion:
@a-s How did it actually perform?
Well, technically, it does, what it should and the defined "goals" can be seen in the movement of units on the map.
In terms of "playing strength", more goals in class "TestSetAndEvaluateGoals" would be needed, and "TestPurchaseAI", as well as "TestPlaceAI" are not elaborated enough, I think.
"TestPurchaseAI" and "TestPlaceAI" could be connected to the "goal- approach" too, or replaced with other classes for this phases.
At the moment, they are only connected by an integer "alignmentOfAI" to the rest of the code, and not really bound to it.
Overall, I would say, it is a "proof of concept", that the UCT algorithm can be applied to the movement phases in TripleA. Of course, it is possible, that this has be done in other AIs of TripleA already.
-
@a-s The other AI's don't use UCT or any similar algorithm. They use heuristics based upon testing various possible moves for net TUV benefits and enemy counterattacks.
-
@A-S How does one go about actually running this bot and playing with or against it? I can't seem to figure it out based on the handbook alone.
-
@cosmo Which handbook are you referring to?
-
@lafayette I'm talking about the handbook included in OP's zip file. I can't figure out how to hook these .java files up to either the server or the client. Do you know how I might go about it?
-
@cosmo I have never seen that handbook before I don't really know who authored it, or when. It does not seem to go into detail about how to add a test ai.
I'm sorry, I can't be of help to you here. There is a lot more background and research that needs to be done.
- what is your experience building java applications?
- are you able to build the triplea source code?
- how old is this source code? When was it last known to be working?
- what have you tried so far?
- why are you trying to build it?
This is just the start to the questions... Perhaps someone else might be able to help.
What i can say is there is a service discovery module that looks for classes on the classpath that have a given implementation. It should be mostly a matter of compiling and then adding the classes to the classpath in one manner or another. The AI's are possibly not completely plug-and-play, so you may need to make additional code updates before this AI is actually usable.
I do vaguely recall in the 'dev handbook' there being mentions about how to integrate a new AI. That 'handbook' though is a legacy document and YMMV.
-
@cosmo said in [TestAI] Download and discussion:
@lafayette I'm talking about the handbook included in OP's zip file. I can't figure out how to hook these .java files up to either the server or the client. Do you know how I might go about it?
Well, I wrote a short guide for development with Eclipse Juno and TripleA Version 1.8.0.9 back then.
If you are interested, I could translate it to English, and add it to the handbook?
-
@a-s If the documentation is up to date, it could be useful and very welcome. All documentation belongs in this location: https://github.com/triplea-game/triplea/tree/master/docs, or on README.md files.
-
@a-s said in [TestAI] Download and discussion:
If you are interested, I could translate it to English, and add it to the handbook?
Yes, please! That would be amazing. Could you send me a link to the non-English version in the meantime?
-
@cosmo said in [TestAI] Download and discussion:
@a-s said in [TestAI] Download and discussion:
If you are interested, I could translate it to English, and add it to the handbook?
Yes, please! That would be amazing. Could you send me a link to the non-English version in the meantime?
Added a section "Development" to the handbook, and uploaded the file in the original post anew.
-
@a-s This is awesome, thank you so much! You're the best.