Oil Rig Level Blockout.
My aim for this project was to create an industry-standard level blockout which utilizes the free climbing mechanics created by Dias Games.
Engine: Unity
Why I chose this project
I felt I wanted to make a project where my sole focus was level design. I wanted to prove to myself that with only Unity's ProBuilder and some reference images, I could create a playable level that was not only fun, but demonstrated my level design skills.
Design Challenge
This climbing system created by Dias Games grants the player free-flow movement around a level using ledges and grabbing points, allowing a player to navigate a 3d space quickly.
Even though this system was overall easy to understand and use, it proved to be an unexpectedly tough system to design a level for. This is because the system broadcasts to the player that their character was capable of grabbing and climbing seemingly any ledge. This meant I had to take great care in creating an environment that didn't seem to go against this logic so as to not confuse the player. If the player thought a climbing route was possible, then it will be.
Choosing a setting and an objective
Before I even placed my first block, I needed to know what to actually build. My initial idea was just a tower, where the player has to climb against rising lava below. The tower would feature branching paths, with some paths being easier to follow but overall slower, and other paths being harder to follow but overall faster. In my head, I pictured these branching paths would create a sense of choice for the player.
However, very quickly I realised that this idea wasn't enough direction. I personally needed an abundance of reference images/concept art to be able to create an environment that not only looked good but was fun to play on. So I learnt that if I wanted to create an environment by myself with only google images, I needed to change direction and become less vague. So, needing to choose an already established structure I could easily reference from... I chose an oil rig.
To me, real-life oil rigs emit 'climb me' energy due to the pipes, beams, and abundance of high and low areas. Oil rigs also come in a variety of shapes and sizes, but all share common architectural similarities such as the drill tower, helicopter pad, control tower, cranes, etc.
This, therefore, granted me enough creative freedom when laying out the level because as long as I included several of an oil rig's key recognisable features, it would create the impression of an oil rig.
However I didn't want to stop at just a level blockout, I also wanted it to be a playable game, and therefore I needed an objective.
The objective is to locate several pressure plate buttons around the oil rig. The player will be timed as they navigate the map trying to hit all the plates as fast as possible. I wanted these plates to be reachable in more than one way, creating multiple plausible routes for a player to take.
Construction Process
It was fun! I already knew the basics of ProBuilder and so I could start blocking out the level straight away.
I started big with 3 main floors, however, quickly realising there would be several areas of unused space, I compacted it down and reduced it to 2 floors instead to avoid long open stretches which would spoil the overall high-octane intensity of the level.
The biggest factor that slowed me down was fixing the bugs. The free climbing system was overall incredible, it was intuitive and fun to work with, but it was not flawless. Several hours were spent overcoming bugs which could ruin the player's experience, ranging from going prone when touching a wall to flying several hundred meters in a random direction.
I came to understand how to work around them (collider issues, it was always collider issues), however some mechanics such as the crouching, wall running, and lying prone were simply too buggy to work with and so I ended up not using them in this project unfortunately.
Importance of playtesting
Playtesting was something I avoided. I knew it was silly, but I didn't like the idea of seeing my level being scrutinised right in front of me and this was a huge set back. However, I did in the end give a WIP build to my friends to play and it was easily the highlight of this project. Originally I just wanted to see if my game was even playable, what I didn't expect to see was two hours of friends competing against one another for the best lap time.
Asides from uncovering several areas which needed polishing, they showed me firsthand that my level was fun to play. Within a two-hour period, they went from simply learning the controls and wanting to hit all the buttons without dying, to discovering and testing numerous routes to find the fastest time possible. Between them, they started to create callouts and names for certain strategies, and they also uncovered bugs within the climbing system that allowed them to negate fall damage and maintain their speed.
I understand that having a few friends playtest together is very poor playtesting practice. But, doing this playtesting session and seeing how much fun my level created, heavily motivated me to continue polishing the level and it taught me the importance of playtesting when discovering bugs and identifying the overall potential a game has.
Reflection
What Went Well
This project revealed to me what my design process is. It showed me how I figure out design problems and how to go from an idea with no direction to a well-thought-out level. This means that for any future level design projects, I have a better understanding of scope and I have my own step-by-step approach to creating levels efficiently.
My understanding of ProBuilder has increased dramatically over this project. Before I was confident, however, I would still call myself a beginner, but now I'm capable of rapidly prototyping levels with good detail, whereas before, starting this project I was prone to make mistakes and waste time.
What Could Have Been Improved
I would have liked to have polished it more. A few bugs were never fixed such as the intro camera not highlighting all the pressure plates at the beginning and a few areas of unused space around the oil rig which could have been redesigned to make better use of the space.
I should have playtested more. I playtested far too late in production and the project suffered for it. The little playtesting I did showed me areas to improve and optimise and more importantly encouraged me to continue working on the project. Seeing people play my level and having fun was a huge motivator for me and would have helped tremendously if I held playtesting sessions more regularly and earlier.