AutoDoom is a game bot for Doom. It’s a computer-controlled player, designed to handle single-player and cooperative games. The challenge with these game types is that the player has to solve arbitrarily complex puzzles to survive and reach the exit, so AutoDoom’s objective is to overcome them.
It’s based on the Eternity Engine, a Doom port which combines advanced modding capabilities with backwards compatibility. This allows AutoDoom to support a wide range of gameplay styles, and even lets you record demos with bots, which can play back even in vanilla Doom!
With thousands of Doom mods active, and many which keep coming, there will be a virtually endless amount of challenges for this bot to overcome as it is under continuous development.
How to use AutoDoom
You start AutoDoom very much like how you start Eternity. By default, if you run it without any special parameters, it will start single-player games controlled by the computer. You, the human, will be merely a spectator. But if you want to have control, and play in cooperative mode aided by bots, use the -bots command-line parameter. For example, to play with one helper bot, use -bots 1. The maximum number of bots is 3, totalling 4 players with you.
Like in Eternity, to record vanilla-compatible demos use the -vanilla command-line parameter. To make sure that demos in complex mods replay correctly, also try -spechit 0x01C09C98. There are subtle bugs in vanilla Doom which can desync demos if they’re not addressed with this parameter. Cooperative bot demos will work as well as single-player ones.
The bot is a work in progress. You can provide feedback on bugs and incorrect bot behaviour at my GitHub repository page, in the “Issues” section. Even better, if you have code submissions, you can send “Pull requests”.
Here’s a recording of the bot playing solo a Requiem map. Thanks to Linguica for running and recording this! The bot has been improved since then.