Hello, PlayStation fans! My name is James Petruzzi, and I’m the Producer of Chasm, a procedurally-generated RPG Platformer coming to PS4 later this year. In Chasm, players take up the role of Daltyn, a young soldier sent to investigate the mysterious disappearance of a mining crew in the remote mountain town of Karthas.
Upon arrival you learn the town has been cut off from the outside world by supernatural forces. Now trapped, you are left with no option but to explore the mines below the town and uncover the source of the disturbances. Only by gaining new special abilities, evading dangerous traps, and defeating hordes of deadly enemies can you hope to save Karthas – and possibly the world!
One of the hardest parts of game design is creating a unique and interesting world for players to explore. The Metroidvania genre has always been popular among exploration fans, and utilises unlockable items or abilities that help the player reach previously inaccessible areas. The goal of our latest game is to make an authentic Metroidvania-style experience that utilises procedural generation to keep the experience fresh for repeated play-throughs. Let’s quickly explore how we approached world design in Chasm.
The world of Chasm is based upon a simple four-tier hierarchical structure. Let’s start with the most basic building block: the Room. A Room in Chasm is a container that has collision tiles to walk on, one or more doors, and data for possible procedurally placed elements like enemies, traps, treasure, and more.
When creating a new room, the first task is deciding on its size. Should it just fill one screen, or should it scroll multiple screens vertically or horizontally? Next, we place the collision tiles for the player to walk on, and lay out spawn zones to define what things can spawn where. At this point, we can play the room in the game and see if it’s fun, decide what enemies or traps work best (or don’t work at all), and do general tweak ups. Once finalized, an artist visits the room and styles it with the area’s tileset.
Repeat this process many times, with many different sized rooms, and all of a sudden you have a big repository of possible options for generating a dungeon. When you start a new game, our dungeon generator lays out these rooms into the next building blocks of the world: the Sub-Area. A Sub-Area is comprised of around 10-15 rooms connected together in a unique configuration. All Sub-Areas have several things in common: a difficulty level, a save room, connections to other Sub-Areas or Areas, and the chance for “special” rooms to appear like puzzle rooms, trap rooms with waves of enemies to battle, or story rooms with ruins or notes to examine. Most importantly, we can guarantee certain items or NPCs will be somewhere in a Sub-Area for the player to discover.
An Area is formed when multiple Sub-Areas are connected together. Areas are designed to create a core set of goals and a path for the player. For instance, in the Mines your overall goal is to reach the boss in Sub-Area 2, but in order to reach it you first need to gain the Slide ability in Sub-Area 4. In order to reach Sub-Area 4, you must have repaired the elevator after acquiring the part in Sub-Area 5. In this way, we can ensure the area is properly paced, and the player has both short and long term goals to attain.
Lastly, the Areas are connected together to form the World. There will always be events that happen in the same order (ie. the player always goes to the Catacombs after completing the Mines), and in true Metroidvania fashion, there will also be backtracking between Areas. There may be a special treasure chest on a ledge you have to come back for later with the Ledge Grab ability, or perhaps a rather wide chasm blocking off the next area that requires the Flip ability to be crossed.
I hope this has shed some light on how the world of Chasm is designed, and gives you a better idea of how the game will play. By utilizing procedural generation, we hope to make the “room to room” exploration experience always new and exciting, while still providing a directed and well-paced experience. Finding the perfect blend between procedural generation and hand-crafting is a tricky endeavour, but one we think is more than worth exploring further.