Procedural Isometric Level Generation

The Idea

Without getting too deep into the *earth shatteringly clever* concept behind the game in question (coming soon for PS4 and PC!), the basic concept is centered around tiles on a grid. The majority of the levels are, on a relative scale, setpieces, and have hand-built levels; however, to increase the variety of the in-between levels, it seemed like a good idea to generate some automatically.

This was, of course, a terrible idea.

I didn't go to school for any of this, but as with everything on this site, that didn't stop me. So I stapled and taped and glued together a series of modular methods that, by the end of it, spits out a new level, using nothing but random number generation and some prefabs.

It works! And that's pretty neat. But when I first made it, it was with the notion that it would be hidden behind a loading screen, so I didn't mind that I'd press play and Unity would just hang for fives of seconds. And then it occurred to me that it's both fun (for the player) and practical (for me to figure out what's going wrong) to see the actual generation of the level.

CHECK IT.

#1. Ground Generation

Probably the most important step is having an actual ground upon which to navigate. So we choose an arbitrary grid size, and then, if we want (we do,) we hand it a single texture which then gets broken into the correct number of squares; thus, each tile can glow, move, whatever! This is far and away the slowest part of the process and where frames are most likely to get lost; it's smooth sailing after this.

#2. Walls and Large Objects

From here on out, everything is entirely optional, but we're not boring so let's slap some walls on, because it's indoors, and place some chunky objects as needed. Each placed object checks its surroundings to see if it's overlapping any walls, players, or other objects, and destroys either itself or the other object accordingly. That bar is about to be given the boot.

#3. Doors and Windows

You're more than welcome to make an impossible nightmare room with no way in or out, but this isn't that kind of establishment.

#4. Additional, Non-Practical Lights

It's dark in here, and again, make whatever weird murderdome you want, but do it on your own time.

#5. Decorate!

Tie the room together and make it feel like anyone has ever been here on purpose!

#6. Behold!

and also start up your HUD or whatever

Etc.

The above example is for an indoor location, but it can also be used outdoors in any number of configurations. Maybe you're more the outdoorsy type.

Home

Go back to the start!

Portfolio

Look at it!

Resume

Resume and links to works!

Code Samples

Full of C#!

About

People have called me interesting. Click to see how wrong they were!

Xtreme Paddleball

Get the VR game people have called "better than it has any right to be!"

Copyright © All rights reserved | This template is made with by Colorlib