
Game Programmer and Tech Artist
Physicsfocused
Space Puzzle - Simulation

Emotional Point - and - Click journey through war

Hello there, I'm Max!
I'm a game programmer from Germany. Growing up in a household, where gaming was nowhere to be found, my first contacts with video games started in first grade and were rather scares. But once I had my first encounters with the medium, I was hooked, consuming everything game-related I could find.I quickly had the desire to do something in the field of video games in the future, exploring various disciplines. From programming, over illustrating and concept art, to 3D-modelling and animation.With finishing my high-school-diploma, I enrolled in Game Production & Management in Neu-Ulm. There I rediscovered my passion for programming, which I have ever since been following. Striving to make my dream a reality.
© 2026 by Max Cunha Münzer. All rights reserved.
Return To Earth is a puzzle-simulation, where players strand in the space far away from earth. With the help of your assisting board-AI IVI you collect old scraps to repair your ship.Return To Earth focuses on fun physics interactions in a zero gravity environment.
Role: Game Programming, Tech Art
Team Size: 5 Team Members (TEAM T.O.N.)
Development Time: 3 Months
Platform: Meta Quest 3/3s
Development Environment: Unreal Engine 5
© 2026 by Max Cunha Münzer. All rights reserved.
© 2026 by Max Cunha Münzer. All rights reserved.
Repair Blueprints:
In Return to Earth, blueprints serve as the primary quest mechanic. Players collect and insert artifacts into these blueprints to unlock new tools and repair their ship. Since blueprints are so essantial to the gameloop, they had to be very flexible, performant and easy to navigate for game designers.
The system consists of two core components:
Blueprint Manager: Creates repair blueprints based on premade data assets.
Artifact Slots: Checks if the player is filling the slot with a proper item
For the blueprints to be flexible and easy to navigate, every unique blueprint is created with the help of data assets.
The data assets determine where, what kind of slot is. To create new blueprints designers can simply build the finished blueprint in any world and copy the stats of the slots into the data asset.

To keep the system performant, I implemented object pooling for the ArtifactSlots, reusing spawned slots rather than constantly creating and destroying them
To insert the artifacts players have to aligne the artifact with its corresponding slot. If the artifact will be inserted is determined by the artifacts rotation, distance to the slot, it's scale and the artifact type.
Since bodies with any kind of symmetry have multiple rotations that look the same, comparing rotations isn't quiet as straight forward as it sounds.
Z-Rotation: 0° vs -137°

To compare them the up, right and front vectors of the artifacts and slots were used. Every type of artifact got an Direction Dictionary (Data Asset) dictating what vectors with which angles can correspond to the slots‘ vectors.

Static Machinery:
In Return to Earth the player uses different machines to controll the ship. Since these machines are static we can’t simply attach them to the players hand, instead we have to calculate the machines handle to follow the players hand, within it’s constraints.Most handles only require comparing two locations, but the crank was more complex: it needed to track the hand’s circular motion and determine the correct direction of rotation (Clockwise vs. Counter-Clockwise).
The Problem: Using a standard Dot Product between the hand-to-center vector and the handle-to-center vector only provides the size of the angle. It couldn‘t distinguish which way the crank was rotated, causing the crank to only spin in one direction.The Solution: To solve this, I introduced a Reference Scene Component offset by 90° to the handle. By calculating the Dot Product between the hand's position and this reference vector, the direction the crank should rotate could be distinguished. A perfect alignement of the hand and handle meant a value of 0. Now as the player moves their hand, the angle to the reference vector either narrows (resulting in a positive Dot Product) or widens (resulting in a negative Dot Product).
This approach allowed the system to distinguish between clockwise and counter-clockwise movement, ensuring the crank follows the player’s hand.


Nominee/Top 3: HNU Werkschau Feburary 2026 | Best Mechanics-Award
© 2026 by Max Cunha Münzer. All rights reserved.
The Curse of War is a point-and-click adventure that follows the sisters Emma and Kim in their refuge. Trying to survive the war happening around them after losing their mother to a bombardment.The game had a strong emphasize on narrative and atmosphere, trying to show the brutality of war.
Team Size: Solo Project
Development Time: 3 Months
Platform: PC - Windows
Development Environment: Unreal Engine 5
Dialogsystem:
To follow The Curse of War's requirements I used a flexible dialogsystem, based on data tables.It uses 2 types of data tables:
Dialogcontainer: Contains the dialog with it's audiotrack and changes the environment (NPC-states, items, money amount, etc.)
Promptmanager: Contains information about dialogoptions, which options are currently available and what dialog will be triggered
Both are data-table-based to ensure easy navigation for game designers and storytellers who may be unfamiliar with the engine.
Dialogcontainer

Promptmanager

Connection Puzzles:
In the game there are puzzles, where slots are supposed to get connected by dragging lines.

Slots get connected via the draw line blueprint node in the OnPaint function.
When the cursor clicks on a slot a line gets drawn from the slot-center to the cursor, when clicking on another slot, the line will connect the two slots.To avoid lines sometimes being below the slot image the line is drawn in by both slots.
One direction

Both directions

There is also the possibility of creating noise slots, these slots are the only once with their color. These are not to be connected and make the puzzle harder.This is simply made by setting the noise stich variable to true in the widget instance.

© 2026 by Max Cunha Münzer. All rights reserved.
Fast paced game of tag -
Can you escape the lab?

Text
First item
Second item
Third item
Text
Text
Text
Text
Text
Text
© 2026 by Max Cunha Münzer. All rights reserved.