Oceanfall was originally a home assignment in my Unity course- except the twist was: we weren’t allowed to use Unity. Instead, I developed this game in a new, less familiar engine.
In Oceanfall, you play as a cute axolotl blowing bubbles at pieces of trash to fight pollution and keep the ocean clean.
Although the assignment was meant to take a week, I completed the game in just two days of work.
While Pico-8 was encouraged for the assignment, I chose it intentionally. Its simplicity and constraints (for example, having to build sprites, timers, collision logic, etc., from scratch) were a big shift from Unity, but in a good way. It made me feel more in control of what’s happening under the hood, which is something often less visible in Unity.
Engine simplicity: Pico-8 lacks many built-in systems (sprite management, timers, etc.), so I had to roll my own solutions. This was frustrating at first, but ultimately very rewarding.
Limited documentation: Because Pico-8 is less mainstream, finding examples or references to help with specific problems was harder. I often had to experiment and think through my own solutions.
Collision detection: Unity gave me built-in collision systems; Pico-8 doesn’t. For example, detecting collisions between sprites required me to think in terms of corners and bounding boxes, even writing math formulas to make sure collisions felt right.
Performance & coherence: Particularly for things like the bubble mechanics (they move in a wavy, somewhat random pattern), I needed to ensure each element acted independently but in harmony. Getting the pattern, randomness, and timing correct was a surprising puzzle.
These challenges helped me deepen my understanding of what happens “behind the scenes” in game engines—knowledge that made me better at using collision systems, event triggers, and optimization in all engines, including Unity.