Overview

A first-person investigative noir game set in Turin, created during my third and final year at Event Horizon School. My main contributions to the project include:

  • Generic Browsable Book - Designed and implemented a fully browsable animated book from the ground up, overcoming the challenge of creating interactable, bendable widgets that were not natively supported by the engine.

  • Interaction and Inspection System - Assisted in developing the system for interactable and inspectable objects.

  • Case System - Implemented the system that handles the progression of the player trhough the game solving cases and riddles.

My Role - Gameplay Programmer

Genre - first-person Investigative

Engine - Unreal Engine 5

Platform - PC (Itch.io)

Team size - ~10 people

Duration - 7 months

Browsable Book

This is the core feature of the game, inspired by the concept of setting a video game within a comic book.

However, Unreal Engine doesn't natively support 3D interactable widgets that can bend like book pages, so we had to create our own solution from scratch—and that's exactly what we did.

This feature was designed to be as generic as possible, with the book's content defined within a Data Asset called “FlexibleBookContent.”

This asset allows us to specify the widgets to display and includes additional information about interactions that should occur on specific pages, all of which are gathered from other Data Assets.

The Book actor doesn’t function alone to achieve its purpose, as the widgets are only projected onto its pages through their material.

The actual display of the widgets is handled by a separate Actor called the Widget Displayer. This Actor is directly connected to the Book actor and exchanges information with it.

Below is a simple diagram illustrating how mouse input on the Book is translated into mouse input on the Widget Displayer (draw.io).

Conclusions

I'm really proud of the product we’ve created. This project marked the first time I found myself developing features entirely from scratch, relying solely on our own abilities without any external references or examples. A perfect illustration of this is the Browsable & Interactable Book, which we built from the ground up.