Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sunbeam

Doom Bot / AI by Sunbeam

Recommended Posts

This is an awesome project! I haven't seen too many projects involving AI. I think it would be really cool to also see some sort of secret-hunting sub goal. 

Edited by phoo

Share this post


Link to post

Excellent work! I love seeing progress in Doom bots. Another feature this would enable would be to use the waypoints to drive an HUD compass or similar in order to give people an automatic "help system" for a given PWAD.

Share this post


Link to post

This is cool!

 

I wonder if the method you’re using to get such great performance out of the bot could somehow be translated for use in the multiplayer Doom ports as well (Zandronum ZDaemon and Odamex). They all share a common ZDoom ancestor from 20 years ago, and somewhat unsurprisingly they all share that ancient zcajun bot. They’ve diverged pretty immensely since then, but I’m hopeful that we can get some good bots for multiplayer using the same ideas. This is awesome stuff either way!

Share this post


Link to post

Nice work - I'm sure many here (including myself) would love to give the bot a spin if you need any other testers.

Share this post


Link to post

Thank you all! 😊

 

21 hours ago, phoo said:

This is an awesome project! I haven't seen too many projects involving AI. I think it would be really cool to also see some sort of secret-hunting sub goal.  

Yes, something like this could be implemented. It would be nothing more than ordering the bot to all sectors that are marked as secret. Interesting!

 

21 hours ago, Linguica said:

Excellent work! I love seeing progress in Doom bots. Another feature this would enable would be to use the waypoints to drive an HUD compass or similar in order to give people an automatic "help system" for a given PWAD.

This is also an interesting idea! I haven't thought of this before.

 

20 hours ago, Doomkid said:

This is cool!

 

I wonder if the method you’re using to get such great performance out of the bot could somehow be translated for use in the multiplayer Doom ports as well (Zandronum ZDaemon and Odamex). They all share a common ZDoom ancestor from 20 years ago, and somewhat unsurprisingly they all share that ancient zcajun bot. They’ve diverged pretty immensely since then, but I’m hopeful that we can get some good bots for multiplayer using the same ideas. This is awesome stuff either way!

Actually I wouldn't say the bot is that performant - whenever I tell it to go to the exit it takes quite some time until a path is calculated. Unoptimized! 😁

 

15 hours ago, noisebloom said:

Nice work - I'm sure many here (including myself) would love to give the bot a spin if you need any other testers.

There is still a lot of work to be done before I can call it "complete". But thanks!

 

15 hours ago, DynamiteKaitorn said:

It's kinda fun watching the bot try and walk its way around a doom level. Wonder how well it'd handle more complex map structures.

There is a decent amount of levels where the bot can NOT find a valid way to the exit. But I can give it a try. Do you have any suggestions for complex maps? Everything that is normal Doom (not ZDoom specific) should be okay.

Share this post


Link to post

How it works? Acs or zscript? How you place waypoints inside sectors? How you set connectivity between points of different sectors? A* or Dicstra...Deicstra...Djicstra...Dimethyltryptamine?

Share this post


Link to post
On 3/19/2020 at 10:31 PM, DynamiteKaitorn said:

MAP29 would be a little tricky due to the ledges near the start.

MAP24 Chasm would probably take it a while due to the tight ledges.

The main problem on MAP29 seems to be the very narrow stairs on the side of the map. Sometimes the bot gets it, sometimes not...

MAP24 also has some problems. Still needs investigation. 😁

 

On 3/19/2020 at 10:50 PM, Kronecker–Capelli said:

How it works? Acs or zscript? How you place waypoints inside sectors? How you set connectivity between points of different sectors? A* or Dicstra...Deicstra...Djicstra...Dimethyltryptamine?

It's all implemented in the engine, so it's written in C++. There are several rules to generate waypoints. The most important one is to create waypoints on connected lines that have a concave angle (which basically means the bot needs to turn around when moving).

edit: And yes, it uses an implementation of A*. 😉

Edited by Sunbeam

Share this post


Link to post
On 3/20/2020 at 12:47 AM, Sunbeam said:

Do you have any suggestions for complex maps? 

Some suggestions (mostly nonlinear maps)

  • Eternal Doom 3/4 (this one is worth trying due to its vanilla-compatiblity)
  • Lost Civilization
  • Eviternity (later episodes)
  • Alien Vendetta's Map20
  • Community Chest 1's Map29

Hope this helps.

Share this post


Link to post
7 hours ago, Sunbeam said:

It's all implemented in the engine, so it's written in C++. There are several rules to generate waypoints. The most important one is to create waypoints on connected lines that have a concave angle (which basically means the bot needs to turn around when moving). 

You have some github/gitlub page for it?

Share this post


Link to post
11 hours ago, TheNoob_Gamer said:

Some suggestions (mostly nonlinear maps)

  • Eternal Doom 3/4 (this one is worth trying due to its vanilla-compatiblity)
  • Lost Civilization
  • Eviternity (later episodes)
  • Alien Vendetta's Map20
  • Community Chest 1's Map29

Hope this helps.

That should be interesting. Thanks!

 

3 hours ago, Kronecker–Capelli said:

You have some github/gitlub page for it?

Nope, it's completely local for now.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×