Armed with two laser pistol / laser sword combo weapons, you're a rogue machine in a fascist universe.

Post feature Report RSS Rogue Machine - Map Design

Good levels are tricky to design so why not just procedurally generate them? Well, as it turns out, it's not that simple and still requires a huge amount of work.

Posted by on

Rogue Machine - Map Design

The levels for Rogue Machine are procedurally generated but, as I mentioned last time, I'd be lying if I said I was using some complex algorithm that created wildly unique levels and experiences. I've only dabbled in procedural generation before so I've kept things simple, concentrating on making sure the levels can be generated relatively quickly and that the game doesn't get caught in an infinite loop.

Each level is controlled by a template that holds the parameters for the procedural generation, such as the size of the map, it's style, number of rooms etc. The maps are grid based with tiles making up the corridors and rooms. Each tile has three cosmetic variations to give some visual variety within an overall style.

map details and styles

One of the dangers of procedurally generated levels is that it's very easy to create a game with a hundred levels but in reality they all pretty much feel the same. To alleviate this each map is based around a style, which is the basic look of the map and shape of the tiles. I already have three and hope to have a minimum of five but would ideally like more. I'm trying to make sure that each style has an effect on game play – for instance, wide versus narrow corridors – but I think I'll end up makings some styles that'll only be different cosmetically.

map details and styles

Quite early on I decided to add "hollow" areas which are tiles that the play can not walk on but do not block line of sight between the npc and player. The two main reasons for including this was to provide an obstacle for the player to have to navigate whilst not necessarily getting any protection or cover from and to also give a "cliff edge" that the player could accidentally fall off or be pushed off if they are not paying attention to their surrounding, to give them something else to think about.

map details and styles

map details and styles

At the time I thought that this basic foundation would be enough to keep the game interesting but, as it turns out, it can get boring really quickly.

Two criticism from early work in progress videos was that the maps were too empty and too flat. To address this I've added in things like moving scenery and stairs. I was a little reluctant to add stairs. It was something I'd tried but couldn't quite figure out how to incorporate it into the procedural generation. But the "too flat" criticism was too valid to ignore and it gave me the spur to work out how to do it and I'm glad I did.

It was always may intention to add in passive defences in the form of lasers, force fields and the like and while this gives the player something else to think about, and I think they work really well, I still felt that there was something missing. I realised that the player never had to interact with the environment.

map details and styles

map details and styles

So I made the computers destructible and added switches for turning things on and off, both of which can be used as a objective for the level. I've also added in elevators which, whilst not the the most mind blowing of features, can have the effect of changing the pace of level and just adds a little something else for the play to interactive with, a button push or screen tap is required to activate them.

It's now a case of deciding how many levels to have in total, with more levels meaning more map styles and features to make the game less repetitive. This will be influenced by the structure of the game as a whole, which is something I've only just started working on and I think I'm making an awful lot of work for myself.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: