top of page
  • White LinkedIn Icon
  • White Twitter Icon
  • White Facebook Icon
  • White YouTube Icon
  • Patreon
// Game  Programmer




Primary Role(s)

Game Engine

Project Status

Project Type




Unreal Engine 4



Blueprints, C++

Join the official "Blame the Intern" Discord

You inhabit the role of a lowly intern hoping to find their footing in the corporate world. When a senior manager prompts you to expose corruption within the company, you are given the choice of hacking into the boss’s computer to find evidence. Due to the boss’s extreme paranoia, the computer is rife full of locked files, spyware, and hidden secrets to find. You are never given a straight answer to a question. Instead, you must explore and deduce what to do next, the only help being your trusty notebook.


Meanwhile, learn about the lives, corporation, and world you strive to protect through this unique form of interactive, non-linear storytelling. Every piece of narrative is essential in order to piece together what exactly happened and, perhaps more importantly: Why?


"Blame the Intern" is the result of my aspiration to develop a narrative-focused game. Shortly after graduation, I started development and finished in two months. I am the sole developer for this project.

Click the buttons below to learn more about how I implemented the core features of "Blame the Intern"!

3D to PC Transitioning +

From the very beginning of production, I wanted a core feature of using the computer and walking around to be as seamless as possible. Many games I've studied use an approach that involves covering the entire screen with a 2D UI. However, I wanted the player to be as immersed in the experience as possible, so I opted to use a component widget to show the screen on the monitor accurately. The image below details how I managed the transition from 3D walking to PC interaction:

And here, I use a custom material to properly light the widget and ensure it works with the post-processing settings:

Page Inventory +

Another core aspect of gameplay is the inventory system. Taking inspiration from "Papers Please", I wanted the player to manage how their inventory is laid out. They do this by dragging papers/documents around the screen with the mouse. There are many cases in the game where the player must orientate a paper in a certain way in order to reveal something. You can open your inventory at any time, including while operating the computer. Below is how I accomplished this:


For every tick, the position of the object changes according to the mouse position during movement. Note: This same function also applies for applications within the OS.

OS inside an OS +

Perhaps the largest undertaking was designing the operating system. Like most operating systems, the principle aspect of design is spawning windows of the application you want to run. I mirrored that by keeping all my applications neatly organized and modular. As a result, I can dynamically create windowed applications that run separate processes.  


The following are applications that I implemented for my game:

  • File Explorer

    • Navigate through folders.

    • Open apps, text documents, and images.

  • Email

    • View and compose emails categorized via Inbox, Sent, Starred, and Trash.

  • Octave - Game within a game

    • Run a separate game inside a window in the OS.

  • Browser

    • Navigate through websites.

    • Login procedures.

    • Ability to type in a URL and view another website.

  • Timer

    • Input and initiate a countdown timer.

    • If you input a secret code, it opens a file.

  • Mimo - An SMS app

    • View messages from characters in an SMS-style format, categorized by month.

  • Blaze Music Player

    • Play contemporary songs from within the OS.

Below is an image detailing how the browser handles URL input:


Below is how the timer handles user input:


Below is how the file explorer handles folder navigation:


Below is how the SMS app handles password management:

bottom of page