Random level generator (0.3 for Blender 2.49)

Where is the script for this fabuloso blendermania dungeon generator?

Awesome script Piii. This has to be one of the more useful scripts I’ve seen. Thnx

Can’t download this script! someone please repost

I downloaded the script a few days ago and I liked the results. I’d have to resize the dungeons for my games, but it does make good dungeons. One thing I noticed was that the lights did not center on the dungeon, but that was the only thing I found wrong with it.

I love your work piiichan. I am learning a lot from the programming techniques you use to implement your ideas. Thanks.

for now, floors do not communicate between one another, but this addition is very easy to do. Tell me if you need this functionality.

yes i would like the floors to communicate between each other please. would you be able to make it like having a probability the worm would place a ramp instead of something like a ramp at the end of the floor so there are multiple ways to get to the next floor? great script thank you.

The next update (v0.3) is coming.

Floors do communicate with each other now. That gives us tomb raider-like levels, with large rooms and platforms.
I’m going to release this update soon, just playing a bit more with it first.

A few screenshots below



http://lh6.ggpht.com/_NgXGR9y5w6o/Sf1fjJxA83I/AAAAAAAAAPA/MxwG-Gp5akU/s800/lvlGen0.3_3.png
http://lh6.ggpht.com/_NgXGR9y5w6o/Sf1fjWx3oxI/AAAAAAAAAPI/8Hmo_fGXrkc/s800/lvlGen0.3_4.png

wow 0.3 looks amazing nice work

piichan - very nice.
Just a little idea - if the mesh is manifold, maybe it could be on random spots subdivided and smoothed or roughened in some way, to make “cave” parts…

Communicate?? what do you mean by floors communicating?

Having one or differents access to each others.

You mean like portals? That is you step out of one level and you are on another?

Download v0.3 (Zip, 339kb)
Download v0.3 (7z, 169kb)

Here is the last update for the generator.
There’s only a single new parameter: “rooms max height”.
http://lh3.ggpht.com/_NgXGR9y5w6o/SgQPoRXt5KI/AAAAAAAAAPQ/GWYOfvz1W8U/s800/dg_0.3_gui.png

That’s not much, but this simple parameter can make the levels a lot more interesting. Let’s see how it works.

This number represents how high a room can be, in terms of floors. Not all rooms will be that high, the actual room height is randomly set between 1 floor and roomsMaxHeight floor(s).

When it is time to create a room, the algorithm decides how wide it is, how long it is, but now also, how high it is. How many floors above the current one will the room grow up to. In other terms, rooms “break” the ceilings and floors above them when they are created (if they are taller than a single floor).

That’s it.

Now, for the next update, I have 2 directions to propose:

  • Allowing the use of custom tiles: you could provide the algorithm with your own meshes representing floors, ceilings and walls, and the algorithm would position them the same way it does now. So instead of having boring single faces, you could have more complex walls/floors/ceilings. It would be possible to provide as many types of walls, floors and ceilings as you like, they would be chosen randomly.
  • Placing objects randomly: you could specify a set of objects to put randomly inside the levels. Those objects could be torches, beds, foes, plants, shrines, bookcases, anything… You could ask for them to be put against walls or in the middle of tiles, on the floor or on the ceiling, or floating at the very center of each tile.

Personally, I like both options, but because I must start somewhere, I would go with option 1…
Which possibility would you prefer to have implemented?

Hello, this script is amazing !
I would go for option 1 : custom tiles as it is very important to be able to customize the walls and floors other than by texture only.

Ok, I’ll start working on it.

I like both as well, but #1 is the next logical step. How about doors and stairs? It seems like you are on the right track to creating a very nice architecture generator. It would be excellent to be able to define a set of walls, floors, doors, arches, columns etc, and the script places them all.

After all that happens, #2, the prop generator would be nice. Perhaps just essential props, like torches lamps, pedestals, maybe treasure chests or gold etc, or in the case of war games, med packs or ammo. Just some thoughts.

Maybe #3 could be a room prop set up. You’d define the room (bedroom, bathroom, dungeon, hall, library, dining room etc, and the script would place the appropriately tagged furniture/props in the room. That could all be user defined - maybe 10 slots or whatever.

This has some great potential.

You are my saviour! Thank you so much for doing this stuff!

You’re welcome :slight_smile:

Any work on any of those updates?

Sorry, I was using Blender2.57 instead of 2.49 when I wrote the below comment;

your v0.3 7z DL throws this exception when I try to run it:

try:
img = Blender.Image.Get(“Piiichan_logo”)
Blender.Draw.Image(img, 80, 350)
except NameError:
print “Where is my logo?”

I would love to see this updated for 2.5, (but I’m gona use it in 2.49 till then :slight_smile: )