printz Posted March 5, 2017 (edited) I've been adding stuff to AutoDoom, which is my Doom bot for single-player and coop. With this new release, you can finally control your own player, while playing coop with a bot or more. Previous versions would simply replace the main player with a bot, turning the game into a demo. Go to download pageInformation Project is based on Eternity, which means that you start it in a similar way. If you don't use the -bots command-line parameter, the main player (you) will be the bot, so it will be like a non-interactive demo. To be able to control your player and play coop with bots, add the -bots n command-line parameter, where n is the number of coop bots. For example if it's you and one bot, use -bots 1. Currently you should only try vanilla/limit-removing Doom 1 wads. On Doom 2 the bot still has trouble deciding whether the SSG is a good weapon, and levels more complex than vanilla are not supported yet. Examples of Doom 1 wads: Concerned, 2002ADO, Base Ganymede, DODEAD, Crusades, Serenity, Classic Episode... You can record demos which play back in vanilla Doom or Doom+! Even coop demos work. But to make that work, use the -vanilla command-line parameter. Mind that you may have to also add the -spechit 0x01C09C98 parameter (it's a technicality because some vanilla wads such as Base Ganymede may fail playing back without it). Multiplayer not currently supported (it's also limited by what Eternity can do now). But I'm planning to allow bot-computers (no -bots command on them) to join multiplayer games. Demo video Indigo player is computer-controlled (I used -bots 1). Edited March 14, 2017 by printz Updated link to website 16 Quote Share this post Link to post
Death Egg Posted March 6, 2017 Nice! If this ever gets advanced enough, will it get merged back into Eternity Engine as an option? 0 Quote Share this post Link to post
printz Posted March 6, 2017 Death Egg said:Nice! If this ever gets advanced enough, will it get merged back into Eternity Engine as an option? I hope so. I wonder what would block me from doing so. What do Quasar, Altazimuth think of this? Especially if I make the bot not a default setting (so you don't automatically start as a bot or with a bot companion). EDIT: indeed, this would work as a nice upgrade to the MBF number of single player helper dogs. 0 Quote Share this post Link to post
Danfun64 Posted March 6, 2017 ...and now another thing comes to make Doom Legacy irrelevant..... Am I sorry? You decide. 0 Quote Share this post Link to post
Nevander Posted March 12, 2017 Looks fun except for when it escalated quickly after you got blasted in the back by the bot (0:21). Can friendly fire be disabled? 0 Quote Share this post Link to post
Revenant100 Posted March 12, 2017 printz said:If you don't use the -bots command-line parameter, the main player (you) will be the bot, so it will be like a non-interactive demo. To be able to control your player and play coop with bots, add the -bots n command-line parameter, where n is the number of coop bots. For example if it's you and one bot, use -bots 1. Is there a way to add multiple bots and still have them all be controlled by the AI? Although mostly for the novelty factor, it would be fun to spectate a team of bots taking on a level, just as it is seeing one bot do it alone. 0 Quote Share this post Link to post
printz Posted March 12, 2017 Nevander said:Looks fun except for when it escalated quickly after you got blasted in the back by the bot (0:21). Can friendly fire be disabled? Trust me, it happens rarely enough :P The bot avoids firing if an ally is in the way, but because of the small delay between clicking and firing, there is sufficient time for others to get in the way of the bullets. Revenant100 said:Is there a way to add multiple bots and still have them all be controlled by the AI? Although mostly for the novelty factor, it would be fun to spectate a team of bots taking on a level, just as it is seeing one bot do it alone. Yes, by using -bots 2 or -bots 3. The problem is that they can get deadlocked like the chess pawns sometimes, but otherwise they cooperate nicely. They tend to go in tight groups. And if you omit -bots, the main player will be the bot, in single player. EDIT: I've updated the Windows release. 0 Quote Share this post Link to post
Revenant100 Posted March 12, 2017 That works, but I meant also having the "player" become a bot too so everyone in the game is AI-controlled. I've realized just now I can simply leave my player idle at the spawn and spectate the bot team doing their thing, effectively identical in practice unless the spawn area becomes a danger zone. Edit: Also, a full team of 4 bots isn't possible this way. 0 Quote Share this post Link to post
printz Posted March 12, 2017 I may consider adding a -selfbot parameter which turns the console player into a bot. This means that by default AutoDoom will run like Eternity. I'm thinking about making the bots ape tricks from human players. Currently nothing like this is implemented. This would make coop sessions more constructive for bots than all-bot ones, but would also turn bots into "second fiddle" players, who only do things which other smarter people already did. EDIT: Updated Mac link. 0 Quote Share this post Link to post
riderr3 Posted March 14, 2017 Cool stuff! But these bots don't know how to obtain red key from MAP02 Underhalls. Probably they unable to "jump" to red key building. 0 Quote Share this post Link to post
printz Posted March 14, 2017 Yeah, I'm working on that now :) I'm thinking of making it learn either from the human players (or demo recordings) or even better, learn about jumpable slopes from invisible random roamers who are subject to Doom's physics. Might be easier than trying to calculate at startup time based on some analytical quasi-accurate formula. 0 Quote Share this post Link to post
printz Posted March 14, 2017 UPDATE: AutoDoom now has its own website, AutoDoom.net. Since it's at the start, it looks like a regular Wordpress blog. What's more important about it is that releases will be published there. Visit it regularly for updates. I'm planning to automate the update later, so you no longer have to worry about this, and the bot will be up to date. I'm planning frequent releases. 1 Quote Share this post Link to post
Danz Posted March 14, 2017 Windows link doesn't work for some reason. Gives me the "site can't be reached" page on both Chrome and Firefox. 0 Quote Share this post Link to post
printz Posted March 14, 2017 I've no idea why it happened, but it was frustrating as hell. Hopefully now it's fixed. I had to change the pattern of the name of the zip file for it to work. So the download link is also changed now. 1 Quote Share this post Link to post
Reisal Posted March 15, 2017 This would be interesting to have it play OBLIGE v6 and V7 maps.. 0 Quote Share this post Link to post
Danfun64 Posted March 15, 2017 Autodoom + built in OBLIGE = Windows 3d Maze Screensaver Replacement... almost. 4 Quote Share this post Link to post
Jon Posted March 15, 2017 I'm looking forward to trying this out! 0 Quote Share this post Link to post
Fonze Posted March 15, 2017 This is so cool; I love seeing progress on this. 0 Quote Share this post Link to post
kb1 Posted March 15, 2017 Printz, This is massively impressive! Your bots have very intellegent, human-like movements and abilities - great job! You'd almost have to dumb them down to use them as coop helpers! The only indication I saw that they were bots was when the bot would ride up a lift and aim at a not-yet-visible monster. But that could be equated to a player that has played the level before. When I get some time, I'd love to check out your decision tree and how it resolves conflicts. Keep up the good work! 0 Quote Share this post Link to post
riderr3 Posted March 21, 2017 (edited) That's funny how they stucked Edited March 22, 2017 by riderr3 1 Quote Share this post Link to post
wheresthebeef Posted March 22, 2017 Played vanilla episode 1, and I was very, very surprised and impressed they activated all the secrets themselves. The second they stood on the secret elevator across from the shotgun, they immediately ran to the exit, but I was impressed they knew how to trigger the elevator and then get on it nonetheless. Also it's real fun to turn on the automap, activate IDDT cheat twice, and watch the dude run around shooting all those triangles almost like a Geometry Wars screensaver. 0 Quote Share this post Link to post
LexiMax Posted March 22, 2017 Could they work as deathmatch opponents? 0 Quote Share this post Link to post
printz Posted March 22, 2017 24 minutes ago, AlexMax said: Could they work as deathmatch opponents? Maybe, but that requires improved combat skills. Currently it doesn't hunt players in DM. I can maybe look at how other bots do the combat, but I've always been more interested on single/coop however, because deathmatch bots are pretty common by now, and not just in Doom. 0 Quote Share this post Link to post
NoVertugo Posted May 18, 2018 I just want to say printz, thank you so much for this project. For years I always wanted something like this..a true coop bot. The bot works great cooperatively. I was wondering, on certain levels where a specific monster needs to be killed (for example, tower of babel in ultimate doom) the bot will most likely freeze due to an end of pathing to an exit. Is it possible to code him to attack that monster thats flagged as an exit, or maybe have the bot roam or hunt in such a case? A second question would maybe be some kind of follow mode implementation? 4 Quote Share this post Link to post
Malcolm123 Posted July 8, 2018 Hello, i have a question, how to add the -bots n command-line parameter in autodoom? 0 Quote Share this post Link to post
xvertigox Posted July 8, 2018 36 minutes ago, Malcolm123 said: Hello, i have a question, how to add the -bots n command-line parameter in autodoom? You can create a shortcut to autodoom.exe then right click go into the properties and add it there in the target field. Each launcher (ZDL, Doom Launcher, Doomseeker) also has a field for command line paramaters when launching a wad. Here's a screenshot, I'm at work so just pretend it's a shortcut to autodoom.exe and not Chrome. Also, I don't think -bots 4 works, the max is 3. 0 Quote Share this post Link to post
kb1 Posted July 10, 2018 @printz: This is incredible stuff, as usual! Some serious questions for you: Would you be ok with someone porting your bot code to a different Doom port (with all credits given, of course)? Either code derived from your, or directly lifted and altered minimally to fit. I know your source is released to be shared, but I would not want to use your code disrespectfully, and I'm very interested in the idea of adding your bot code to my port. Have you considered, and how do you feel about an AutoDoom API? This would be something like a DLL that could add AutoDoom bot functionality to a port in a generic way. For example, there might be a call: autodoom_InitMap that would pass the port's loaded map structure to AutoDoom to allow AutoDoom to initialize its internal map data structures. Then, another call: autodoom_UpdateGame that would give AutoDoom a picture of the mobjs, the state of doors, etc. What I'm suggesting is that, with a lot of effort, maybe the entire set of variables that AutoDoom needs could be formalized in a way that the same AutoDoom library could be added to a number of Doom ports. I find this idea fascinating. So, are you comfortable with large-scale modification and implementation of your source? I would not consider doing so without your full blessing. Again, great work! Getting DoomGuy to navigate Doom maps is (as programmers would say) a "non-trivial problem" :) 2 Quote Share this post Link to post
xvertigox Posted July 10, 2018 I'm crossing my fingers for you @kb1. I've spent a lot of time just watching Autodoom blast through maps and would be stoked on any expansion to it. 1 Quote Share this post Link to post
kb1 Posted July 11, 2018 On 7/9/2018 at 10:55 PM, xvertigox said: I'm crossing my fingers for you @kb1. I've spent a lot of time just watching Autodoom blast through maps and would be stoked on any expansion to it. Thanks, I need all the luck I can get! But I've got so many other things to get done first that I'll be lucky to just get to it :) It is fascinating to watch, isn't it? It would be really cool if AutoDoom bots became a standard. It's the best Doom bot code I've ever seen. 1 Quote Share this post Link to post
Reisal Posted July 11, 2018 (edited) I wonder how this will handle OBLIGE maps, heh heh (gonna test this)..I'm not speaking over the top Hordes, lots of traps that kind of stuff, but a modest amount of enemies, adequate amount of health, ammo, secrets, etc. Also, you really should add this port information to the Doom Wiki. Edited July 11, 2018 by Glaice 1 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.