[WIP] Randomly Generated Dungeon! [Revived]

For Total Conversions and projects that don't otherwise fall under the other categories.
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.

Re: [WIP] Randomly Generated Dungeon!

Postby Chex Warrior » Wed Apr 14, 2010 9:35 pm

Now if there was only a way to make randomly generated items you could make the real Doom roguelike.
User avatar
Chex Warrior
 
Joined: 13 Apr 2010

Re: [WIP] Randomly Generated Dungeon!

Postby Nash » Sat Apr 17, 2010 10:42 am

Just popping in for a quick update...

carlcyber has written a very nice tool that automatically generates the UDMF map to be used for the dungeon, and I can expand it as large as I want (within ZDoom's limit of course).

(FYI, a 256 x 256 dungeon map generated a 53 MB UDMF WAD file :P. It also crashed the internal node builder. Gah I guess I can't create large dungeons...)

Also, internally, the code has changed tons and is very flexible. I've been working on all kinds of functions to help with the dungeon creation. Changing cell textures, placing things in the middle of cells, wall and corridor building functions that check whether they spawn successfully or not, functions to place doors... too much to list, but I feel that I've come to the point where the engine is armed with enough tools to build a dungeon.

Now all it needs is the actual random dungeon generating algorithm itself. This has been bothering me for days... ever since I started this project, I just couldn't come up with an algorithm that produces nice looking dungeons.

I'm going to get started on that now. Hopefully I can come up with something decent.
User avatar
Nash
Twitter/Facebook/Youtube: nashmuhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Twitch ID: nashmuhandes
Github ID: nashmuhandes

Re: [WIP] Randomly Generated Dungeon!

Postby Nash » Sat Apr 17, 2010 3:18 pm

Image

New version! Changes include...

1) Doors! They don't spawn at the correct angle yet, and well obviously they are dummy sprites as of now. Doors will be models. I won't use traditional Doom-style doors for technical and aesthethic reasons.

2) Dungeon layout now looks good, thanks to my copy and paste efforts an example algorithm written in Java found at: http://roguebasin.roguelikedevelopment. ... _Algorithm

I'm still not entirely happy with it... it currently has no concept of rooms (attempting to store rooms into my existing rooms list doesn't seem to work with Mike Anderson's algorithm). Also, sometimes, doors spawn next to each other. I'll figure that out later.

And some other bells and whistles.

Still no exits yet though. Next on my to do list:

1) Proper door angles, models
2) Spawn random decoration
3) Spawn random monsters!

[EDIT: Download removed]

Can users with lower end systems please try this out in GZDoom and tell me what kind of FPSes you're getting? Thanks.

EDIT: Mini update. Same link to download new version.

1) Added door model which I whipped up in 5 minutes in 3ds Max
2) Doors spawn in correct angle
3) Pressing +use on a door will remove it - this will eventually evolve into a complete door system with open/closing, obstruction checking so door can only close when nothing is standing in its way, etc

Still need to figure out how to make sure doors don't spawn next to each other...
Last edited by Nash on Sat Apr 17, 2010 8:32 pm, edited 1 time in total.
User avatar
Nash
Twitter/Facebook/Youtube: nashmuhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Twitch ID: nashmuhandes
Github ID: nashmuhandes

Re: [WIP] Randomly Generated Dungeon!

Postby Nash » Sat Apr 17, 2010 8:32 pm

A small update.

1) Doors are now fully functional. They open, close, and check for obstructions. The only thing they won't ever do is block line of sight, and I'm going to leave it at that - the final door models will have see-through features like small gratings or windows, to reflect this limitation. To open them, just touch them. You can also use the use key. Pressing the use key while a door is open will manually close it. Beware, monsters are also able to open doors...

2) Crude door open/close animation. :P

3) Monster placement! Give it a try.

I'm still waiting for performance feedback. How is it running for slow computers? I need to know. It doesn't hurt my i7 even one bit and I hope it is the same for most users.

Download link is in first post.
User avatar
Nash
Twitter/Facebook/Youtube: nashmuhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Twitch ID: nashmuhandes
Github ID: nashmuhandes

Re: [WIP] Randomly Generated Dungeon!

Postby Hetdegon » Sat Apr 17, 2010 11:35 pm

Wow, just WOW. The fact that it uses internal zdoom code (hence portable to whatever platform you can run zdoom into) is what makes it incredible.
I am used to Oblige maps for my random play, but this has an even raw-er roguelike (older angband or nethack) feel to it. If you make some facilities to upgrade equipment and such (could be possible making several levels of armor and weapons and limited inventory...decorate copypaste with some tweaks) and the self-contained Doom Roguelike is born.
I planned to do something like that "decorate copypaste" some time ago but got into something else first, if you ever want to discuss let me know, I can even do a quick sample code as proof-of-concept.

...
It's like DoomRL but reversed, what an amusing thing.
User avatar
Hetdegon
Dimensional Police
 
Joined: 30 Oct 2004
Location: Chireiden
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: [WIP] Randomly Generated Dungeon!

Postby Nash » Sun Apr 18, 2010 6:15 am

I will most probably reuse the inventory system from my custom grid-based inventory system. With that system, it is possible to create a huge amount of items.

