AI for the Softwarechallenge 2018 featuring the game "Hase und Igel" (Hare and Tortoise)
Jumper uses an Alpha–beta pruning approach, with three basic components:
findBestMove
- starts the search and manages queues, nodes, depth and timingfindMoves
- find Moves for a given GameStateevaluate
- evaluate a given GameState
Sketch of my latest strategy (german)
The code is a bit messy, a lot was written in the final days, and some comments mix german and english. Don't expect me to clean up, the contest is over ^^
To finetune the parameters at the end, I put all computers of my school to work over a whole weekend. They ran the AI with different parameters against a reference version, from time to time updating the reference version with updated parameters if a particularly effective modification was found. Unfortunately the end results did not carry sufficient statistical significance to make a big difference. That is what the scripts without extension at the root of this repo are mostly for.
I am a German student in grade 12 and developed MANOS 12 Jackrabbit entirely by myself. I give thanks to my informatics teacher, without him I wouldn't even be aware of the competitions existence!
I easily reached the top 24 and got to place 6 in the champions league due to a bit of laziness in the following weeks. But everyone from the top 8 ascended to the finals.
The last week before the competition I worked ceaselessly to fix mistakes and create a new logic, so in the end I reached the second place in an extremely close final match.