With great pleasure (and pride), today I want to tell you about an all-Italian project (but not Made in Italy ... how was that story about runaway brains?), which combines the research and development of a truly competitive Artificial Intelligence and its use in one of the most famous games ever: Pokémon. The name of the project, dAItto, is only the tip of the genius of a work which, I assure you, you will certainly appreciate.
Let's do the honors for the creators of this little pearl. dAItto is conceived, developed and managed by Emanuele and Massimiliano, two boys born and raised in Rome and both graduated in physics. Programmers "only" by passion (and sometimes by necessity), they explained to me how, without their knowledge of computational physics, they probably would never have come to such a result. dAItto is therefore a typical example of how the mastery of different disciplines can lead to unexpected results and, otherwise, simply impossible.
The project was born after having followed with interest the AI developed by Google and with the decidedly ambitious intention to try to emulate it. Initially, as Emanuele and Massimiliano explain to us, the test site must have been card games. The choice is then changed to Pokémon both for similar dynamics (we always talk about a turn-based game and with team building that is similar to deck buildin), both for convenience (less cards to program) and, of course, for the resonance that Pokémon would have guaranteed the project.
In reality, as Emanuele explains, the choice of Pokémon turned out to be more complicated than expected: "We completely forgot that it was a turn-based game, but at the same time. Predicting the opponent's choices and all the evolutions of the game thus becomes even more difficult, without forgetting that simultaneous games do not guarantee the satisfaction of the Nash Balance. "
The development of dAItto lasted about 8 months, exploiting only free time and almost "for fun". It is incredible to find out how often the best results are achieved when you are driven by low expectations and a lot of enthusiasm.
The first prototype of dAItto was in Python; to guarantee a faster calculation and reasoning of the AI, we have necessarily switched to a C ++ version. Furthermore, both are keen to remember the fact that they are the first to implement an adaptation of the Monte Carlo Method algorithms in such technology.
But what is it? What does it allow us to do? Very simple: it gives us the chance to fight against the most difficult AI ever seen on Pokémon. The rules and procedures are clearly "immediate": these are dry encounters, where AI and user use the same team of randomly generated Pokémon. The random choice of the team is intended, at least initially, to properly test the AI and allow the most balanced approach possible. In the future, the intention is to allow users and AI to choose their team.
Currently the entire first generation of Pokémon (including the Alola) is present and the layout has recently been modified.
Below is a practical demonstration of what it is, challenged by the well-known Th3 R3al Khaos streamer:
Do we have what it takes to defeat our toughest challenger? Pokemon artificial intellegence! Join the discord, pop in and say whats up on stream! Https: //discord.gg/CWThBt8
Published by Th3 R3al Khaos on Sunday 3 November 2019
But what is the ultimate goal of dAItto and, in general, of such artificial intelligence? Massimiliano explains it to us:
"Chess players were the first to realize the importance of a competitive AI to train and improve. Chess has always shown, among other things, that advanced artificial intelligence can also overcome the abilities of a human being. In gaming, a particularly advanced AI can not only help pro players to train, but also to understand and correct possible game imbalances in much shorter times. What a human captures in 100 matches, with an AI you would find it in 10. "
Therefore, Emanuele and Massimiliano's goal is not to simply create a new artificial intelligence for Pokémon. The intent is to be able to apply such technology in all possible fields, including other video games. The invitation to collaborate is therefore open to all game developers and programmers of any kind, interested in testing a competitive AI of this type in their titles.
dAItto is a means to make known the potential of such an ambitious project, certainly not the end.
If you want to contact the team, go to the dAItto Facebook page or write to the email: firstname.lastname@example.org.
I wish Emanuele and Massimiliano all the luck and success possible. We, in our own small way, always try to do ours. And sometimes, maybe, we succeed.