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

Is procedural generation possible for Doom maps?

Recommended Posts

As already stated Oblige and many offspring of it are available; I had a lot of fun generating coop campaigns and playing them in Autodoom.

 

I'd be really interested in procedural generated levels similar to Eldritch ( https://www.youtube.com/watch?v=4H4YAF90eps )

The level designer could make these vast basic layouts and then put in a ton of 64x64 polyobject blocks that can be destroyed by certain equipment that are randomly chosen to spawn in or not at the level start. Could be a fun standalone game 

 

Share this post


Link to post

This is something I have been exploring for a long time with WadC although there's not a great deal I've released using it (yet). You can see Aardappel's hexagons in 10sector map 32 from y2k; there's also jonhex and squares and triangles and laby (labyrinth example) in the wadc examples directory. I've been working (very slowly) on randomly generated dungeons but nothing to share publically yet.

 

8 minutes ago, wheresthebeef said:

As already stated Oblige and many offspring of it are available; I had a lot of fun generating coop campaigns and playing them in Autodoom.

 

I'd be really interested in procedural generated levels similar to Eldritch ( https://www.youtube.com/watch?v=4H4YAF90eps )

The level designer could make these vast basic layouts and then put in a ton of 64x64 polyobject blocks that can be destroyed by certain equipment that are randomly chosen to spawn in or not at the level start. Could be a fun standalone game

 

Using polyobjs in that way is not something that has occurred to me before, but it's a great idea, thanks! (I've got some beginnings of  polyobj support in wadc).


Vanilla hexen has a very low max-polyobjs-per-map limit but I suspect ZDoom lifts that.

Share this post


Link to post

As mentioned, there's Oblige that to my knowledge uses shape grammar. 

 

I've been actually playing around with idea of modular procedural design schemes for maps, like making cave/canyon-like structures with voronoi diagram and then connecting it to a other pieces governed by other scheme (canyon->outdoor base entrance->labyrinth)

Share this post


Link to post

Guys he's talking about procedural generation. Sorta what Minecraft does, Generating the world as you play. Unlike oblige where you have to open up a program and generate the maps through that.

Share this post


Link to post
18 minutes ago, MrD!zone said:

Guys he's talking about procedural generation. Sorta what Minecraft does, Generating the world as you play. Unlike oblige where you have to open up a program and generate the maps through that.

They both are examples of procedural generation. Nothing specific was asked for, hence the Oblige recommendations.

Share this post


Link to post
On 2/10/2018 at 4:19 AM, wheresthebeef said:

As already stated Oblige and many offspring of it are available; I had a lot of fun generating coop campaigns and playing them in Autodoom.

 

Dude, this is fucking sick... I had never heard of Autodoom, I could watch this for ages. It works so well with Oblige too. Information online is so sparse for it (no readme either?). Do you know how to spawn multiple bots but not have to control one? Any tips or cool wads you've tried?

Share this post


Link to post

Procedural generation in Doom would be crazy but cool. We'd need a source port that can somehow modify map data on the fly with some kind of Oblige-like generation which sounds like a metric fuckton of work for little gain, but I still dig the concept.

Share this post


Link to post

I love Oblige. If I understood good map design more and the nodebuilder's limitations I'd love to give Doom level generation a try. I've made quite a lot of procedural based games, procedural Mega Man - ish, procedural MetroidVanias and 5 years ago I took a stab at procedural map generation in the Hammer editor and Half-Life 2 / TF2 engine.

Edited by geo

Share this post


Link to post
1 hour ago, MrD!zone said:

Uhmm Don't you mean source?

Correct. I went for the Half-Life 2 / TF2 label as many around here refer to id Tech 1 as the Doom engine. Then again it could just be the forums here that I frequent.

 

I tried to make TF2 maps using procedural generation to mirror the sides. It was fun and incomplete.

Share this post


Link to post

Oblige recently updated the way it generates rooms, uses nearly no pre-built segments now... really interesting program. I'd say yes procedural generation is possible considering how simplistic doom is, but it'll never look as good as a human-built map.