Where are the FPSes, people!? :P
User avatar
Nash
Twitter/Facebook/Youtube: nashmuhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Twitch ID: nashmuhandes
Github ID: nashmuhandes

Re: [WIP] Randomly Generated Dungeon! (Testers needed!)

Postby Enjay » Sun Apr 18, 2010 6:33 am

It seems to be working very well for me. With my system being i7 too, I don't suppose you'd expect it to be running badly though. It's pretty impressive stuff so far.

I'm intrigued to know what the game is doing when the % counter is incrementing at the start. Is that a genuine and accurate reflection of progress?
User avatar
Enjay
Everyone is a moon, and has a dark side which he never shows to anybody. Twain
 
 
 
Joined: 15 Jul 2003
Location: Scotland

Re: [WIP] Randomly Generated Dungeon! (Testers needed!)

Postby Nash » Sun Apr 18, 2010 6:41 am

Enjay wrote:I'm intrigued to know what the game is doing when the % counter is incrementing at the start. Is that a genuine and accurate reflection of progress?


Yes. There is an "object" count that determines how many "objects" (in this engine's case, rooms and corridors) are to be created.

A room has a 75% probability to be created, while a corridor 25%.

This is further complicated by the fact that if something cannot spawn, it'll start the loop from the top again (also resulting in the number of objects being created not incrementing).

So why is it slow? Runaway scripts. I HAVE to stick in a delay(1); in the loop, otherwise the script will fail to complete.

I know it's annoying, and trust me, it is, even more so when I'm testing. It gets even slower when the total dungeon size increases...

There are probably ways to optimize the code to make the generating process a little faster but that's kinda out of my league right now I think.
User avatar
Nash
Twitter/Facebook/Youtube: nashmuhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Twitch ID: nashmuhandes
Github ID: nashmuhandes

Re: [WIP] Randomly Generated Dungeon! (Testers needed!)

Postby Chronos » Sun Apr 18, 2010 7:37 am

Wow pretty interesting work Nash.Could you post some in-game screens to us?
User avatar
Chronos
 
Joined: 30 Dec 2008
Location: Somewhere in your nightmare...

Re: [WIP] Randomly Generated Dungeon! (Testers needed!)

Postby Nash » Sun Apr 18, 2010 8:06 am

I don't know... it doesn't look all that hot in-game YET because most of the dungeons are empty and monotonous.

I'll post in-game shots once I get decorations and room themes (different textures for different rooms) implemented into the engine.
User avatar
Nash
Twitter/Facebook/Youtube: nashmuhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Twitch ID: nashmuhandes
Github ID: nashmuhandes

Re: [WIP] Randomly Generated Dungeon! (Testers needed!)

Postby InsanityBringer » Sun Apr 18, 2010 8:14 am

for performance, it runs perfectly on my ancient computer, in both Zdoom and GZdoom (the important one)
User avatar
InsanityBringer
 
Joined: 05 Jul 2007
Location: opening the forbidden box
Discord: InsanityBringer#9908

Re: [WIP] Randomly Generated Dungeon! (Testers needed!)

Postby Nash » Sun Apr 18, 2010 8:37 am

Good to know. Time to get CRAZY with the dungeon features then!
User avatar
Nash
Twitter/Facebook/Youtube: nashmuhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Twitch ID: nashmuhandes
Github ID: nashmuhandes

Re: [WIP] Randomly Generated Dungeon! (Testers needed!)

Postby Chronos » Sun Apr 18, 2010 9:09 am

Tested it out.Pretty good project would like to help you working at it.
Also good thing Nash to do is to make it for coop for 2-4 players.
User avatar
Chronos
 
Joined: 30 Dec 2008
Location: Somewhere in your nightmare...

Re: [WIP] Randomly Generated Dungeon! (Testers needed!)

Postby Nash » Sun Apr 18, 2010 9:48 am

Yeah, coop support is definitely planned. It would be fun to romp through the dungeon in coop.

I'll also implement something like in Diablo where the more players there are in-game, the stronger monsters get.
User avatar
Nash
Twitter/Facebook/Youtube: nashmuhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Twitch ID: nashmuhandes
Github ID: nashmuhandes

Re: [WIP] Randomly Generated Dungeon! (Testers needed!)

Postby Dancso » Sun Apr 18, 2010 10:48 am

Epic.

I noticed that all monsters will hear your attacks, because the doors don't actually block sound.. it's a bit bad to have em all come over to one room, so you might want to keep that in mind. I'm not sure if sound blocking can be done on the linedefs along the doors, but it would be my first idea to check.

You could also try and have some of the bigger square rooms extended by other rooms, so it doesn't look completely rectangular.. or even generate rooms that aren't box shaped.

It's a bit hard to navigate through the place without switching to the automap every 5 seconds, but I guess not much can be done about that besides some additional content for the rooms.

It would be also interesting to perhaps see a top-down view from an angle, with a camera floating high, and the sectors having "no ceiling" (actually just so tall that they wouldn't be visible)

I'm pretty sure that the generation code can be fixed so that it would finish in the blink of an eye. :)

Keep going, awesome work so far!
User avatar
Dancso
bow wow
 
Joined: 11 Oct 2006
Location: at home.. Status: lazy like hell

PreviousNext

Return to TCs, Full Games, and Other Projects

Who is online

Users browsing this forum: Captain J, freeman016 and 10 guests