James Liu

First-person exploration puzzle game

Past Path

An island mystery built around aligning journal sketches with the world. I engineered the camera-alignment mechanic, C++ diary system, and game flow, and coordinated version control and engineering tasks.

Past Path gameplay with an open illustrated journal against an island landscape
My contribution

Implemented camera matching, the C++ diary, and game flow; coordinated engineering.

Tools & methods

Unreal Engine 5.4 · C++ · Blueprints · UMG · Data Assets

Project

First-person exploration puzzle game

Core gameplay and the engineering that joins it together.

I engineered camera alignment, the C++ diary, and game flow; I also coordinated engineering tasks and version control.

Gameplay capture · 23 seconds · silent. Open the journal, inspect a sketch, and align it with the environment.
Implementation details

I engineered the camera-alignment mechanic, the C++ diary system, and game flow. I also managed the team’s version control and coordinated how engineering work was distributed.

Players follow two brothers’ sketches and journal entries across an island, using clues to find the viewpoint where an illustration matches the environment. Successful matches change the world and open the next part of the journey.

Match a viewpoint to unlock a path.

A sketch becomes a key: match its intended viewpoint to change the world.

Camera-alignment mechanicThree checks. One new path.
01 · SketchThe right pictureSelected from the diary
02 · PositionThe right placeNear the target camera position
03 · OrientationThe right angleCamera aligned to the target
ALL MATCH
Puzzle solvedThe world changesRemove an obstacle or spawn an object

Authored picture and camera checks drive the match.

A translucent journal sketch overlaid on the island landscape in Past Path
The sketch is compared with a designed camera viewpoint.
Past Path displays New Page Unlocked after solving a sketch puzzle
Solving a viewpoint puzzle advances the journal and progression.
Implementation details

The player takes a translucent sketch from the journal and aligns it with the landscape. The matching logic checks the selected picture, proximity to the target camera position, and camera orientation.

A successful match changes the puzzle state. The level flow then removes an obstacle or spawns a new object, turning a visual observation into an explicit progression event.

  • Correct sketch + camera position + camera orientation
  • Normal, journal, and sketch modes keep input behavior distinct
  • Puzzle success drives changes in the level

Keep clues, pages, and progression connected.

A reusable C++ JournalComponent connects authored clues with page browsing and sketch interaction.

C++ diary systemFrom a journal page into the world
  1. ContentData AssetsJournal entries + sketches
  2. GameplayJournalComponentC++ diary foundation
  3. InterfaceUMG + BlueprintsBrowse pages · select a sketch
  4. PlayerAlign & exploreUse the clue in the level

Normal, journal, and sketch modes keep each interaction distinct.

An open diary with a landscape sketch and narrative clue in Past Path
The diary holds both narrative context and the visual clue used by the alignment mechanic.
Implementation details

The C++ JournalComponent provides the diary’s gameplay foundation. Data Assets hold journal content, and UMG and Blueprints connect that content to page browsing, sketch selection, and the character’s interaction modes.

I engineered this diary system and the surrounding flow so a discovered clue could move from a journal page into a world puzzle. Players can open the journal, turn pages, extract a sketch, and return to exploration.

Coordinate the work around a shared game flow.

I managed the team’s version control and engineering work distribution, connecting puzzles, diary content, and progression across three levels.

Implementation details

Alongside the gameplay implementation, I managed version control and engineering work distribution. This responsibility connected the camera mechanic, diary, puzzle objects, and level progression across the team’s work.

The result is a short exploration game whose three levels lead toward a final treasure cave, with journal clues and world changes forming one continuous loop.

Next projectSignal Lost