The Shadow That Pervades

The somber tale of a lost dog in a city of ghosts

— PLATFORM

PC


— ENGINE

Unreal Engine 4


— TEAM SIZE

8 Contributors







The Shadow That Pervades is a 3D platformer set in a post-apocalyptic reflection of Chicago starring a lost dog named Rose. It was developed with DePaul Originals, a grant-funded game production studio.

Responsibilities:

– Owned design process of a cul-de-sac level for the game's demo

– Researched and gathered reference photos of Chicago urban residential areas for inspiration

– Scripted level mechanics and sequences using pre-existing game systems in Unreal Engine 4

– Wrote and developed story quests to give the level a narrative throughline

– Iterated play areas based on constructive feedback from project managers and team members


LEVEL OVERVIEW

MAIN AREAS

BACKYARDS

A tutorial area for players to familiarize with Rose’s controls and complete a simple “fetch” quest.

CUL-DE-SAC

The level’s central nexus – provides access to all areas. Starting point for the level’s main story quest.

GREENSPACE

An overgrown patch laden with hidden treasure. The squirrel who lives here might tell you where to find it, if you can catch him.

NEIGHBOR'S YARD

Contains a platforming puzzle for players to complete. Nearby is a shadowy figure who yearns for his lost treasure.

TOP-DOWN VIEW

FLOWCHART

WORK OVERVIEW

LEVEL DESIGN

As Shadow That Pervades' level designer, I was tasked with creating a fully playable demo level based on a pre-designed gated community concept, utilizing existing game systems and assets to build novel interactions around our dog character.


At the project’s onset, I conducted photo research of urban communities in Chicago to inform set-pieces I included. This helped me ensure my level layout was authentic to the setting we chose. I also observed dogs at play in parks around the city, which inspired some of the mechanics I implemented like dig-spots and chasing squirrels.


After workshopping my ideas with the rest of our team, I began building a prototype version of the gated community, which I used to test modular blueprints I developed such as the Bash-Gates, Dig-Spots, and Trampolines. This stage of development also allowed me to create concept proofs for our game’s Quest system, a crucial component of our final level.


As we expanded the level layout to include a cul-de-sac and greenspace, I began scripting sequences and interactions on a section-by-section basis. This approach facilitated focused testing and iteration, and allowed me to make changes to my plans for subsequent areas before implementing them, raising production efficiency overall. It also made it easier to work adjacently with our environmental artists, who would step in after I finished a section to implement foliage and detailed meshes based on the framework I set.

INTERACTION SCRIPTING

My work as a level designer for Shadow That Pervades required me to understand and iterate upon pre-existing Blueprint frameworks for our dog character and associated game systems. Much of my early work entailed familiarizing myself with these code structures so that I could properly integrate them with level elements I concepted, such as those shown here.

Our demo features a variety of "fetch quests" (pun intended) that the player must complete. Each quest is driven by a state machine that tracks task completion and triggers events when changes occur. I was responsible for scripting each quest in the level with this framework, and building the sequences and widgets used during events and dialogue.


Programmers frequently introduced new mechanics for our player character, such as our “barkour” system, and I was often asked to adjust my level design to implement these additional features. To account for this iterative production style, I utilized modular scripts that could be easily changed or removed without impacting adjacent systems.


Throughout development, I tested new features and applied my knowledge of our game systems to fix issues I came across when possible. Bugfixes that fell outside my skillset were promptly documented and reported to our main programmers at subsequent team meetings.