Guiding Questions
Will I be able to develop a 2D video game that has elements of platforming and risk that people will enjoy playing?
Answer to Question
I was able to complete my goal through creating a level that involved the player traversing an environment that forced them to move from one platform to another and established a way for the player to be punished for the mistakes.
Justification
To answer my guiding question, I began development on my own game. Since I did not know unity or C#, I used the resources around me, such as youtube, discord, and Reddit, to help me develop the mechanics currently in my game. While the development was slow and difficult, I learned much from it. I began my work by figuring out what art style I should pursue. After studying the many different styles other developers have used, I decided that sixteen-bit would fit best with the type of game that I was developing..
To begin creating the hero, I needed to learn how to add mechanics allowing it to walk left, right, and jump. Since I was so new to unity I reached out to a friend to see if he had any advice for me. He explained that Youtube is what he originally used during the beginning of his journey through unity. That there is an endless sea of helpful tutorials that are completely free. After searching on youtube for some tutorials I came across a couple channels that seemed very helpful. A couple that really allowed me to begin progress on my project were Brackeys, Pandemonium, and Chris' Tutorials. They each taught me the basics for unity and provided knowledge of any mechanic I wanted to implement.
I found that on youtube, many different creators published very detailed videos. Through their help, I could begin controlling my hero in only a short period. Next, I started testing different platform designs to determine what was the most fun for the player to complete. For example, after brainstorming for some time, it would be interesting for the player to enter from outside a massive tower which they would scale to reach the top. Before I began the creation of the tower, I wanted to add more details to the environment to make it more exciting and less barren. This led me to add trees, grass, and rocks. An essential part of any game is to make the environment feel like it has been lived in.
The tower was inspired by something you would find in a Castlevania game. Similarly, with what I did to the outside of the level, I began adding details that I believed would fit with the inside of the tower. These included shields, torches, and bookshelves which helped make the environment so much more interesting to traverse compared to how barren it was before this addition. While developing the tower, the current platforming in the game was too easy and would become uninteresting for the player. This caused me to go back and rework much of the platforming that currently exists within the tower. After trying out many different designs, it would be nice to add a way for the player to jump twice. Since I had no idea how to add for the player to be able to jump twice, I went onto youtube to help me find out. After trying to implement the double jump I would run it to problems with the player getting stuck in the floor. I knew immediately that this problem is related to the physics engine but I did not know how to fix it. I went online to try and seek help but the solutions offered were not much help.
With the only option left I decide that maybe deleting the physics engine and reinstalling it would be enough to fix the problem. This actually worked and fix the overall problem I was facing. After trying out the new mechanic I noticed a problem that with the double where the player could keep double jumping with no limit.
After adding this new mechanic to my game, I realized how such a simple addition improved the pacing of the game. This led to wanting to add in many more mechanics to make the game a more complex and less simple experience.
To figure this out, I looked at one of the most infamous and oldest platformers I could think of: the Super Mario Brothers. First, I noticed how the developer would lead the player in a particular direction through the use of coins. This allowed the developer to ensure the player understood which direction to head in to progress the game forward.. To add the coins to my level, I would first need to find an asset that would make the coins fit in with the rest of the art style. I then moved on to locations I would like the player to head toward. This gave me the idea of making the game less linear and encouraging the player to go off the beaten path. Similarly with how I began development on so many of my other dev
After adding numerous mechanics to my game, I noticed how there was not enough risk factor for the player. It quickly becomes monotonous if the player can complete the level with no way to lose or at least be punished for their mistakes. I knew I needed to create an obstacle that punishes the player. Like how I gained inspiration for the coins, I decided to look at the classics. I noticed many different obstacles that were commonly used, such as spikes, fire, pitfalls, and lasers but the one that stood out to me was the saw trap. This would be a saw blade that moves from left to right and causes one heart of damage. I went with a pixelated design that looks more cartoony compared to a more gruesome design. To figure out where I should place the saws, I looked into what areas of the level could use an added bit of challenge.
This made me realize that the level would need to be redone with this additional mechanic to work. To remake the level, I decided to see what other people had done and incorporate their designs. The final result was a much better level that was much more interesting and fun to play. However, three elements still needed to be added to the game after adding the trap. These were a health bar to track the player's health, a start and end screen, and where the player would respawn after dying. To develop these three elements, I reached out to the Unity discord server for help. With their help, I was successful in the implementation.
The final mechanic to add is one that is located in every game since the beginning, which is a way for the player to complete it. Since without a way to end the game, the player does not feel any sense of accomplishment. This led me to add a trophy at the end of the level which when the player touches it, they are shown an end screen with a message letting them know they completed the game. After adding this final element to my game, I decided to show it to the rest of the class.
During this time, I received numerous positive feedback about my game from both teachers and students. I was told people loved how challenging and unforgiving the game was. I witnessed people replaying the game multiple times just to reach the end. During this time a large crowd formed in front of the computer to witness what I had created. This made me sure that I had created a game that had elements of platforming and risk that people would enjoy playing.