top of page

Duckside of the Moon

Project Type: Team/University Project

Software: Unreal Engine 4, Blueprints
Platform: PC

Role: Gameplay/Tools programmer​

Team Size: 10

Duration: 32 weeks

Project Overview

Created in Year 2 with a team of student at Breda University of Applied Sciences.

Duckside of the Moon is a survival game about Doug, a talented duck astronaut, who gets sent up into space for a research expedition. On his journey, he gets sucked into a wormhole, and he is transported to a mysterious galaxy. His ship has reset, and he's stuck. This brave duck must find resources to improve his gear and fix his spaceship, so that he can return home to his friends and family. While doing this, he must overcome dangerous environments as he realizes that he might not be the only one up here...

tools.png

Skills Developed

  • Unreal Interaction system: Learned to work with the interaction system to trigger dialogue.

  • Blueprint Scripting: Developed a tool to spawn, update and manage effect-driven zones.

  • Collaborative Development: Worked together with designer to align tools with creative goals.

cog.png

Features

Zone Effect Tool

The zone effect tool was created using blueprints, and was used to give designers control over gameplay zones with effects (e.g. frost, radiation, oxygen). This enables fast iteration of the level design. The system consists of Pocket Managers that manage Pockets (zones) with customizable behaviour.

Pocket Manager (for managing pockets)

The pocket manager acts as a parent object that spawns and manages Pockets with specific effects.

Down below are the features of the Pocket Manager.

Screenshot 2025-08-24 at 00-23-19 Portfolio van Milo van Pelt - Game Developer Student Mil

Pocket Manager: The pocket manager keep track of all the pockets in an array. Designers can spawn pockets, toggle pockets visibility, and update the tag for the pockets (which determines the effect for all pockets). Multiple managers were used troughout the level for different effects.

image12.gif

Spawn Pocket: Example of spawning pocket. A pocket will also change color when you spawn one, depending on the tag set. In this case "Radiation" turns the Pocket Manager and the pocket just spawned green. This color can be set in the blueprint. Allowing different colors for the effects was for designers to better differentiate between effects in the level.

image13.gif

Updating Effects: The effect set when spawning pockets, can also be changed. Here I change the effect from "Radiation" to "Frost", update the tag and the color changes to blue, which is tied to the Frost effect. This is to give designers flexibility if they would want to change the effect later in an area they had already set up.

image14.gif

Visibility Control: Visibility can be toggled on or off for pockets, when clicking the "Toggle Pocket Visibility" button. If designers left this on they could see the areas in-game, but since the player shouldn't see them they could turn it off once they were happy with how they set up an area for an effect.

Pocket

Pockets are gameplay zones that were customized to fit the level design needs at the time.
Down below are the features of the Pocket.

Screenshot 2025-08-24 at 00-46-15 Portfolio van Milo van Pelt - Game Developer Student Mil

Shape Toggle: On each pocket an option exist to make the pocket a sphere. Unchecking would return the shape back to a cube (default shape). Designers wanted both shapes to work with, so I made both an option on the pocket.

pocket_shape3.gif

Shape Toggle example: Here the pocket is being toggled between sphere and cube form on its pocket manager.

pocket_shaped.png

Scalable: Each pocket is scalable to their desired size. 

vfxzone.gif

Visual Feedback: Designers can toggle on/off VFX for all pockets on each manager. This effect is then visible when the player gets in a zone.

image9.gif

Visual Feedback: Players goes into a zone as indicated by VFX. Player also loses health because of "Radiation" effect.

Dialogue Management Tool

I developed a tool tailored to give the narrative designer a way to create dialogue and choose in which zones these take place, as we had different environments for our NPC's.

Zone-based Dialogue Creation

For the designers it was important to create dialogue and for each dialogue to set where it would take place.

Dialogue Data Table: I created a data table for the narrative designer, where the dialogue could be created. The game did not feature branching dialogue, just linear dialogue, so this was good enough at the time for what the narrative designer wanted to achieve.

NPC: this is the ID for each NPC.

Conversation: This is the ID for the conversation for the NPC.
Line: This is the line ID. A Conversation can have multiple lines.

Dialogue: This is the dialogue.

Location: This is the location each line is spoken in.

Each
Conversation would go trough each Line, until it had none left and increase the conversation ID.
Until there was none left for the specific location.

Screenshot 2025-08-24 at 17-21-57 Portfolio van Milo van Pelt - Game Developer Student Mil

NPC Location: On the NPC you could choose the location of where it was at this moment. It would then play the conversations created for that location when you would walk up to it.

Different dialogue at different locations

Dialogue Camera Transition

Implemented camera transition for NPC Dialogue, ensuring smooth visual focus and enhancing player immersion. I used Unreal's interaction system to trigger dialogue, when interacting with NPC's. This will also trigger the camera transition.

Dialogue Transitions in-game

bottom of page