Throughout my senior year of college, I worked on a first-person horror game called The Veiled Ones as a UI and Gameplay Engineer on a large team. This game was made as a part of the USC Advanced Games Program, and was showcased at the USC Games Expo in May 2024. It will be published on Steam in August 2024.
In The Veiled Ones, you play as Ali, a Muslim exorcist and father who is trying to save his possessed son Emir in a jinn-infested home set in Istanbul. With the help of a special looking glass that allows you to see into the jinn world, you must explore the environment to find clues about the jinn and ultimately save your son.
My Work as a UI and Gameplay Engineer
Engineered a world-space 3D notebook
- Implemented a page flipping system which allows players to flip to next, previous, first and last pages.
- Created tools for designers to create notebook content and hook up the content so it can be added to the notebook using Unity Events.
- Implemented a system to dynamically add pages and notebook content in an arbitrary order.
- Refactored code to go from supporting a flat-canvas notebook to supporting a 3D notebook model with flipping pages.
- Implemented a system using render textures to display content on notebook pages.
- Utilized Animation Events to trigger page flipping animations and update render textures to make page flipping look realistic.
- Added optimizations for page texture rendering.
Engineered systems to display snippets of notebook content in screen-space
- Implemented a field note UI system to display information about objects as they are examined by the player and add this information to the notebook.
- Created screen-space game objective UI that updates on the screen and in the notebook as the player completes objectives.
Created and implemented functionality for small interactable books
- Implemented a page flipping system that supports flipping to next and previous pages.
- Added "readable point" UI onto pages that display screen-space text when the player hovers over them.
Wired up flashlight functionality
- Added conditionals for when the flashlight can be turned on and when the flashlight flickers.
- Created flashlight batteries and implemented functionality for battery count and reloading when batteries run out of juice.
- Developed a system to display flashlight battery UI