Duckside of the Moon
6 months
22 people
unreal 4
technical & level designer
Duckside of the Moon is a survival game about a duck finding his way back home to Earth.
It was designed and created in 6 months in Unreal Engine 4 as a 2nd-year school project.
The game won awards for best design and best production across all year 2 BUAS game projects.
Responsibilities
Icons by (in order of appearance) Juicy Fish, Kamin Ginkae, J073, Humberto Cesar, Adrien Coquet, Ulan Taufiq from the Noun Project.
For this project, I was part of a large multidisciplinary team, where I was responsible for a wide variety of tasks.
Most of my time was spent on system & level design, but I also worked on a high proportion of the audio, did marketing for the game, and had a lead role within the team.
Feel free to skip to any part that interests you by clicking the cards above
Movement & Camera
I designed movement and camera metrics for...
- grounded movement
- flying movement
- boosting movement
For the flying movement I aimed for a floaty and agile feel with slow deceleration.
Subtle camera changes when boosting make the player feel faster and help with immersion.
Gameplay showing grounded-, flying- and boosting movement.
System Design
Geysers
Geysers propel the player forward. I designed them as a solution to make traversing less repetitive and more interesting.
- They help both casual and skilled players achieve a state of flow, since they're an optional way to travel faster.
- They support verticality on the islands where gravity is present.
- Because oxygen limits the player's time in space, moving faster also means being able to travel further: rewarding the player with valuable resources and discoveries.
Ultimately, geysers proved successful in making the game more interesting and making the world feel more alive.
Player interacting with a geyser on land, allowing for verticality.
Player interacting with geysers in space.
Boosting
Boosting is an unlockable feature that increases the player's movement speed.
- It controls progression and proved to be an engaging goal for players to unlock.
- Making the booster deplete oxygen creates an elegant dynamic where oxygen plays a central role in all of exploration, since it;
- rewards taking efficient mining routes.
- rewards utilizing geysers for speed.
- reinforces the player to find oxygen plants.
- Implementing a subtle acceleration curve helped prevent unwanted player behavior where the player can just tap/spam their boost.
Ultimately, the boost feature made for an appealing ability that ties the exploration and crafting systems together.
Player using the boost ability.
Matrix in research document, analyzing the possible combinations for the boost feature.
Balancing metrics
It was my responsibility to ensure that the traversal metrics of each upgrade were balanced in a way that supported our intended player behavior.
- We want the player to traverse long distances by boosting.
- We want the player to stop boosting when mining outcrops.
- We want the choice between upgrading the oxygen capacity vs. faster boost first to be an interesting one, meaning both options should seem equally viable to the player.
- Each increment of the tank & booster upgrades should allow and encourage the player to safely explore the next world range.
To achieve this, I made a spreadsheet to help me better understand how the metrics interact with each other while simultaneously establishing a paper trail.
After many iterations I stroke a balance that satisfied our intended player behaviour criteria and playtests. I had to abandon the idea of locking specific areas behind a distance. Instead, areas became soft-locked through the mining tool and suit upgrade levels.
The final metrics feel forgiving while challenging the player to make smart choices. They encourage the player to take risks and allow for multiple playstyles, resulting in fun and diverse playthroughs.
2 design options for traversing metrics. Click on image to zoom.
Traversing metrics spreadsheet. A tool for balancing the metrics of each upgrade combination. Click on video to pause at any time.
Level Design
To design the world layout, I created a high-level map with numerous iterations. This map was updated 11 times throughout the block and helped both system designers and level designers make informed decisions.
It also narrowed the distance between disciplines and helped align strike teams. For example, the Level Design strike team and Progression strike team never faced any communication issues, because this map was at the center of every conversation.
Various iterations of the world map.
I made sure the world map always mirrored the build, so whenever I made a change in the document, I would match these changes in-engine right away. This way the team had a clear overview of what was in engine, as well as a working level to playtest.
The level was iterated consistently throughout the block, based on matching our intended player behaviour to LD principles (for the first few iterations) and playtesting feedback (for the later iterations).
Final iteration of the world map.
Final lay-out in engine, matching the world map.
Geyser layout
I distributed the geysers in such a way that creates a "web", where each geyser propels the player in the proximity of another geyser.
The player can chain these together and maneuver the world more quickly.
This way the geysers challenge the player's spatial awareness—rewarding them with faster travel.
The geysers are never forced on the player and a player could easily beat the game without using them.
Learn more about geysers here.
Geyser locations and their "web" layout in space.
Resource generation
I worked closely with programming (Jessey Novani) to design a flexible resource distribution system, where resources get procedurally generated.
This facilitated the balancing process because the parameters in the data tables could easily be tweaked.
Procedural generation of resources on asteroid based on "further asteroids" data table.
Audio
I was responsible for all gameplay related audio (about half of the game's audio, with Jesse Stolk making the other half). We set-up an asset list for all the audio files and worked on implementing audio in order of assigned priority.
Below you can find a small selection of audio I made:
Airlock open
Atmosphere ship
Oxygen warning first
Airlock close
Atmosphere space
Oxygen warning final
Lead
I had a lead role within the "world" team, throughout the entirety of the final block. I made sure everyone completed their work on time and made key decisions regarding scope.
Marketing
I was responsible for TikTok marketing (@ducksidegame) together with Danielle Maat.
During development we made videos showcasing the development and where the game was going.
The videos have racked over 2.000 likes and 50.000 views at the time of writing this. We never anticipated such a positive response, and it’s been really motivating for the team.
We made sure to keep the videos casual and to hop on ongoing trends. We also had a posting schedule for the most high-traffic times on TikTok and interacted with the people in the comments.
Twitter and Instagram accounts were managed by other team members.
The @ducksidegame TikTok page.
@ducksidegame
@ducksidegame
@ducksidegame
Achievements
Throughout development I was really invested in the project, wanting to see it succeed and working hard to get it there. I overcame various challenges while keeping my team and mental health priority number one.
I am proud of my achievements in level design, and I’m convinced I became a more well-rounded designer by tackling both level- and system design challenges.
Collaboration with the team also went smoothly. I think there was in general a very positive and friendly atmosphere, and I had a lot of fun working with this team.