Introduction

Hi! My name is Jared Conway and I am a first year computer science undergraduate student. For these last 24 hours or so in competing in HooHacks, I’ve been working on a tycoon-inspired game that I like to call LifeGuard. As you could probably tell from the title, you play as a volunteer lifeguard for the summer and have to clean up the garbage filled beach and sea. This game was created to spread awareness about pollution in the Earth’s oceans. Excess trash in the game’s ocean impedes the player’s path of travel as it provides a physical barrier the player cannot pass through without cleaning it up first - similar to how certain marine life, like sea turtles, will get stuck in real trash and plastics.

Overview

Although trash in this game can be a real obstacle, the game also implements a recycling mechanic which can make your life a lot easier. By taking trash picked up from the ocean over to the recycler, your trash will automatically be converted into the game’s currency, called shells, as well as count towards your collection. Your collection consists of 4 main resources: driftwood, plastic, rubber, and metal. By recycling enough of each material, you will gain access to new items in the shop you can spend your shells on - like a wooden pole that increases your reach or the Jetstream which grants increased underwater propulsion and even temporary flight through the air! The player also has access to backpacks for permanently increased inventory space and diving equipment for increased oxygen limits. All of this was made using a handful of different applications and websites, including Aseprite for the artwork, Soundtrap for the music, JSFXR for the sound effects, Visual Studio for editing code in C#, and the Unity Engine to put the whole game together.

Challenges

Originally, I was going to partner up with 2 friends to work on LifeGuard, but we didn’t realize that the signup had already passed. Thankfully, I had signed up as soon as I could, but that also meant that I would have to work on everything myself. There was a lot of cut content which I would have loved to add, like adding in randomly generated visitors who you could enlist to help clean up trash automatically - kind of like how in other tycoon games you would buy a structure to generate more money or cookies. However, even with all of the cut content, there was still a substantial amount of work to be done so I did the most reasonable thing any programmer would do and not sleep. Creating all of the sprite work for the game was also a bit challenging to get right - that’s when I discovered something in Aseprite called the Jumble Tool. See, the Jumble Tool allows you to blend together different colors in a sprite to help make better looking gradients; however, I discovered that if you temporarily colored in areas around an object blue and then used the Jumble Tool, you could make object that look like they are reflecting off of the sky and ocean. If you look closely at some of the metallic objects you might notice some blue around the edges - all thanks to the Jumble Tool!

Future Work and Such

Using the Jumble Tool in a new way isn’t the only thing that I’m truly proud of for my 20-ish hours of game development. I needed to create a swimming mechanic for my game that felt fluid, but controllable with a top speed, so I implemented a movement system I’ve used for a couple of years I like to call “Natural Arcade.” All you do is provide some force to the player, then multiply their velocity by some value <1. Values like .8 or .85 are great for land, while values like .95 are great for water and swimming since the higher values lead to more “slippery” movement. If I had more time to work on LifeGuard, it would definitely be to add an ending where you explore the deepest depths of the ocean, and maybe also include something like “New Game+” where you continue your voyage at the bottom of the ocean in a submarine with decreased vision and more emphasis on avoiding trash to prevent damaging the sub.

Built With

Share this project:

Updates