Martin Howe Posted May 8, 2018 (edited) Intelligent computers are here - we're DOOMed :phttp://www.bbc.co.uk/news/technology-44040007 5 Share this post Link to post
Aquila Chrysaetos Posted May 8, 2018 What would be really impressive is the AI running its own levels proficiently. 0 Share this post Link to post
DMPhobos Posted May 8, 2018 Here's the research paper if anyone is interested, sadly i don't think there are any download links for the generated levels, but there are some layout screenshots that are interesting Fascinating stuff 0 Share this post Link to post
Linguica Posted May 8, 2018 All the articles about this paper are BS. In no way did they generate new Doom levels. They generated 128x128 images that look vaguely like a really small picture of a Doom level's layout. 6 Share this post Link to post
Pure Hellspawn Posted May 8, 2018 This is really, really, really old news. By 17 years. All you need to mimic this is a computer that runs SLIGE or Oblige. 3 Share this post Link to post
Grain of Salt Posted May 8, 2018 12 minutes ago, Pure Hellspawn said: This is really, really, really old news. By 17 years. All you need to mimic this is a computer that runs SLIGE or Oblige. Nope. 1 Share this post Link to post
yakfak Posted May 8, 2018 would love to witness what a neural net mapgen bot would create if it wasn't allowed to look at doom.wad or requiem or scythe or any of that train it on weird stuff like ALT, Swim with the Whales and Hellcore marvel at the neurotic results 5 Share this post Link to post
geo Posted May 8, 2018 (edited) I'm just here to say how awesome Oblige is! * back on topic without a new post * I read the article and it feels like its a staggering lack of proof to take this article seriously and be wowed by it. This single line to close the article summarizes it entirely: "Both are currently prototypes and are not available for players to test." A selection of 1,000 - 9,000 human made maps for the AI to study can turn into some outstanding garbage. Sure its a feat of human engineering to make an AI that can make levels, but from the sound of it... these levels will be too mundane. I say sound as there's again little to no proof. Is it just giving vertex points and a human plays connect the dots? The article never specified how its designing these levels. Is it using Wad Ed 1.83? Doombuilder? Lunar Magic? Is it just designing the levels on paper then a human turns them into reality? It doesn't just magically happen. Is there a robot working a keyboard? Is the .wad authoring program on the same computer as the AI? "The human designers can focus on high-level features" ... If humans can focus on high-level features... why not make the little fluff pieces too? The lifts, the doors, the corridors, the mundane? All that stuff takes time, sure, but won't it take time to tear out something a computer made to enhance it? Perhaps the idea is to stick a door and then a human would add a high-level feature? For an article with "Super Mario" in the title it gets a mere mention at the bottom. Edited May 9, 2018 by geo 2 Share this post Link to post
Shadow Hog Posted May 8, 2018 2 hours ago, yakfak said: would love to witness what a neural net mapgen bot would create if it wasn't allowed to look at doom.wad or requiem or scythe or any of that train it on weird stuff like ALT, Swim with the Whales and Hellcore marvel at the neurotic results Don't forget nuts.wad, gotta have it learn that more monsters = better monsters 2 Share this post Link to post
david_a Posted May 8, 2018 Aw hell, this is what I've been trying to do with Wolf 3D levels! I converted over 7500 Wolf 3D levels and tried to do both a variational autoencoder and a DCGAN but both of mine gave me pure junk; I'll have to look at how they actually set up their networks to get such nice output. My last attempt is to use a LTSM RNN to treat a Wolf 3D map essentially as text - trying to build a "sentence" (map) of "words" (rows) of "characters" (tile type - solid wall, empty, door). That at least won't give me a blurry mess but we'll see if it can figure out rooms that way. I wasn't planning on actually spitting out a playable level either, but at least it would be a lot simpler with a Wolf 3D map since they're so rigidly structured. 1 Share this post Link to post
SaladBadger Posted May 9, 2018 hmm, the claim I'm seeing is that the thing isn't producing actual levels, but the conclusion does seem to talk about "playing" the levels as if they were loading them up in game and checking them out. I'd figure maybe they'd show screenshots of that to demonstrate the presence of height, though? Part of the paper does seem to be about filling out heights and the like. 0 Share this post Link to post
david_a Posted May 9, 2018 I think their figure 13 is wrong; there’s clearly some duplicated images. I wish they would have posted their source code somewhere :( I don’t get their conclusion, either. Translating that output back to a playable Doom level would be a fairly massive project by itself. 0 Share this post Link to post
Pegleg Posted May 9, 2018 19 hours ago, yakfak said: would love to witness what a neural net mapgen bot would create if it wasn't allowed to look at doom.wad or requiem or scythe or any of that train it on weird stuff like ALT, Swim with the Whales and Hellcore marvel at the neurotic results Why not throw in The Sky May Be and see what the bot learns from that? 4 Share this post Link to post
Koko Ricky Posted May 9, 2018 When I speculate about this kind of stuff on here, it's taken as a joke. I suppose it's only worth discussing when it actually occurs. 1 Share this post Link to post
hardcore_gamer Posted May 9, 2018 (edited) The problem with ideas like this is that there are so many small little things that collectively contribute to the overall layout of a level that making the AI take all of them into account as well as the context in which they should be applied would be extremely difficult. Another problem is the AI can only be made to create levels in a single style, so even if they looked good they would all feel the same. And lmao at trying to feed the AI data from thousands of completely different doom levels when the design of these levels are completely different from level to level meaning there might not even be any real design pattern anyway. 0 Share this post Link to post
Pegleg Posted May 9, 2018 One of the things I like about this research paper is that they various games (Diablo, Starcraft, Rogue, No Man's Sky, etc.) and they include the company as the author (if a single author doesn't exist). So they have authors like B. Entertainment and H. Games. On another note, the set of levels that the authors appeared to use were levels all one one floor (so, either no height variation or no height variation accessible to the player) and could be fit into a 128x128 image (so no sprawling maps). Therefore, the maps that the program learned from would probably be regarded by this community as "not very good." It would be nice to see images from within the game. If copyright were an issue, the authors could use Freedoom (and reference it, of course). That all being said, the outlines of the levels as shown by Figures 12 and 13 look like they would be at least as good as "typical first map." 0 Share this post Link to post
david_a Posted May 9, 2018 32 minutes ago, hardcore_gamer said: The problem with ideas like this is that there are so many small little things that collectively contribute to the overall layout of a level that making the AI take all of them into account as well as the context in which they should be applied would be extremely difficult. The point of a Generative Adversarial Network is that you don't have to do this. One neural network is creating random output and a second one is trying to distinguish real inputs from fake inputs. You pit these two networks against each other and over enough iterations the generator will get better at fooling the discriminator and the discriminator will get better at spotting fakes. This is opposed to something like Oblige/SLIGE where a human has to create all rules for making a level. It's an incredibly powerful and neat technique and it's magical when it works. GANs can pick up some really complicated patterns and can really surprise you. When it works. The biggest issue with GANs is that they're incredibly hard to train. Under the hood this is all math - statistics, linear algebra, and calculus. It's very easy to get it into a state where the generated output is statistically similar to the real data but looks like meaningless noise to humans (this is what happened to my Wolf 3D attempt). I would love to understand how they managed to get output that was at least vaguely similar to the real inputs because I didn't even get that far. The real point of that paper is that they tried to improve the process by feeding it more data about the level - not just a snapshot of what the overheard view looks like, but additional information about floor heights, wall outlines, etc. Is this a practical way to create a Doom level? In my opinion, not really. One of the hardest aspects of machine learning is representing the problem you want to solve in a way that can be applied to machine learning. I had thought about using Doom instead of Wolf 3D for my stuff but there's no obvious way to represent a Doom level in a useful fashion (just look at how they had to limit and mangle the maps to get consistent inputs). Wolf 3D, on the other hand, seems far more suitable. Probably 99% of maps are 64x64 and they're composed of simple independent tiles (you don't have higher-level concerns like making sure sectors are closed). I suspect that a truly practical Doom/Wolf3D level generator using machine learning techniques would be a hybrid approach. Break the overall goal of generating a level into smaller sub-problems and try to apply machine learning in each aspect of it. For example, at a high-level figure out the "script" of a level - explore a bit, light encounters, stock up with a ton of ammo, fight a sub-boss, etc. From the script, create a series of rooms that match these encounters. Pick a theme and decorate the rooms. Machine learning can absolutely help with any of these sub tasks, assuming you gave provide it good data. How do you retroactively figure out the 'script' of a Doom level? How do you translate a script into a series of rooms? How do you decorate a room? Some of these steps are way easier without trying to do ML but the concept of taking advantage of 20+ years of user created content is really appealing. 4 Share this post Link to post
david_a Posted May 9, 2018 (edited) Oh hey I found their source code!!! https://github.com/DanieleLoiacono/DoomGAN This has a video and an example WAD to download(!). EDIT: Yeah ok this isn't the code :( :( :( I should have looked for more than 5 seconds before posting. EDIT2: After spending a few more seconds looking at it, it appears they're uploading this stuff now so maybe it's forthcoming 0 Share this post Link to post
Soundblock Posted May 9, 2018 (edited) I'll start getting worried no earlier than the neural net creates a Doomworld account and begins asking questions in Wads & Mods. 1 Share this post Link to post
kmxexii Posted May 9, 2018 4 minutes ago, Soundblock said: I'll start getting worried no earlier than the neural net creates a Doomworld account and begins asking questions in Wads & Mods. We already have this and its name is Brandon D. Lade 4 Share this post Link to post
fraggle Posted May 9, 2018 3 hours ago, GoatLord said: When I speculate about this kind of stuff on here, it's taken as a joke. I suppose it's only worth discussing when it actually occurs. That is correct 3 Share this post Link to post
Koko Ricky Posted May 9, 2018 (edited) Just now, fraggle said: That is correct Isn't it kind of silly to dismiss something if later it turns out to be true? I literally predicted A.I.s making Doom levels a few weeks ago. 0 Share this post Link to post
fraggle Posted May 9, 2018 4 minutes ago, GoatLord said: Isn't it kind of silly to dismiss something if later it turns out to be true? Maybe but I think we'll manage regardless 5 Share this post Link to post
Memfis Posted May 9, 2018 (edited) I hate when people make short cryptic statements with no explanation. :( 0 Share this post Link to post
Gez Posted May 9, 2018 23 hours ago, Pure Hellspawn said: This is really, really, really old news. By 17 years. All you need to mimic this is a computer that runs SLIGE or Oblige. 21 hours ago, geo said: I'm just here to say how awesome Oblige is! It's only superficially similar -- neither SLIGE nor Oblige are powered by neural networks. They're simply random procedural generators. Here we're talking about an artificial intelligence learning to make maps; in SLIGE and Oblige all the intelligence is in the writing of its algorithms and the creating of its data sets. 5 Share this post Link to post
Linguica Posted May 9, 2018 Stop this derail now please. Writing in a thread that "maybe AIs will make Doom levels one day" does not make you a prophet. 8 Share this post Link to post
SaladBadger Posted May 9, 2018 One odd thing I noticed looking at the example wad provided is that each wall is divided up into a bunch of small segments, I wonder if this is a sign of how they're getting this output. Take the line image and generate lines from each pixel of it, fill in heights with the heightmap images, and so on. I guess we'll see if they upload the source onto that github repo. 0 Share this post Link to post
david_a Posted May 9, 2018 1 hour ago, InsanityBringer said: One odd thing I noticed looking at the example wad provided is that each wall is divided up into a bunch of small segments, I wonder if this is a sign of how they're getting this output. Take the line image and generate lines from each pixel of it, fill in heights with the heightmap images, and so on. I guess we'll see if they upload the source onto that github repo. Yeah, maybe I'm overestimating how hard it is to generate a Doom map from a picture. Are there any existing tools that do something similar? 0 Share this post Link to post
SaladBadger Posted May 9, 2018 I can't recall anything that does it being developed outside of this, but it feels like they have all the information they need. maps defining what's playable space vs. void, maps defining sector heights, maps defining triggers, maps defining things, etc. It seems like it would be possible to do. 0 Share this post Link to post