Fork of my 4th semester project at SDU. Game is migrated to Java 18 without OSGi and dynamic components. Used for the Advanced AI for Games course E23 @ SDU
In #7 MCTS was implemented, but sometimes throws IllegalStateException if we run into a state that shouldn't occur.
We haven't experienced any of these yet, but it would probably be better to catch these in BattleSimulation so that the game doesn't crash.
However, if this happens we need to decide if we want the AI to make no move or do a random move so the game doesn't get stuck.
The teams should be chosen at random so that we don't always use the same team for all battles.
This should be seeded so that we get the same teams when we try to simulate more battles
While making #15 , I found out that MCTS just keeps going until the time is up, regardless of what it's doing.
It should stop prematurely if it has discovered the whole tree.
Easiest setup for this is making a custom battle where the MCTS opponent has GOD. It should be done almost immediately instead of waiting for the AI Processing Time to be up.