Sonar is a deep sea, procedurally generated horror game where you try to find a lost teddy bear while slowly going insane.

Controls: WASD: Move/Look around; P: Shoot; L: Take pills

I made all the assets on my own, which included the art, music, levels, and programming.

Reason

The game was made for the GBJAM 8, which required creators to make a game using only four colors, in game boy style and game boy resolution, from August 28, 2020, to September 6th, 2020.

Goals

My goal for this game was focus on making cleaner code for the possibility of scaling it up to a larger game in the future. I wanted to make a game that kind of resembled Doom but be a deep-sea horror instead. The design of having all the different sounds from the heartbeats, to the sonar pulses and the creature noises was to make the player feel frantic as they were slowly trying to maneuver around the levels.

Challenges

My biggest challenge was art in the game. I’m not an artist so having to create all the art for the game was time-consuming. I also was mixing both 2D and 3D and couldn’t seem to figure out how to get 2D textures to simply appear as images without adding them as 2D sprites. Time was also not on my side, as I lost the first weekend to releasing Invasive first, so I only completed the game in roughly 30 hours.

Solutions

Having the sonar pulses, one of the big features in the game, was what led the game to be disqualified from the jam because the opacity of the light resulted in more than four colors. Because the game was a mix of the player viewing the world in 3D while all the art was 2D resulted in lighting that had to be 3D. I did create a nice pixel effect by editing a shader to have an editable resolution and have the player’s camera be rasterized on a raw image. Because I focused on having clean code, which included the use of abstract classes and interfaces for the sea creatures and obstacles, I was able to easily make levels and prefabs to my liking.

Reflection

While the game was disqualified, I’m still proud of all the things I was able to accomplish all by myself in just one weekend. This game has really shown me how far I’ve come in just a few months, from making the simple ball maze game, Tinker, to a procedurally-generated first person shooter game that features a heart monitor and a mini map. By using abstract classes, I was able to easily create different kinds of fish AI that performed multiple kinds of attacks and sounds. While some of the art, including the UI and end screen art, were not my favorite, structurally I think the game has a good foundation if I want to expand upon it in the future.