Inspiration
We were inspired to create this game when we came across a startling statistic. As per the EPA, 11 million metric tons of plastic waste enter oceans annually, wreaking havoc on the aquatic ecosystems present. Beyond the destruction of animal habitats and biodiversity, the populations of already endangered animals like sea turtles are becoming even more jeopardized. Talking amongst ourselves, we all agreed on how people generally wanted to help save the environment but felt disconnected from it due to the scale of the problem. This is when we decided to create Sub Sea Debris, an engaging game designed to spread environmental awareness and let people know the smaller steps they can take. We believe that the real reason for a lack of environmental action is a lack of engagement and that is what we hope Sub Sea Debris will help change.
What it does
When our team thought of the intersection of user interface and the deep sea our minds collectively jumped to the iconic open-world game Subnautica. Subnautica is such a famous game because it has a great story, a mix of exploration and horror aspects, and fantastic graphics. These elements of Subnautica inspired us to create a sub sea game that is just as fun and exciting but can run on lower end set-ups and is centered on Earth (Subnautica is on an alien world). We also wanted our game to teach people about the variety of organisms in the sea, the threats to their safety, and the dangers to the ocean’s wellbeing.
The game starts with the menu from which the player chooses to go into the Atlantic or Pacific Ocean. Once they choose an ocean the game goes through the story and then the player spawns at the top of their boat. They dive into the ocean and now have several venues to pursue.
First of all the ocean is split into four zones:
Sunlit (Epipelagic) 0–200m 20°C, full sunlight, 1–21 atm
Twilight (Mesopelagic) 200–1000m 12→4°C, near-zero light, 21–101 atm
Midnight (Bathypelagic) 1000–4000m 4→2°C, total darkness, 101–401 atm
Abyss (Abyssopelagic) 4000–6000m 2→1°C, pitch black, 401–601 atm
Each zone has different NPC fish and predators that actually live there in the real world. When you interact with the fish for the first time a blurb pops up informing you about the species. You can rescue some of the NPCs like the turtles from trash such as six-pack plastic containers. Predators follow you and can harm you.
List of Species:
Sunlit Zone NPCs: Atlantic Herring, Atlantic Mackerel, Bluefin Tuna, Clownfish, Mahi-Mahi, Yellowfin Tuna
Sunlit Zone Predators: Blue Shark, Great White Shark, Barracuda, Blue-Ringed Octopus, Scalloped Hammerhead
Sunlit Zone Rescuable: Loggerhead Sea Turtle
Twilight Zone NPCs: Lanternfish, Hatchetfish, Bristlemouth, Firefly Squid
Twilight Zone Predators: Swordfish, Humboldt Squid, Viperfish, Pacific Sleeper Shark
Midnight Zone NPC: Anglerfish
Midnight Zone Predator: Gulper Eel
Abyss NPC: Sea Pig
Abyss Predator: Colossal Squid
Final Boss: Kraken
To get to the different layers and handle the different predators the player has to collect trash which gives them points so they can buy upgrades. For example, players going very deep, early in the game will die quickly due to being crushed by the pressure which is why they need to purchase the pressure resistant gear. The upgrade gear can be purchased on a boat next to the spawn boat.
Upgrade Gear:
Upgrade Cost Effect Larger Oxygen Tank 40 pts (x3 levels) +50 max O2 per level Improved Fins 60 pts (x2 levels) +30 speed, -3 stamina drain per level Pressure Resistant Gear 100 pts Survive Twilight Zone Collection Nets 80 pts Doubles debris collection radius Oil Dispersant Kit 120 pts Clean oil spills Chemical Neutralizer 120 pts Clean chemical spills Research Submarine 300 pts Deep-sea vehicle (500 O2, pressure-proof, invulnerable) Diving Spear 150 pts Click to throw at enemies, 1s cooldown Sonar Ray Gun 250 pts Right-click to charge, release to fire stunning beam
The game has several systems: Oxygen - Depletes underwater at 3/sec, refills at surface/boat at 28/sec. The submarine has 500 O2 at 0.5/sec drain. Pressure - Damage increases by zone without proper gear. Pressure Gear unlocks Twilight Zone. The submarine handles all zones. Darkness - Screen dims in Midnight Zone, near-black in Abyss. Vision circle around diver. Sonar - Q key sends an expanding ring that highlights nearby creatures for 2 seconds. 5-second cooldown between pulses. Stamina - Drains at 16/sec while sprinting, recharges at 8/sec when idle. Debris - 40 trash items respawn when all collected. Earn points for upgrades. Oil/Chem Spills - Contaminate nearby fish (freeze + tint). Clean with proper gear for 25 pts + educational fact. Terrain - Procedural rock formations generated chunk-by-chunk as you explore. Creature Interaction - Predators patrol and chase on detection. Contact deals damage + knockback. The first encounter shows species info. Spear and Sonar Gun available as weapons.
The objectives of the games are as follows:
- Explore all 4 ocean zones from surface to abyss
- Discover all 26 species by clicking or encountering them
- Collect debris to earn points for upgrades
- Rescue trapped turtles and contaminated fish
- Clean oil and chemical spills with specialized gear
- Defeat the Kraken in the Ancient Cave (deep abyss)
- Learn real ocean science facts about each species and zone
The final way to defeat the game is to defeat the Kraken at the very bottom layers of the ocean. Our goal with the game was to create an informative game that also has certain creative liberties like the Kraken that helps make the user experience more enjoyable.
How we built it
Before we started building anything, we strategically decided to split up the tasks based on everybody’s strengths.
None of us were artists, so we delegated the task of generating art and sprites for our game to online generative tools.
To start, we decided to use the Phaser, the JavaScript Game Framework, to create our game. We came up with features that would constitute an MVP, or Minimum Viable Product, and got to work implementing these features. We knew we wanted an incremental-like game, and we figured the best strategy was to start with the bare minimum and modularly add features. We started with the background, ship, player character, fish, and turtles, eventually adding trash and turtles trapped in trash. By making everything modular, we were easily able to expand by adding new types of fish, trash, and ocean zones. All of our creature, zones, and trash data is stored in JSONs, as opposed to having a backend. The upgrade ship was a major checkpoint, since we decided to create an entirely new ship, and each upgrade had varying effects on the player character.
Challenges we ran into
We faced various challenges throughout the course of our project. Deciding what direction to take the app in was a difficult decision. We were thinking about creating a global coral reef health tracking app or an idle clicker game, but decided to pivot to the current form of the app after getting the opinions of an advisor during breakfast on the first day. The weapons and the NPC AI were some of the most frustrating features to implement, but we found solutions with the help of some YouTube tutorials.
Accomplishments that we're proud of
We are proud that we were able to create the four levels of the ocean with several species accompanied by accurate facts, since it took a long time to research all of those facts. We managed to create a backdrop that was relatively accurate based on the research on the zones in the ocean. We especially liked how the four layers are distinct with different levels of sunlight, pressure, etc and how the species are limited to specific layers.
What we learned
In the beginning of the Hackathon we were aimlessly doing tasks with no clear vision for our final product. We had an idea but no clue how to get there. However, after looking at how other people were setting up their projects we decided to start by planning out a minimum viable product and then planning out the following versions in phases. This taught us that it is important to prioritize features and tasks based on priority and create a well thought out vision for our project first.
We learned how to delegate tasks better. Initially we were delegating tasks randomly but after improving our communication skills and better understanding each other’s skillsets we delegated tasks based on what we were good at, helping us move through the project faster and more efficiently.
What's next for Sub Sea Debris
If we had more time, we would have expanded the maps to include more oceans like the Arctic and Indian Oceans as well as having more species in the world. Furthermore, we would have drastically improved our art. Our original vision was to have pixelated art but we realized that it would take too long to create that art in 36 hours. We were trying to implement co-op mode at first but it was too challenging to code in our limited time period so we scrapped it entirely. Given enough time, all of these features will make for great additions to our project. We also are planning on adding sound effects for all of the different creatures in the future but to research how they sound currently was too monumental of a task for the time and resources we were provided.
Log in or sign up for Devpost to join the conversation.