Introduction

Phantom's Cry title screen
The title screen of the game.
Phantom's Cry boss fight
Screenshot of a boss fight.
Phantom's Cry gameplay
Screenshot of gameplay.

In Fall of 2020, I had the opportunity to make a video game with a group in SIAT’s Foundations of Game Design course. We were required to make a video game which featured a narrative and non-linear gameplay within a span of 4 weeks. Our game is a 2D action-adventure platformer created on the Unity engine. Our game is called Phantom’s Cry and it focuses on exploration and utilizing three different attacks to solve puzzles and defeat enemies in the world.

For this project, I was the only programmer in my group so I took on many roles. The graphics were shared among my teammates, Christine D., Joyce L., and Kylie X. For showcasing this project’s development, I will be focusing on my process of designing the game and its levels.

Starting Sketches

Phantom's Cry title early design sketch for gameplay
Sketch detailing the player's base moveset.
Phantom's Cry early design sketch for map
Sketch of the map's sections where certain events or gameplay levels will occur.

Our team agreed to make an adventure game, so I suggested to make a Metroidvania. I explained to them that Metroidvanias are games which usually feature platforming, large areas with multiple paths, and collecting permanent power ups to help with exploration. They agreed and I got to work on designing the game, focusing on the player’s abilities and how they could be used. In the sketches above, I drew the player’s basic actions and what the game's world and levels might look like.

Making the First Prototype

Phantom's Cry in early development
Screenshot of the games first prototype through the Unity editor. It used temporary graphics from online sources while player attacks and movement were tested.

Creating the player and obstacles was a priority so I could design the levels around their capabilities. During this early phase, I wanted to hone down the game's movement and its shooting by adjusting their variables such as acceleration, jump height and projectile speed. By the first prototype, I felt satisfied with the player’s movement and created a small tutorial area. This area gave a place for the player to introduce and learn the game’s basic mechanics.

Designing the Levels

Phantom's Cry overview map
A map I created for the project detailing the player's intended path and other optional routes.

The image shows my general philosophy on creating this game’s levels; I wanted them to be big, complex and utilize backtracking. Clearly, a lot of inspiration came from the Metroid games and how they designed their areas and sequences. I also designed my areas to be based around the new ability the player gets within the area. These new abilities needed to be simple, so it was faster for me to program and easier for the players to understand.

Big Challenge: Meeting Deadlines with Limited Time

The most challenging aspect of this project was time. Each week there was a milestone due, and I had a large workload as I needed to bug fix, build the levels, create features and I was the only one who could code. I was taking other courses too and my teammates were busy people so we would occasionally fall behind schedule. How did I deal with this problem? Crunch. This game was pretty much the only thing I worked on for a week on the buildup for our second prototype. I worked on the game from the time I woke up around 10 am and staying up until 5 am. I believed this was a necessary sacrifice because I was truly passionate for this game and wanted to make it the best it possibly can.

Getting Feedback with Each Iteration

Phantom's Cry in early development with a certain issue on the presentation of the blue platform
The first prototype of the game. The player is able to land on the transparent platform when they hit it with the corresponding attack.
A later iteration of Phantom's Cry with a better version of the blue platform
The second prototype of the game. The platform has been changed to show its outline to be more clearer.

Every time our team had a working prototype, we got playtesters to try our game. Their feedback and observations were important to improving the game. I observed and interviewed players while they were playing and found their main issues to be the game’s presentation and feedback. For example, we have a mechanic where the player needs to shoot a platform to be able to land on it. Initially, it would appear somewhat transparent (left image) until the player shoots it with a corresponding attack. After playtesting feedback, I redesigned it to be an outline of the platform (right image) and it was more effective on conveying its purpose.

The Second and Final Prototype

Phantom's Cry dialogue screen
Screenshot of a dialogue screen. Story and dialogue was written by Christine.
Phantom's Cry boss fight
Screenshot of a boss fight in the second prototype.

The second prototype had significantly more content compared to the first one. I managed to add in a two-phase boss fight, two levels with the Metroidvania design, a dialogue system, fixed a lot of bugs (though I must admit that a good bit are still in), checkpoints, optional collectibles, and multiple endings. My teammates also finished creating the art assets which I needed to implement and resolve some issues with such as sizing. All of this was done within a week and a lot of crunch. This is where we stopped working on the game for this course, but honestly, I want to go back and add more features.

Conclusion

This game was really well received. Players liked the variety of challenges and platforming challenges the game offered. Similarly, the teaching team complimented us on its gameplay and the amount of content we were able to include within a short time. This game’s development was an experience. This definitely has the most effort I have ever put into any project in my whole life so far. This also showed my passion for game design as even though the weeks were long and stressful, I still enjoyed designing the levels and programming the game.

Try the Game!

You can try out the game by downloading its files here. Unzip the file, run the exe file on a computer and enjoy!

Download for Windows Download for Mac