Max Cunha Münzer

Game Programmer and Tech Artist


Recent Projects:

Return To Earth

Physicsfocused
Space Puzzle - Simulation



The Curse of War

Emotional Point - and - Click journey through war




About Me:

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.


Contact Me:


© 2026 by Max Cunha Münzer. All rights reserved.

Return To Earth:

Video

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.


Development Info:

  • 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.


Technical Deep Dive:

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).

Video

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.


Achievements:

  • Nominee/Top 3: HNU Werkschau Feburary 2026 | Best Mechanics-Award



© 2026 by Max Cunha Münzer. All rights reserved.

The Curse of War:

Video

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.


Development Info:

  • Team Size: Solo Project

  • Development Time: 3 Months

  • Platform: PC - Windows

  • Development Environment: Unreal Engine 5


Technical Deep Dive:

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.

Katharsis:

Temporär hier abgelegt bis fertg

Katharsis

Fast paced game of tag -
Can you escape the lab?



Video

Text


Text

  • First item

  • Second item

  • Third item


Text

Text

Text


Text


Text

Text


Text



© 2026 by Max Cunha Münzer. All rights reserved.