Overview
Surfobia is an ongoing project that I am working on as a level designer, narrative designer, and systems programmer. Currently we are still in a development stage, and the game is being routinely worked on and playtested.
Surfobia: Into the Deep is a fast-paced, trick-focused underwater adventure where you shred the ocean floor on a manta ray skateboard. Inspired by PSX-era aesthetics, this single-player experience blends fluid movement, stylish tricks, and a hypnotic ambient DnB soundtrack to create an otherworldly ride through the deep.
Ride through coral reefs, chain high-speed grinds, and carve through bioluminescent caverns as you chase high scores and uncover the mysteries of the abyss. With a retro-stylized UI and responsive controls, Surfobia: Into the Deep is all about flow, style, and the thrill of defying the deep.
Level Design






The levels in "Surfobia" were largely inspired by existing snowboarding games, being adapted into an underwater environment. Working with the rest of the level design team, I first studied and made paper sketches of levels I liked from the snowboarding classic "SSX" (2012).
First, I used those paper sketches in order to terrain sculpt the area. In these preliminary sections we decided to prioritize twists and caves, both of which we thought might be engaging to the player. In my terrain sculpts I included twists along with big open sections, to force the player into tight turns, and then give them space to fool around a bit and do tricks. This way, I could prevent gameplay from being too stale or "one-note." The caves were a part of our adaptation of genre to an underwater world. Part of making a surfboarding game underwater led us to the idea that the player would not only have less gravity, but would have the option to ride along walls and even upside down. The caves and curved ground would let us take full advantage of that.
After my terrain sculpting, other members of the team greyboxed the levels. We wanted to use a "passing the baton" model to design to ensure that we were getting a diverse array of viewpoints, and also prevent each level from having a different feeling than the next. We constantly refined these designs by sending them back and forth and iterating on each other's work.
Programming



On "Surfobia" I am also working as a systems designer, helping design the in-game trick system, along with another systems designer. We really liked the trick input system of similar games, primarily "Skate3" and "SSX" (2012), and wanted to find a way to implement joystick input into the game.
We first mapped out controls to controller buttons. I decided to opt for a sort of "control-language" here, using the triggers whenever a player had to grab onto the board, and then chaining right joystick moves accordingly, in order to make tricks feel as natural as possible.
Once input was set up, we decided to track inputs by putting them in a list, not including repeated inputs in order to prevent joystick inputs being counted every frame they are pushed instead of just once. From here, I designed a system in which these inputs were put into an array and started a timer. If another input was selected, the timer restarted, if the timer ran out, it would clear the list. This in turn, would prevent players from waiting too long between each input.
Every frame, this list is then checked against an existing list of trick inputs. If there is a match, the list will clear, the trick will execute, and a timer will start that will not end until the trick is over. At this point, the script will begin to listen for tricks again.
In order to avoid list-related frame-rate drops, I decided to make the list shorten itself once it reaches a count of 20. This prevents the list from getting infinitely long, while not interfering with list input.