Jump to content

AI generate Doom maps?


neubejiita

Recommended Posts

It is possible to generate a Doom map using Slige and a seed number. When would it be possible to type in a prompt and have an AI create a map?  I guess this could be a possibility. Maybe they could be even better than a Slige map. I do not think it is impossible, but a hand-made map would be better. AI can keep repeating itself sometimes, which is very obvious in peer review. Maybe for fun?

Share this post


Link to post

i don't think such thing exists yet, but you should try Oblige, it's basically a much better version of Slige with more customisation and stuff

Share this post


Link to post

@andrewj made a very interesting program called Levfusion, which can convert Doom maps to and from images: https://gitlab.com/andwj/levfusion

 

Quote

Why do this? The idea I wanted to explore would be to train some machine learning software, such as StableDiffusion, on the images obtained from a set of DOOM maps (such as all those in the original game), and see how well it can generate completely new DOOM maps. While I haven't attempted this yet, I think these programs demonstrate that the idea may be feasible.

 

Share this post


Link to post
9 hours ago, janiform said:

@andrewj made a very interesting program called Levfusion, which can convert Doom maps to and from images

I think, while my idea of using images may have "worked" and produced some interesting stuff, much better machine-learning models will be available in a few years (if not sooner) that will be able to create elaborate 3D environments more directly.  There are already some ML papers about creating 3D objects (like furniture) out of randomness + a prompt.

 

The question then will be: can such models be adapted to work with Doom's limitations?  It may require training ML models especially for Doom rather than trying to force a general 3D world creator to make stuff which is Doom-like.  Either way, will be very interesting to see how it all develops.

Share this post


Link to post

I think it's possible to encode maps to top view 2d images with colors defining sector tags, linedef textures, 3d floors, portals, things and train a stable diffusion model but then the reverse recognition is needed to be done somehow. We don't know yet on the quality of such "masterpieces" considering how bad AI screws straight lines, text and patterns but if there was just an attempt.

Share this post


Link to post

@Darkcrafter07 Levfusion doesn't encode things, 3d floors or portals, but it can do the reverse recognition. I'd love to see what a Stable Diffusion model could produce. Even if imperfect it would make the basis for a great community project!

Share this post


Link to post

For prompt-based generation you need a lot of labeled data to train the model on. There aren't nearly as many WADs as there are images in the world, but I think the bigger problem is that none of it is labeled, so if you were to give a model the description of a map you want to generate, it'd have no way to associate the words in the description with features of maps.

Share this post


Link to post

Soon there will be rule for idgames uploads: "No AI generated maps", just how we have it for oblige/slige generated levels. 

Share this post


Link to post

@ShepardusThat's an interesting point. How many images would a model need? I was imagining a "the way id did" model trained just on the original id maps, but maybe that's not enough data?

 

Regarding labeling, certain basic labels seem simple enough, like "John Romero", "episode 4", "techbase", etc. Obviously I don't know any technical details of how this stuff works, though.

 

Spoiler

 

Edited by janiform

Share this post


Link to post
On 1/20/2023 at 9:50 PM, neubejiita said:

It is possible to generate a Doom map using Slige and a seed number. When would it be possible to type in a prompt and have an AI create a map?  I guess this could be a possibility. Maybe they could be even better than a Slige map. I do not think it is impossible, but a hand-made map would be better. AI can keep repeating itself sometimes, which is very obvious in peer review. Maybe for fun?

 

Well, many Video Games had procedual generated Levels in the Past, so this alone is nothing special.

You have to train an AI wo know what you want to depict, to make her know how to draw it, maybe it is easier to take an existing one and train it to use its "Picture Powers" to use it within Dooms Limitations.
 

Share this post


Link to post
megawad, doom 2, 32 maps, OTEX, limit removing, by ribbiks and ty halderman and lunchlunch, cacoward winning, trending on idgames, slaughter

I'd love to see a "Doom Diffusion" that behaves like you're describing and I hope one day it comes to pass. However, I do think that it'd be significantly more "some assembly required" than output like ChatGPT or StableDiffusion. It'd ideally be a tool not necessarily for people to use to generate middling work that they can pass off as their own, but rather as an automation utility mappers can take advantage of to massively reduce the amount of tedious work that goes into mapping.

Share this post


Link to post

