DisasterSpace (Working Title)
Procedural generation! It seems to be my latest obsession and one of the favorite ways designers create replayability in their designs. Games like Blizzard’s Diablo series used it to create dungeons that varied from playthrough to playthrough, while Hello Games No Man’s Sky tried to generate a whole universe for their players to adventure in. With help from the folks at Pub Games, I was able to get down the basics of procedural generation in Unreal 4 using Blueprint. Their video Procedural Levels in 15 Minutes became the launching off point for developing a system that generates rooms and corridors using arrays and random number generation. This new system has become the cornerstone of my new game idea DisasterSpace
The system I currently use has undergone three major iterations and numerous failures, tweaks, and rewrites. It builds on the ideas introduced in the Pub Games video. Arrays store different types of levels. Using random number generation, a room is chosen and then placed in the persistent level using a system of connection points. All this code is stored within the connection points themselves to keep things modular and organized. When the requested number of rooms is created, the system then caps off all the extra connection points so there are no loose ends. I have created a few different kinds of connection points to keep the system flexible and each level is self contained and can have it’s own lighting, effects, and more.
As I developed the system, I was able to test it within a few different scenarios. At first, I used it to build randomly generated towers that might be used in a puzzle game. When I got this to work, I was able to move on to building randomized dungeons. Using different connection points types, I was able to specify whether a room, hallway, or junction was built at a particular doorway. Thus creating some very interesting levels. After further testing, I now feel the system will be perfect for building my newest game idea.
Klaxons blare. As you climb wearily out of your cryo sleep tube, your wrist mounted computer informs you that several of the ship’s systems have been damaged by an unknown catastrophe. What happened? Is anybody hurt? DisasterSpace is a disaster survival game set among the darkest regions of space. The player takes the role of the ship’s engineer, woken up early from cryogenic suspension to deal with a disaster that has damaged the ship and put it, and the rest of the crew in a life or death struggle for survival. Find out what happened, repair as much as you can, and save as many of the crew as you can before the ship is destroyed.
DisasterSpace utilizes the procedural generation system to vary a ship’s layout and provide enough variety to support multiple playthroughs of the game. Players take on the role of the ship’s engineer. A mystery disaster has befallen the ship and her crew while they all slept in stasis resulting in catastrophic damage. The player must save the crew and repair as many systems as possible before the disaster has a chance to destroy the ship. During play, the level will change based on the scenario and how long the player is taking to reach the end goal of a functional ship. Rooms that were there just moments ago may now be open to the void. Hallways that provided safe routes before, may now have no oxygen or be filled with fire. The environment will change during gameplay and the player must evolve with it to win.
I am currently working out the basic design of the gameplay systems to begin working on a prototype for testing. Once I have a rough, working design I will be sure to post it here!