The Day The Sun Went Out

Engine: Unity | Team Size: 4 | Duration: 4 months

During the final 4 months of my bachelor’s degree, I worked with a team of 3 other designers to create The Day the Sun Went Out. Throughout the development process, I primarily focused on the development of the player controller, level mechanics, prototyping mechanics, running playtests, and collaborating with a team of remote artists in the final month of production.


Game Overview

The Day the Sun Went Out is a tough-as-nails 2D platformer in which the evil Mr. Black and White takes the color out of the world and the little Madriana must defeat him to restore all colors to the world. Seamlessly perform multiple jumps, while gathering different pickups to traverse through a series of dangerous obstacles.


Character Design

For the design of the character, I started off gathering reference for what the team wanted the character to feel like. Rayman Legends was a game I recently played and liked the smooth transitions between different player states. We also tried to implement a weapon system seen within the game. Celeste was another game that came to mind with the fluid controller of the character and being easy to learn the metrics. Throughout the 4 months of development, I iterated on the character to adjust metrics and user feedback.

One of the major problems I received through play testers feedback was the lack of user feedback with the character. At first, we there was no difference with the character whether the player had used their double jump or not. This proved to be an extremely important area that needed to be fixed, so I went back to the reference games. In Celeste, Madeline’s hair changes color when they use their dash. I decided to implement this into our game so we could show off the amount of jumps the player had left. Purple, yellow, and red were used to signify the amounts left and would also help with red-green color-blind players.

There were a variety of mechanics that were cut throughout production. The first element was the weapon ability. We found that the game was faster paced and based more around player traversal than combat, so we decided to cut it early on to focus on the player movement. The second was a ceiling climb mechanic where the player would grab onto select areas of the ceiling to avoid hazards. This mechanic was cut due to the limited options that it would be used and the double jump was more useful in more situations. A ladder was used so the player could get up to higher areas of each level, but we decided to focus more on platforming ability due to how much it slowed the player’s movement down.


Pickups

While testing different mechanics for the player, I found that most of the encounters that I wanted to happen for the weapon needed to be changed due to it being cut. When thinking about how to keep the functionality, the team decided to make them into pickups the player can interact with. I created the functionality of a base pickup and set it to be easily adjustable through code. The pickups we tested were the freeze pickup, extra jump pickup, and a speed pickup. These new pickups were also extremely effective as breadcrumbs the player could follow throughout the levels.

The freeze pickup was easy to implement into the game, I just needed to figure out what all to freeze. It was originally just going to be enemies but decided to include all level mechanics. This allowed us to create encounters in which players would need to time the freeze pickup collection to stop objects from moving to complete an area of the level.

The extra jump pickup was an idea taken from the crystals in Celeste that give a dash back to the player. This pickup was created to give an extra jump to the player, but we found that if the player could have more than just 2 jumps, we could create encounters that required the player to perform more jumps in a row. This allowed levels to be more difficult as the player could acquire more jumps to complete these sections easier. This allowed more leeway for the player with how many jumps they needed to use.

The speed pickup was used to give the player sprint but only for a short duration of time. This idea was used but became an issue of why not tie it to a button with a cool down for the ability. The other problem we ran into is that the player would be moving faster than we wanted to throughout and the player felt too slow if the original pace was slowed. It was used in a variety of different levels and the team felt it didn’t fit, so in the end we scraped this idea.


Level Design

When designing levels for games, I find it easier to draw out a simple sketch of an idea or a level layout. With this game being a 2D platformer, I was able to draw out whole rooms with all encounters for the player. This allowed me to draw out different ideas and look at the flow, while also adjusting them as needed before building it out in engine. When I built these ideas out in engine, some of them proved to either be too difficult, too boring, or were good but didn’t fit right within the actual game.

In this example, I wanted the player to have a maze like encounter where they could choose a path that they wanted to go. It started off with a moving platform that would block turret fire and provide a safe opportunity for the player to get through. This concept was interesting at first, but with testing, this concept made the area too easy. This area was adjusted throughout and was partially implemented throughout this level to make it feel more cohesive. The final level was implemented and was a nice final challenge for the level.


Thank you for making it this far!