It's funny how the word "AI" has evolved, considering that SLIGE actually knows what it's doing while a neural network doesn't. The main thing that would make a neural network closer to a human mind in this scenario is the extent to which we don't understand its workings.

Share this post


Link to post
  • 3 weeks later...

I actually had some napkin scribblings of a machine learning Doom Mapping model several years ago before turning into a schizoid alcoholic.  It's lost like a dead sea scroll now but maybe I should try plugging my noodle bits back in and revisit the concept.  

 



For years, I've seen stuff like "pen signature" analysis stick the landing really well.  It does this by taking stroke length and curvature and stuff.  Doom sectors are similarly a "series of lines".  Each line has other stuff too like textures and alignments, etc.  Characterize each of these features per sector with something like, for example, a Fourier series, or even a sub-RNN itself, or whatever.

 

Throw in other stuff per sector too while we're at it.  You probably want to throw in a 3D rendering from within the sector too, perhaps from several different angles.  Can't hurt the model, can it.  And throw in whatever else might help too that might help it coalesce along the way.

 

Also, you probably want to "chunk each sector into swathes" too.  Cluster them.  Add a dimension of "zooming in/zooming out" of nested sector detail:  This will add an axis that lets a "square made up of a billion details" align with a "square that's made of just a square".  And, zooming all the way out at a bird's-eye-view, you see that the entire map is kinda one big polygonal blob too.  The partitioning technique for clustering sectors into macro-sectors (or eventually, splitting a macro-sector into sub-sectors) can be arbitrary for now...

 

You now have nodes in a search algorithm: You can hop from a sector to an adjacent sector, or you can "zoom in or out" of a particular one (I'm gonna pretend 'zooming out' is easy and makes sense for now).

 

How are we searching? A Best-First-Search driven by an RNN that we train along the way.

 

What are we searching for? Uhhhh... this made more sense in my head before trying to spell it out.  If not the Platonic ideal of "a Skillsaw map from 2006 with lots of red + pink textures but easier difficulty + extra armor + some other arbitrary parameters", then a dynamic target for that which we move the goalpost for along the way... or something.  Also, from the instincts in my head, a search algorithm is just the corollary of a generative one (i.e. Characterizing a map node-by-node by search is the same as creating one), but stating that casually now as if it's trivial feels kinda weird.  

 

There are blinds spots too but chipping away at those is part of the fun.  For example, I even forgot Doom levels had monsters when typing this out...

 


 

 

I bring this up cuz I saw a (@Kinsie?) post mention that new Seinfeld parody bot that streams on Twitch, and it's funny as fuck and actually has the uncanny valley itself built into its humor too.  It got me thinking of this again even though I've been out of the machine-learning loop for a while.

 

One of us should make an endless Family Guy parody called "Family Dude" that just pumps out a stream of Family Dude cartoons, because they are both shows about nothing.


I kinda wanna make a news parody channel too, called "Deep-Fake News" that makes fun of the epistemologically scuffed techno-windows we view the world through, giving us some laughs and hopefully reminding us to touch grass.


I also wanna start up a gene-therapy company and turn myself into a hermaphrodite furry that is all fluffy animals combined into one and also controls infinite neuro-linked tentacles and... *cough*, but maybe I should slow the fuck down before I get drunk and spill something into the water supply that becomes an existential crisis to humanity.  Of all the fluffy animals, humans are my favorite.  Oh wait I was talking about AI, nevermind that.  For all I know, making large posts like this in general can spark existential crisis too (can't be careful enough).


Anyways, yah, someone should get started on making that Family Dude thing.

Edited by NoisyVelvet
grammar - There blind -> There are blind

Share this post


Link to post

It's so fun to see this pointless existential nightmare that's currently flooding every other possible corner of the internet finally spill into my little hobby corner, too.

Share this post


Link to post
  • 2 weeks later...
On 1/20/2023 at 8:59 PM, cambreaKer said:

i don't think such thing exists yet, but you should try Oblige, it's basically a much better version of Slige with more customisation and stuff

Since development of Oblige has been abandoned, it looks like efforts continue with it's successor project, Obsidian.
I haven't tried it out yet, but for computer generated maps, it could be interesting.

Edit: Just tried it out. I like the prefabs. Has compilation instructions for Linux.

Edited by Xerenogan

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...