independent videogame developer,
Unreal Engine generalist

About Me

Hello!I am a game developer from Atlanta, Georgia.I primarily make my projects in Unreal Engine - though I've dabbled with modding and creating content for videogames for much of my life.I studied biology at the University of Central Florida and completed my bachelor's degree in 2019.
One of my goals is to include what I learned during my studies in fun and surprising ways in my games.


these buttons are connected directly to my phone/brain.
they can cause it (the phone) to make a sound when they're pressed.

Here are some of the projects I've released:

[detailed (boring) technical text warning]
[there are pictures too]

The Gladdening Chamber

The Gladdening Chamber is a horror mystery game with interactive narrative and pen-and-paper puzzle gameplay.The player is tasked with gathering clues found on in-game websites to discover what happened to a friend who has recently disappeared from their online community.

This game was featured in DreadXP's Ultra-Indie Spotlight!

The game's story takes place on a virtual desktop computer using an interface I built out with nested widget blueprints in UMG.The system is rendered to a widget component in world space that picks up the player's keyboard and mouse interactions and passes them back to the widget "operating system".

Here, the render result from UMG is being used to drive the input for a CRT shader, so the game's computer monitor has visible chromatic aberration and aperture grille/pixelation, scan lines, etc.

Web pages are stored as widgets that each hold the content for one page, and each is assigned a unique index for the web browser to use for navigation.The web browser also stores recently accessed pages for back/forward button functionality.

With this game, I wanted to capture the feeling of a late-night Wikipedia crawl, and exploring clues with others who were invested in solving a mystery.There are updating webpages in the game that change as you progress through the story, including forum posts and daily news articles. It's been described as something of a "singleplayer ARG".

The Gladdening Chamber was developed over the course of two months and released for Halloween 2020 on for free, and can be found below:

Dread Sky is a first person horror game that challenges the player to
survive long enough to escape their small town after a weather anomaly has dangerous and unforeseen consequences.
Some townsfolk heeded the weather service's advisory to evacuate, while others weren't convinced there was any danger, or were unable to leave.

This game was planned to provide specific development challenges:- To make a complete game on a very tight schedule
- To practice using modular assets to quickly build levels
- To implement enemies with AI behaviors and navigation
- To write a game narrative that could be delivered in pieces through NPC dialogue, preferably in a nonlinear way

The town map came together in just a few days.
However, it was difficult to cultivate a horror atmosphere with such smooth, almost cartoon-style low poly assets in bright lighting.
As the game progresses, more realistic fleshy shaders and more disturbing imagery is introduced to help with shifting the game's tone.The results were pretty uncanny and scary.

The game's progression involves interacting with characters the player met during the game's intro scene and completing key tasks for them in a particular order to earn favors from them that will, hopefully, lead to the player's freedom to escape town.

Everybody's gangster
until the trees chase them

Unreal Engine's navmesh system and AI blackboard were used to develop enemies.My favorite feature of the enemy trees is that which trees in town are hostile gets randomized every time the player goes outside once they've reached this part of the game.

birch activation

I used a simple CSV spreadsheet to keep track of the ~300 lines of dialogue I wrote for the characters.This way, I was able to write all of the conversations ahead of time and import them later.This also made it easy to revise, reorder, extend, and remove lines, conversations, or entire characters as needed.

I've since used this system (or parts of it) multiple times in different projects, mostly because it's very lightweight and plugs in to other gameplay systems smoothly.

(volume warning)

This is the game's other hostile character, Pigmeat.Pigmeat patrols the town after things get weird and will chase the player if they get too close or if they don't hide well enough.

Near the end of the game, the player must avoid both Pigmeat and the hostile trees (sometimes at the same time) in order to escape. This leads to more interesting routes being taken around the town once the player knows their way around.

The only penalty for failure is to retry from a checkpoint, so players are encouraged overall to play bravely and to sprint often.

It seems that everybody's going to try making a Silent Hill inspired indie game at some point (good!), so I was happy to get it out of my system in a manner that I felt was productive.Dread Sky had an original planned development time of only 7 days, but I ended up liking what I had started too much to share it without spending more time polishing the features and presentation first.

Ultimately, the game was completed in 20 days and was published to in January of 2021.

WORKING TIDAL was made for Haunted PS1's Summer of Shivers game jam in 2021.

It's a colorful, upbeat time attack game that involves collecting as much submerged junk salvage as possible during the allotted time to redeem for in-game currency that's used to unlock new levels and to upgrade the player's submarine.

The visual style I adopted for this game was hopefully familiar to fans of the Sega Dreamcast.

Once again, an abrupt transition to horror was needed !

The intro for the game comes with a neat video I hacked together with footage of the DC devkit's intro, FL Studio, and some sounds I recorded of my own Sega Sports Dreamcast spinning up.

The game has four levels: a starting beach, followed by a remote reef full of sunken curiosities to find. Then comes the deep, dark trenches of the abyss. Finally, the game ends in a surreal, evil battleground with an ancient guardian.

Levels were sculpted with Unreal Engine's landscape system, while foliage actors were used to add details like rocks and seaweed to each level, and some specific unique assets and shaders were brought in for environmental storytelling and variety.

I also tweaked some engine settings to dial in the visual style I was looking for, like scaling down the internal rendering resolution and locking the player's camera to a 4:3 aspect ratio to simulate playing a game made for a chunky CRT TV.

The main menu has an item shop used to upgrade the player's submarine and unlock new levels, as well as a model viewer that shows salvage that's been collected up close with a small lore description to help flesh out the game's story.

An early example of the core movement and collection mechanics, along with the "loot scanner" that helps find collectables.

WORKING TIDAL was a ton of fun to make. Participating in a game jam with Haunted PS1 was also a lot of fun; they're a great, welcoming community.I ultimately decided not to limit the game's visual fidelity to what's expected of the PlayStation (or even realistically the Dreamcast) out of the interest of evoking a nostalgic visual style that wouldn't prove to be limiting to how I chose to make the game look and feel.The original jam deadline was also extended, so I had more time than expected to hone the gameplay and visuals.WORKING TIDAL took roughly two months to develop. It was published to on September 1st, 2021.


Below you'll find examples of game environments and other assets I've made, and explanations on how they were built.

A setting from The Ring (2002), built in Unreal Engine 5.
Uses Quixel Megascans assets for foliage on a landscape sculpted in-engine. Camera postprocessing was used for color grading and exposure adjustment, along with a postprocess shader to achieve the scanlines and grainy film effects. Global illumation with Lumen.

Progress shots:

Final high-res still:

A serene outdoor locale rendered in Unreal Engine 4.27 with fully dynamic lighting.
The scene is made up of a combination of Unreal Engine's landscape system and static meshes from Polyart studio's "Dreamscapes" asset series.

The "painterly" style is achieved with a lightweight postprocess shader that mimics brush strokes by using world-aligned textures to break up and add noise to objects. There's also a small amount of desaturation applied with a noise map to simulate uneven or imperfect paint colors.

Based on a painting by Zdzisław Beksiński.
Uses the postprocess shader from my "Painted Lake" scene in a darker context.
Built in Unreal Engine 4.27 with a landscape sculpted in-engine. Dynamic lighting, with volumetric fog and particle systems for generating fire and smoke.

Used on this portfolio's main page.
Another sculpted Unreal Engine 4 landscape, populated with static mesh foliage. Dynamic lighting, sky atmosphere and volumetric clouds. Some post processing settings tweaked for exposure and color grading.