His Last Day

A murder mystery with time travel


Clockwork Studio
60
2025/September – 2026/April

Overview

Game Summary

His Last Day is the story of Owen Edwardson, a nobleman in England who has recently been murdered in his own study. With the aid of a mystic pocket watch that lets him travel between the morning, afternoon, and night of the day of his murder he must solve puzzles and uncover the motives and method of his murder in the hopes of changing his fate.

Preview

Environment Art

Concept arts

Props

Programming

Worked on various area as a programmer lead, such as gameplay design, project repo management, bug fix

Input system

Built a ScriptableObject InputHandler on Unity’s Input System that supports keyboard/mouse and controller. Detects the active device and swaps action maps plus on-screen icons.

Added a Virtual Mouse so analog sticks can also drive UI and puzzle clicking. The cursor only appears when a gamepad is active.

Player Controller

Reworked player Rigidbody such as movement, turning, and grounding to listen to input events instead of polling. Movement stays independent from dialogue and UI states.

Game & UI state 

GameManager owns high-level phases while UIManager stacks Pause, Dialogue, Puzzle, and Viewer. Closing the last overlay restores gameplay input.

Time system

Implemented past, present, and future world maps with a shared TimeManager. An event bus notifies UI and audio when the era changes.

Rooms & Follow camera

Room triggers update the current player location and broadcast it. The follow camera reframes based on the room type.

Puzzle session

Designed an IPuzzle contract and PuzzleInteraction entry point. Interacting swaps the main camera for a puzzle camera, enables physics raycasts and the virtual mouse, then restores the world on exit.

Bookshelf puzzle

Reworked drag-and-rotate puzzles so each piece reports updates and the puzzle checks the solution. Completing a set grants items and dialogue.

Statue puzzle

Players rotate statues under the inspect camera until the arrangement is correct. Solving plays feedback and awards a record piece.

Icebox puzzle

Rebuilt the cooler and fireplace as one time-gated puzzle. Progress depends on key, ice, and the current time state.

Record puzzle

Players collect fragments, place them in the puzzle view, then assemble the finished record. Clearing it triggers end-game dialogue and music.

Dialogue Asset

This project has utilized third-party Unity asset called D’Dialogue to implement base mechanism of dialogue system.
This asset has been modified in order to add desired mecanism and modularize

NarrativeManager

Wired nodes into a third-party dialogue UI, including controller focus on choices. Each line can start and stop a voice clip.

World hooks

First-time inspects, tutorials, and puzzle clears call Print or PrintOnce. The same system delivers both story and puzzle feedback.

Node pipeline

Authored DialogueNode ScriptableObjects for lines, choices, cutscene images, and item grants. The runtime walks the graph instead of hard-coding scenes.

Skip / confirm: 

Escape opens a confirm prompt, with a “don’t ask again” toggle. Skipping tears down only the dialogue stack so gameplay resumes cleanly.

Interactor

Scans nearby colliders on an interval with a non-alloc overlap sphere and keeps the closest valid Iinteractable. Objects that fail CanInteract are ignored.

World interactables

Pickups, doors, and furniture share one interface. Locked doors and special objects can fire dialogue instead of opening.

Prompts

A world-space prompt follows the current target via detect/lost events. Prompt icons switch with keyboard versus gamepad.

Object viewer

Inspecting an item opens a 3D overlay with rotate, pan, and zoom. Letters show text instead of a mesh.

Item data

Items are ScriptableObjects holding icons, inspect prefabs, and optional dialogue. World objects and the inventory reference the same assets.

Inventory

Tracks add, remove, and HasItem checks and keeps slot in sync. Puzzles, doors, and dialogue branches gate on what the player is holding.

Pickup flow

Interacting adds the item, optionally hides the world object, and plays pickup audio. Viewable items can open the 3D inspector immediately.

Puzzle gating

Keys, glasses, and record pieces unlock slots or story branches through inventory checks. The inventory is the shared condition layer between world, puzzles, and dialogue.

Showcases

Level Up