A great DOOM bot competition inspired us to create a capable code for an automatic DOOM player to win against our competitors.
What it does
The bot moves in a closed arena. The main purpose is to find and kill all three opponents. In order to do that, the bot prioritizes a few steps before: finds a powerful gun and gets enough amo. When its done, the bot starts chasing other players.
How we built it
We wrote code in Python and used RESTful-DOOM API to describe the logic of our bot. We tried to find an optimal winning strategy for the bot on our own, since we didn't have enough time to do reinforcement learning.
Challenges we ran into
Orientation in the arena and directional movement to the items and spots we are chasing caused most of the challenges.
Accomplishments that we're proud of
A functional fully automated bot, which uses reasonable strategy to minimize risks and prioritize conflicting goals.
What we learned
To reason about optimum strategy to win a shooter game
What's next for boomdoom
Rather that inventing a "winning" strategy, find an actual best strategy by doing reinforcement learning on a bot.