Project & current scope
From a fantasy brief to a dual-perspective puzzle
The Whispering Relic began as my response to one of four portfolio themes. I developed it towards a single-player, third-person 3D narrative puzzle game in which the player switches between a White Knight and a Black Knight. They share a journey, but perceive different aspects of the world and have different reasons for trying to save it.
The wider concept includes a World Tree, ten connected realms, giant guardians and branching endings. I began the Unreal Engine prototype with one root-bridge puzzle, then developed its rock routes, perspective-specific access and companion controls, and added a cooperative stone-gate mechanism. These encounters explore how seeing different information can lead the two knights to take different actions in the same place.
The two playable perspectives
Structure and corruption in the same space
The White Knight sees the ideal structure of the world, including hidden root connections and load-bearing anchors. The Black Knight sees corruption flows and can direct their energy. In the bridge encounter, the first perspective identifies a stable path, while the second provides the force to create it.
Their contrasting beliefs also shape the wider narrative. The White Knight is sworn to remove corruption, while the Black Knight’s identity and fallen home are bound to it. The character designs, story revisions and proposed endings are developed in the companion concept-design page.
From two views to two playable characters
A shared starting point, independent positions
For the first Unreal prototype, I designed both characters to begin in the same area, with Tab transferring control and the following camera between them. The character left behind stops moving, and both retain their own positions. This lets one player coordinate two separate paths through a shared space.
This establishes the practical basis for the single-player structure in my concept. The player can move each knight through the same place, then switch to the other perspective while retaining the progress already made.
Colour and information in each perspective
I distinguished the Black Knight’s view with a red tint and the White Knight’s with a gentle blue tint. In the later root-bridge encounter, perspective-specific structural markers and corruption flows give each view information needed for a different part of the same puzzle. Colour and visible clues work together to make the change of perspective readable.
When shadowed areas became difficult to read, I made visibility a priority in the lighting revision. The adjusted lighting keeps terrain and character details visible within both colour treatments, so atmosphere does not obscure the information needed to move and solve the puzzle.
Environment assembly & scene details
From test geometry to an assembled landscape
These early assembly views show the landscape taking shape around the route: rocks, broken stone paving, water and enormous roots sit alongside white test geometry. They preserve the construction stage before the later atmospheric treatment, rather than presenting the daylight setup as the finished scene.
Ruins, roots and the forest atmosphere
The wider scene and close-up views show the environment at different stages and scales: the large roots frame the ruined structures, while smaller vines, vegetation and broken stone bring detail to the spaces around the path. The later forest views place these forms within mist and warmer light.
Root bridge — the playable encounter
Restricting the prototype to one complete puzzle
I narrowed the first playable task to a broken bridge in the existing forest. A separate prototype level, with a defined entrance, exit and complete interaction sequence, kept the scope focused on one encounter. Reusing existing models and materials, with simple blockout geometry where needed, made it possible to test the puzzle before expanding the wider world.
The encounter centres on a stone bridge torn apart by enormous roots. A ravine blocks direct passage. Ancient roots cross the gap, and two anchors provide the points through which the player can form a new connection.
The White Knight identifies the hidden structure and the stable anchor order. The Black Knight activates the corruption source and directs its energy through those anchors. Recognising a possible path and supplying the force to create it belong to different characters.
Make discovery a handoff between perspectives
I revised the source interaction so the White Knight must actively discover it. At first, only a steady white glimmer is visible. Pressing E reveals the mechanism within a blue aura for about 1.8 seconds; the mechanism, glimmer and prompt then disappear from that perspective. This replaced the earlier automatic recognition on approach.
Before this action, the Black Knight cannot see the source or its energy lines either. Once the White Knight has revealed it, those elements become visible to the Black Knight and can be activated. The player carries information from one perspective into an action in the other, instead of finding the whole answer simply by changing the colour of the view.
Player sequence
The revised sequence makes discovery an action before activation. The White Knight first reveals the source; switching then gives the Black Knight access to the source and its energy route. The ordered anchors still lead to a bridge both knights can cross.
- 01
Reach the broken bridge and identify the ravine as an obstacle.
- 02
As the White Knight, approach the white glimmer and press E. The hidden source briefly appears within a blue aura.
- 03
Switch to the Black Knight. The source and its energy route are now visible; press E to awaken it.
- 04
Use the Black Knight’s rock route to connect single-ring anchor I, then double-ring anchor II.
- 05
Watch the roots grow and harden into a walkable bridge, while new roots entangle nearby vegetation.
- 06
Cross the shared bridge, call the companion if needed, and take the rock descent back toward the forest route.
Connection pushed into invasion
For this encounter, I set the theme as connection pushed to an extreme until it becomes invasion. The roots originally sustain forest life, but forced activation makes them overgrow. The same action that opens the player’s route also entangles nearby vegetation.
I made the cost visible within the encounter itself: the player reaches the exit, but the newly grown roots also entangle nearby vegetation. Solving the obstruction creates another problem in the same scene. This gives the wider tension between removing corruption and living with its consequences a concrete, immediate form.
Spatial routes & exclusive access
Full level route
Route sketch — the detour and the return
The red line runs from the entrance area onto the side rocks, towards the far platform and back down towards the forest. Read alongside the early layout, it records how the encounter expanded beyond the straight bridge connection.
Replace a flat test floor with a rock journey
After the basic puzzle worked, I extended the route onto the rocks on the right and added a descent at the exit to reconnect with the forest path. I replaced the flat test floors with existing, full-depth rock meshes, adjusting their joins and collision so the painted-looking surface and the ground underfoot describe the same route.
This changes the encounter from a row of nearby interactions into a spatial journey: observe from the entrance platform, move along the side route to reach the anchors, cross the newly formed bridge and return down the rocks. The stone arch remains as an environmental exit marker after the conspicuous coloured exit frame and floating text were removed.
Give switching a reason beyond colour
I noticed that showing the right-hand route’s energy lines to the White Knight weakened the reason to change perspective. I therefore reserved both those lines and the traversable side route for the Black Knight. The White Knight keeps the structural clues on the entrance platform, but cannot see or enter the Black Knight’s road.
The restriction applies to movement as well as visibility. Shared platforms and the completed root bridge remain usable by both knights, while the exclusive route keeps its role-specific boundary. Switching back to the White Knight does not drop the inactive Black Knight through the hidden road. The two characters retain separate positions and contribute from different parts of the space.
Stone gate — two kinds of activation
Mechanism sketch — divide the actions between the knights
In my annotated sketch, blue marks identify the gate and pillar interactions visible to the White Knight; red marks assign the fire interaction to the Black Knight. The drawing sets out the two contributions before the gate’s activation and opening sequence shown below.
Three blue nodes and one fire
I added a stone-gate encounter in the same prototype level to develop cooperation through two different kinds of interaction. The White Knight sees blue resonance on the gate and three stone pillars and activates their nodes. The Black Knight identifies the unlit fire interaction and ignites it. The flame effect belongs to that perspective.
The gate opens only when all three pillar nodes are active and the fire is lit. Completing either side alone leaves the passage closed. Unlike the ordered root anchors, this mechanism combines contributions from both perspectives into a shared condition, so the player must account for what the other knight can do.
Make the interaction visible before it is complete
The pillar nodes needed to read as mechanisms at a glance. I changed their less distinct glow to a bright blue core with a soft halo and blue particles, keeping them visible even before activation. Activating a node strengthens its glow; completing the set intensifies the blue resonance further.
I also developed the root bridge’s energy filaments, sparks and growth dust, and used a smooth gate lift with dust at the opening. The moving light and particles carry the change of state across the existing stone and roots, instead of relying on a flat colour patch.
Make closed and open states physical
A later check showed that the gate was not actually closing the doorway: the panel was offset to one side. I corrected its alignment so the default state physically blocks passage and the completed mechanism lifts it clear of the route. This keeps the visible opening tied to what the player can really walk through.
The current gate uses an existing stone material on a thick prototype panel. A purpose-built gate silhouette, more detailed stone debris and dedicated sounds for resonance, friction and root growth are directions for the next presentation pass.
Contextual guidance & companion control
Show the instruction where the action becomes relevant
To give players basic guidance without a permanent block of explanation, I replaced the large left-hand panel with short English cues. Approaching a mechanism brings white text above it, on a low-saturation, translucent panel with fading edges; leaving lets the prompt fade away. I also removed floating placeholder geometry and the observation disc, keeping the underlying interaction logic out of sight.
The opening briefly introduces Left Shift to run and Space to jump on the left of the screen, fading over about 2.2 seconds. Each new approach to the other knight brings back the Tab perspective-switch cue above that character. When either knight first reaches the bridge, a central F prompt introduces calling the companion. The reminders arrive with the situation in which the player can use them.
Follow the companion, not a route they can no longer use
I added F to call the other knight to follow or hold position, then revised how following worked. The first version replayed the leader’s travelled route. After the Black Knight used the exclusive road, that history sent the White Knight towards a boundary they could not cross and left them stuck.
I changed the target to the currently controlled knight’s live position. Switching roles updates that target, the follower stops when close, and F can stop following. The White Knight still respects the Black Knight’s exclusive route, but can turn towards the leader and resume following when the Black Knight returns to common ground. This avoids forcing the companion to repeat an unsuitable route while preserving the difference between their abilities.
Prototype feedback & iteration
Giving mistakes a recoverable response
I designed mistakes to produce clear feedback while preserving a route to completion. Trying the second anchor too soon produces a warning, while falling into the ravine returns the character to the entrance and preserves puzzle progress. R resets the encounter for another run. This lets players experiment with the sequence without losing the opportunity to understand it.
In the first pass, I used blockout geometry for the stone bridge and segmented root meshes with scaling for growth. Later passes replaced the walking route with assembled rocks while retaining the functional root bridge and visual entanglement. This let the route and interaction develop without waiting for every dedicated art asset.
Making the two characters usable in motion
After the generated character models were brought into Unreal, movement tests revealed floating feet, stretched legs and unnatural arm motion. I marked a more relaxed White Knight pose on a screenshot, with the arms hanging closer to the body, to guide the animation revision.
The revision addressed foot contact, IK helper-bone synchronisation, missing animation references and excessive arm swing. The character sinking during movement was traced to missing references in the locomotion blend. Checking movement, jumping, landing and character switching together helped assess whether the revised pose remained consistent in play.
Match the gait to the ground, not just the pose
Later walking tests showed a shortened, bent-leg gait and small periodic jolts. A first adjustment reduced the stride and movement speed, but the White Knight then appeared to slide slowly across the ground. I reversed that approach and rematched the walking animation to the 300 cm/s movement speed.
The problem was therefore not solved by making the character move more slowly. The stride, travel speed and foot contact had to agree, including on the assembled rock surfaces. I kept the earlier arm and foot corrections, while evaluating the whole moving character against the terrain.
Separate a real fall from a legitimate descent
After adding the return slope, walking downhill could send the player back to the spawn point halfway through. The old exit check could be missed when the player went around the arch’s centre, and a fixed height threshold then treated the lower path as a fall.
I changed the exit check to cover the platform area and added a ground-support check to fall recovery. Players can now descend towards the forest while standing on the path, while an actual fall still returns them safely. The recovery rule follows the space the player is using, rather than only a height value inherited from the earlier layout.
Design process & next steps
Connecting design intent with the playable encounter
For the playable prototype, I defined the two perspectives, the anchor sequence and the environmental cost of creating the bridge. I directed the visual adjustments through feedback on the running characters and scene.
The prototype uses Hi3D-generated character meshes and existing environment assets and materials. Model preparation, rigging, animation retargeting and Unreal Blueprint implementation connect those resources with the character movement and puzzle sequence. My original concept-art development is shown in the companion concept-design page.
Next presentation pass
With the root-bridge and stone-gate interactions in place, I plan to refine the dedicated broken-bridge edges, source and anchor designs, continuous root-growth assets and environmental sound. The wider worldbuilding and branching endings continue in the companion concept-design page; the playable work remains focused on these local encounters.

