Faultline Development
Initial ideation
The first four weeks of the project were spend ideating what kind of game I wanted to make, culminating with the submission of a project proposal at the end. I spent this time thinking about what kind of game would suit my portfolio, and I was also looking for a fun way to challenge myself and my design skills.
I wanted to also be wary of my scope, and preferably work on something modular, or work on an endless style game where I wouldn’t have to spend most of my time adding content, and instead focusing on polish.
I began thinking about games I had played. I recently played through a game that I tend to go back to every few years, “Getting over it with Bennet Foddy”. This is a strange game in which the player is tasked with climbing a mountain, using only a hammer to move their character. The game is extremely punishing, every time you fall a lot of progress is lost. It’s designed in a very “anti-design” way. This game has always interested me due to its artistic outlook on difficulty in modern games. The titular Bennet Foddy says the following: “Most obstacles in videogames are fake—you can be completely confident in your ability to get through them, once you have the correct method or the correct equipment, or just by spending enough time.” These words stuck with me, and I’ve always wanted to attempt to make a game like his that emulates this unforgiving style of difficulty. I thought making a game like this would be a great challenge as a designer, as trying to turn something inherently frustrating into an experience that keeps players trying over and over again.
I recalled a game I sank a lot of time into as a teenager, a mobile game called “Leap Day” published by Nitrome. The game was a platformer, where the player would move upwards throughout a level, avoiding spikes and completing difficult jumps. The game had a unique gimmick, in that the playable level was linked to the current date, meaning the current level would rotate over. These levels were procedural in nature, being created with an algorithm that would take certain pre-built sections and put them together. I thought the modular nature of the levels was clever and thought it might be a good idea to do something similar.
With both ideas in mind, I thought of a way to blend them. An unforgiving game in which the player must platform upwards through a level, with modular segments that could be procedurally generated. I thought of a premise for this this game: After somehow falling to the bottom of a bottomless well, you play as a ninja who must climb up the ever changing well by throwing his swords into the wall to act as platforms. I then submitted his as my proposal and began working on the game the next week.
Development
I began by starting to create a physics system for the game. I decided on using Gamemaker, a tool I am very familiar with and am sure to produce my best work with. I began with simply adding a controllable player object to the project, and a wall object to collide with.
I created the player object so that it could be moved by clicking and dragging back, then it would slingshot forwards. I put a lot of focus into making this movement system fun. I started by adding a dotted line that gives the player an idea of where they land, while also showing the general direction that they will go after bouncing into a wall. I wanted to make it fairly precise, but took away the precision after bouncing off a wall to make certain jumps still carry a degree of uncertainty and risk.
Code for the movement system inside of the Gamermaker editor
After this I put a lot of focus into player feedback. If I could get the simple act of moving to feel great, the game would be better as a result. I mixed some sound effects, one for the player pulling back, another for jumping and a final one for landing or slamming into a wall.
While these helped a lot with player feedback, I wasn’t finished. I added screenshake for hitting walls fast, and particle effects for pulling back, flying and landing.
The end point of the demo
After I was satisfied with the movement, I re-examined the scope of the game. While procedural generation is a nice idea, for this submission the scope is simply too large, and a tailored, handmade level would suit the project much nicer. I also decided to scrap the idea of the player throwing swords that stick into the walls to jump from, as it added another (somewhat unnecessary) dimension to the gameplay that didn’t really add anything, as well as slowing down the overall pace of the game.
I spent the remainder of the weeks creating a level for the game, quite a tall level that would serve perfectly fine for this piece. After I was happy with level, I made some cosmetic changes to the game. Firstly, I added a surface shader to the game, displaying an image behind the walls of the game to give it a proper visual identity, making it fit in with the other games on my portfolio. I then added a few signs to the map, each indicating every 100m the player had climbed. This would help give a sense of progression and achievement to the player, while also making it easier to refer to certain areas of the level.
A section of the map in the Gamemaker editor
Conclusion
Gameplay screenshots