Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Gamasutra: The Art & Business of Making Gamesspacer
arrowPress Releases

If you enjoy reading this site, you might also want to check out these UBM Tech sites:


Procedural Level Generation Update | Devlog #8

by Deniz Cakmaz on 10/23/20 11:27:00 am

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.


Up to this update this roguelike wasnt feeling that much like one. You fought in one circle and inside it enemies would spawn in waves. While there is randomness in their spawning it is still mainly me who decides how they are spawned. I want this control to control the pacing of each wave. I can make them fast and give you no room to breath, just to calm down the fight and let you breath right after. Playing around with different pacing is really fun and adds a lot to how the game feels.

With this update I added the randomness to the game which roguelikes are loved for, procedural level generation!

The Algorithm

I started with a test scene in which I created circles (I call em bubbles) “randomly”. First I spawn the start bubble, then I give it one to four children. These children can have one to three children themselves. Their children cant be where there already is a bubble. This algorithm is cool because it creates a random level without circles. This makes the next step a lot easier!

I order the list of all bubbles by their distance to the start bubble. I measure distance in bubbles not in space. The furthest bubble becomes the exit. The shop is the bubble that is rather far from the start and is far (this distance is measured in space) from the shop. That way the exit is always far and the shop isnt right next to the exit and neither is next to the start bubble. So wherever you go there is something and you wont feel like you wasted your time.

So now we have randomly generated levels in which there are bubbles. Each bubble has a randomly picked, hand crafted wave. Some just spawn x to y enemies, some have multiple waves. But I want more!

The Future

I haven't done everything that I want for this update yet, but I already need to see how people play it. So these are the things I will do in the future:

  • The more hype you have the more gold you make per kill, but hype goes down constantly. The paths between bubbles will have all kinds of traps in them. So you want to get through the paths as fast as possible to keep the hype going but it is dangerous as well. I will experiment a lot with buttons, timing based platforms, shooting towers, gaps and more. They should provide some form of a pause and breather between the high paced combat inside the bubbles.
  • A good minimap which shows the whole level layout. It will only show the bubbles you have been to. Also the minimap should allow you to teleport from one bubble to another. So you can skip the paths which you already ran through.
  • The shop inside the level. The shop bubble currently is just empty. And the old shop after a level still exists.
  • I will add obstacles and traps into each bubble to give it more context and content. Every bubble should feel more distinguished in each run.
  • Really important is that I will figure out what to do with the healing circle. Will you be able to spawn it wherever? Will I remove it? Will I iterate over it once again? I have no idea, I will see how people play this version and how I feel about the way healing works in this game.

Thats it folks, if you feel so inclined the game is online!

Have a good day everyone!

Related Jobs

Jintronix Inc.
Jintronix Inc. — New York, New York, United States

Lead 3D Artist - Remote - Environment Design for Exercise Games
Hit Factor Inc
Hit Factor Inc — San Diego, California, United States

Game Studio Engineering Lead - Remote
Fox Cub
Fox Cub — Anywhere, California, United States

Game Developer - Remote
innogames — Hamburg, Germany

Game Designer

Loading Comments

loader image