Share this post


Link to post
9 hours ago, Doomkid said:

Procedural generation in Doom would be crazy but cool. We'd need a source port that can somehow modify map data on the fly with some kind of Oblige-like generation which sounds like a metric fuckton of work for little gain, but I still dig the concept.

Unless I'm missing an important detail with how map data is stored in the executable, it honestly shouldn't be too much different from basically shoving Oblige into a source port. You'd have to figure out the best time to generate maps and how many maps to generate in advance, where the store the maps for the purpose of saves, and various other quirks, but I think the fact that it hasn't been done already is that it does require some pretty detailed knowledge of both the external and internal map format ( should there be any notable distinctions, anyway ) and there's just not really anyone interested in such a concept that has the experience with the engine to really pull it off, nor enough drive to learn the engine before digging their toes into anything concrete.

Share this post


Link to post

Yes there are random map creators for Doom. But personally I have never seen the point of them seeing as there are tens of thousands of doom wads floating around on the internet anyway.

Share this post


Link to post
8 hours ago, MrD!zone said:

Uhmm Don't you mean source?

 

I think you mean Source.

 

11 hours ago, floatRand said:

As mentioned, there's Oblige that to my knowledge uses shape grammar.

 

I hadn't heard of Shape Grammar before, thanks! I've added it to my to-investigate list, right next to L systems.

Share this post


Link to post
1 hour ago, hardcore_gamer said:

Yes there are random map creators for Doom. But personally I have never seen the point of them seeing as there are tens of thousands of doom wads floating around on the internet anyway.

Its easier to generate a campaign and just go without having to hunt down .wads and filter good from bad. Mostly its the burden of finding and downloading, but since someone pointed out a shell to find and download all at once, its made it far easier so I don't get burnt out from finding good .wads to play.

Share this post


Link to post

@Jon, if you want a copy of the final version of Oblige program and its source (7.70?) since the Sourceforge project pages are being transferred to another dataserver and can't be accessed as of this post, I can provide you with it (and older versions if requested). That and I'm considered one of the few Oblige junkies on Doomworld since personally I've been helping @andrewj on and off since V3 (early 2009).

I have also made my own heavily altered version based on 7.59 as well, I'll post a link for all major releases and my own edit below:

 

 

And to answer the OP, yes it is but not Minecrafty style because you will eventually reach the engine limits and map size.

Share this post


Link to post
2 hours ago, Glaice said:

That and I'm considered one of the few Oblige junkies on Doomworld since personally I've been helping @andrewj on and off since V3 (early 2009).

I have also made my own heavily altered version based on 7.59 as well, I'll post a link for all major releases and my own edit below:

 

 

Thanks for posting your edited version along with all the other versions. I've got them archived now to play around with. I've always loved random maps in games (SoF2 as an example) so I love Oblige.

Share this post


Link to post
On 2/17/2018 at 6:51 PM, Glaice said:

@Jon, if you want a copy of the final version of Oblige program and its source (7.70?) since the Sourceforge project pages are being transferred to another dataserver and can't be accessed as of this post, I can provide you with it (and older versions if requested). That and I'm considered one of the few Oblige junkies on Doomworld since personally I've been helping @andrewj on and off since V3 (early 2009).

I have also made my own heavily altered version based on 7.59 as well, I'll post a link for all major releases and my own edit below:

 

 

And to answer the OP, yes it is but not Minecrafty style because you will eventually reach the engine limits and map size.

 

Thank you for the offer. As of right now SF.net seems to be up so I've cloned the git repo (slowly). Once it's done I can compare to see whether it captures all the historic versions or not; but I've also grabbed your 7.59 edits.

 

Edit: possibly spoke too soon. The sf.net git URI appears to clone very slowly and fail in the middle (for me). I found a mirror at https://github.com/samboy/Oblige

but that top commit (a merge commit by the mirrrorer) is suspicious so I question the mirror's fidelity. I'll try cloning from another host.

Edited by Jon

Share this post


Link to post

I managed to piece together a proper mirror of Oblige's git repo. I've put it here: https://github.com/Doom-Utils/oblige

 

