Full Mojo Rampage: Creating a Roguelike
One of the big goals we set for ourselves with Full Mojo Rampage was to ensure that players never had the exact same experience twice. Personally, I love being able to launch a game - especially one that I made - and not know what's going to happen. We wanted something new and different every time you play, so we designed FMR as a roguelike, with proceduraly generated levels.
As it turns out, making randomly generated levels that are still fun to play can be a bit difficulty, and requires some trial and error. Early on, we constructed large chunks of levels - big rooms, an entire edge of a level, etc. - and had an algorithm to place those pieces randomly to form a square. There were a lot of corridors and narrow passages, too. But we decided this approach just wasn't working. The square layout just wasn't interesting to wander around and explore, and the narrow areas didn't really work well with the abilities that we wanted players to use. So we scrapped that method and went in a different direction.
The overall shape of each level is determined by a special algorithm.
Instead, we decided to create level shapes that were much more organic. We chose to use a procedure that generates noise on a texture, optimizes the texture, and then results in a shape that's something like a splash of water on a surface. From there, algorithms are applied to make sure there aren't places in the level that are unreachable for your character, and also to determine where enemies are placed.
 Every level is randomly generated but has specific ranges for walls, subdivisions, corridor widths, and dozens of other settings.
But beyond the overall shape, there are dozens of different parameters that can be adjusted or toggled on and off to give a level its character. We can set X and Y ranges to determine if the overall dimensions are rectangular or more square-shaped. How wide should the passages be? Do we want doors that lead to shrines or treasure rooms? How many, and how close to one another should they be? What's the environment style? Will the level have subdivisions with special parameters? Should the level include lots of walls or should it be wide open? We can also create levels that are mirrored on the left and right sides - great for competitive multiplayer - and set up special areas for boss encounters. There are more than 110 parameters for each level, and we kept testing and experimenting with different ranges for settings and combinations of settings to make sure that levels would be random yet fun, and also distinct from other levels you may come across.
In roguelike fashion, you'll lose all your mojos (and your quest progress) if you die, so use them while you can!
As for other ways that we wanted to make FMR roguelike, well, there's the fact when you die, your quest is over - it's back to square one as far as your progress goes, and all of your useable items - your mojos - are gone. In some regards, though, we didn't stick to true roguelike convention. You keep your character level and accumulated experience points when you die, and you keep your pins as well. Even if you fail, it's not a total loss, because next time you'll be able to come back even stronger. It's all of the fun of a roguelike without the most frustrating aspects, and hopefully it means you'll want to keep coming back for more.