Project Info

Project - College/Group

Role - Tech/Mechanic Designer

Engine - Unreal Engine

Website - https://nonpipestudios.itch.io/devotion-of-escher

A mysterious mansion and its inhabitants now lie in rubble after an equally mysterious explosion left it in disarray. You are a detective, sent here to investigate the possibility of foul play, and step in only to find a letter in your handwriting and a pocket watch capable of allowing you to time travel. Equipped you now seek answers behind the explosion, the mansion with hidden dark secrets beyond mortal comprehension, and how a letter written by you was here in the first place.

Plot Synopsis


Inventory System

Each slot visually updates with an icon and optional item count. When a slot is selected (clicked), a contextual menu appears, offering Use and Drop options. This menu is created as a separate widget and is anchored to the selected slot to maintain intuitive UX.

  • Inventory Storage: The backend uses an array of item structures containing information like item ID, icon, name, and functions (e.g. use logic, drop behavior).

  • Slot Handling: Each slot is a child widget that communicates with the main inventory via interface calls or event dispatchers. Slots update dynamically as items are added, removed, or rearranged.

  • Context Menu: On slot click, a widget appears offering Use and Drop buttons. Clicking Use calls the item’s use function (like healing, equipping, etc.), and Drop removes it from the inventory and spawns it into the world using the player’s location and direction.

This system was built with expandability in mind, allowing easy additions like stacking, drag-and-drop functionality, tooltips, or equipment slots.

Breakdown

The innovative inventory system was specifically designed to efficiently store and manage items that the player collects throughout their journey, allowing for strategic use of these items later on in the progression of the captivating story.

Synopsis

Lockpicking

I designed and implemented a fully interactive lockpicking system in Unreal Engine using Blueprints, inspired by classic mini-games seen in RPGs and stealth games.

The system features a rotating lock mechanism and a tension pin, offering players a tactile and timing-based experience. It was built with a focus on player feedback, challenge, and modularity for easy integration into various gameplay systems.

  • Core Mechanics: Players rotate the lockpick using mouse input or analog stick, while applying tension to test for the correct position. Feedback is given through sound, animation, or subtle haptic responses to indicate proximity to the correct unlock zone.

  • Unlock Zone Logic: A random "correct" angle is generated each time the system is activated. As the player rotates the pick, the system checks how close they are to the target zone using float comparisons, and adjusts resistance or tension accordingly.

  • Failure Conditions: Applying too much tension in the wrong position causes the pick to shake or break (depending on the difficulty setting), resetting the mini-game or consuming a lockpick item from inventory.

  • UI & Animation: The interface includes a stylized lock and pick model, dynamic UI elements for tension feedback, and animation states that reflect player input in real-time. All components are responsive and built entirely in Blueprints for quick iteration and visual clarity.

This system is self-contained, modular, and built to be easily extended—for example, adding difficulty tiers, different lock types, or an XP system for successful picks.

Breakdown

The Lockpicking System was meticulously designed for the player to gain easy access to the dresser, which held a variety of important and essential items crucial to the game’s progression.

Synopsis

Pocket Watch

I built an interactive teleportation system in Unreal Engine using Blueprints, featuring a skeletal mesh that serves as a visual centerpiece, with dynamic buttons representing days or milestones that unlock based on in-game conditions.

  • Activation Logic: The system is triggered by a key press, which spawns a skeletal mesh (Pocket Watch) in front of the player. The mesh acts as the UI anchor for teleportation options, adding to the visual flair and immersion.

  • Dynamic Day Buttons: Above the skeletal mesh, buttons are generated for each "day" or event. These represent teleportation points that become available once specific conditions are met—such as completing a quest, reaching a location, or hitting a game-time milestone.

  • Skeletal Mesh Versatility: The Watch is shown clearly on the screen from a distinct level, using advanced camera features and a user interface to capture real-time changes from the skeletal mesh. This unique method allows for accurate lighting changes and smooth animations, improving the visual experience and interactivity.

  • Conditional Unlocks: Each button checks for a condition (like a completed Boolean, variable, or saved progress). If the condition is met, the button appears or becomes interactable. This design keeps the interface clean and context-sensitive.

  • Teleport Functionality: Clicking a button instantly teleports the player to a designated location in the world using stored transform data or named teleport markers. This allows players to fast-travel in a controlled, lore-friendly way.

  • Modular UI System: All UI elements are handled through Blueprints and widgets, allowing for easy updates to the visual layout, animation timing, or the addition of new days/locations.

This system was designed with flexibility in mind—ideal for narrative-driven games, time-based progression, or hub-world setups where the world evolves over time and the player unlocks new locations.

Breakdown

The Pocket Watch was an intricate mechanic utilized to traverse the various days and navigate through the complex tapestry of time.

Synopsis

Jigsaw Puzzle

The Jigsaw Puzzle has the player use the information from the surrounding area to piece everything together.

Synopsis

Breakdown

I developed an interactive jigsaw puzzle UI system in Unreal Engine using Blueprints, designed to create a tactile, drag-and-drop experience within a 2D user interface.

  • Puzzle Initialization: The system begins by slicing a single image into multiple puzzle pieces, either procedurally or manually via pre-made images and masks. Each piece is assigned a target location and rotation for the final puzzle layout.

  • Drag-and-Drop Mechanics: Players can click and drag individual pieces across the screen. Snap logic checks the distance and rotation between a piece and its correct spot. If the player places the piece close enough to its destination, it snaps into place with smooth animation and audio feedback.

  • Grid or Freeform Mode: The system supports both grid-based snapping (for square pieces), giving it flexibility for various puzzle types and difficulty levels.

  • UI Integration: All interactions take place within the user interface layer, using Widgets for each puzzle piece. Pieces can be rotated (if enabled) and shuffled randomly at the start of the puzzle.

  • Progress Tracking: The system tracks correct placements and displays completion progress. Once the puzzle is solved, it triggers a success event (e.g., unlocks a new area, displays a story cutscene, etc.).

  • Modular Design: The blueprint logic is fully modular, allowing for easy swapping of images, difficulty scaling (more pieces, rotation challenges), and integration into broader gameplay systems (like collectibles or lore reveals).

This system was designed to be intuitive, responsive, and easily reusable across different puzzle-based gameplay sequences.