(that existing mirror was close.. but the mirrorer was doing merge commits of the upstream repository into theirs, so it wasn't a "true" mirror)

Share this post


Link to post
On 18/02/2018 at 0:18 AM, wheresthebeef said:

Why not?

Procedural generation isn't something that everyone can get along with. I used to like it, but I have been edging more and more away from the concept. Largely because what is generated is usually very bland. Sure it can be useful to generate huge maps....but it's usually a map of nothingness, repeating what you just explored anyway. I don't see how it can serve Doom much, a nicer more fleshed out map built by a person is infinitely more fun than a level just dumped there by random process...which to be interesting would need the author to go over it anyway, make sure everything works...so they might as just well build it.

Share this post


Link to post

Just a brief point of order: although the two things are very often used together, "procedural" and "random" are different things. A procedurally generated map means, "generated by procedures". All WadC maps are procedurally generated, for example, but most don't actually use randomness.

Share this post


Link to post
On 2/17/2018 at 10:58 AM, Jon said:

I hadn't heard of Shape Grammar before, thanks! I've added it to my to-investigate list, right next to L systems.

You should check out Procedural Content Generation in Games.  It's a free textbook created by some professors at the University of Copenhagen when they wanted to create a course on this subject and realized no one had made a book yet :)  It gives a good overview of the different techniques that are used in the industry (a surprising number show up in academic papers as well).

 

A week ago I used cellular automata to create a nice looking cave for ECWolf.  I'll be sharing all the stuff I'm doing with Wolf 3D at some point, but it's not really meant to be a user-friendly level generator.  I have an idea for making Wolf levels that I think is pretty novel :)

Share this post


Link to post
2 hours ago, david_a said:

You should check out Procedural Content Generation in Games.  It's a free textbook created by some professors at the University of Copenhagen when they wanted to create a course on this subject and realized no one had made a book yet :)  It gives a good overview of the different techniques that are used in the industry (a surprising number show up in academic papers as well).

 

A week ago I used cellular automata to create a nice looking cave for ECWolf.  I'll be sharing all the stuff I'm doing with Wolf 3D at some point, but it's not really meant to be a user-friendly level generator.  I have an idea for making Wolf levels that I think is pretty novel :)

Nice, thank you. 

 

5 hours ago, Xegethra said:

Procedural generation isn't something that everyone can get along with. I used to like it, but I have been edging more and more away from the concept. Largely because what is generated is usually very bland. Sure it can be useful to generate huge maps....but it's usually a map of nothingness, repeating what you just explored anyway. I don't see how it can serve Doom much, a nicer more fleshed out map built by a person is infinitely more fun than a level just dumped there by random process...which to be interesting would need the author to go over it anyway, make sure everything works...so they might as just well build it.

It really depends on concept of the game largely, and I do think Doom, as most play it, is not really best platform for such due to how game works. 

However, for mod like, say, Hideous Destructor or DoomRL? Probably could work better, as the random environments serve the gameplay better. System master vs. level mastery. 

But as you mentioned, there are very significant issues with procedural generation that makes it unfit for many games, like the repetition and quality. If you can only generate 30 minutes of distinct maps, wouldn't it be better rather than implement algorithm just make bunch of maps that are better and last longer? In some games the repetition/blandness are non-issue, because game doesn't focus on level/maps so much, but rather in other things - like Dwarf Fortress, which generates a world with history, historical figures, landscape with different distinct locations - to explore or plop your fort in. While lot of the world itself isn't really that interesting, it serves the gameplay excellently by offering somewhat unpredictable environment to settle in. 

Of course there are lot of missteps, since procedural generation seems like easy solution to create rather nice amount of game content for indie games, but developer shouldn't be deluded that because it is procedurally generated it is "endless content". 

I think you could make it more interesting by mixing procedural generation with traditional level design (ex. using premade bits and using procedural generation schemes on maps, like designating areas governed some procedural generation scheme, like cellular automata for caves), which is something I am doing bit of researching about. 

 

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
×