Summary
Egregore is a non-linear first-person adventure game where you uncover an occult conspiracy in Cairo. Using a haunted astrolabe, you can connect persons, places, and things to alter the world around you.
Egregore was my capstone project completed for USC’s Advanced Games Program class. The project taught me a lot about systems and level design while learning Unreal.
Overview
Timeline
June 2023 - June 2024
(1 year)
Role
Lead Designer
Tools
Unreal Engine 5.4
Figma & Notion
Sequencer
Not Yet
Team
35+ team members
Project Goals
Spark players’ curiosity
Support players new to puzzle games
Show an authentic depiction of Egyptian culture
My Contributions
-
Designed navigation, branching dialogue, and world changes using the graph.
Documented all node combos, progression paths, and puzzle dependencies.
-
Delivered 3 levels, making reference boards, dependency charts, top-downs, blockouts, and set-dressed + lighted spaces.
-
Led weekly design meetings and narrative reviews with a team of 5 writers.
Maintained feature docs, tool requests, and asset lists for other leads.
Attended weekly playtests and revised design in response to player + stakeholder feedback.
-
Animated all movement nodes, cutscenes, and events in Sequencer.
Implemented all graph cases, character poses, and world layouts for over 100 possible world states using custom tools.
Implemented branching dialogues and progression events with Not Yet.
Gameplay
Gameplay Design Breakdown
How do we evoke curiosity?
Point-and-click adventure games have a bad rap. They’re infamously difficult, obtuse, and generally only playable once.
Since puzzles are prescriptive, it takes one missed detail to block a player. Solving a puzzle is fun during the “a-ha“ moment, but the rest is frustrating if a player doesn’t know exactly how to arrive at a solution.
I set out to resolve both of these problems with Egregore. Within a small scope, I wanted to keep the mysterious feeling of adventure games without frustrating players.
Everything emerged from the graphing mechanic, and the idea of making information discrete and meaningful.
A non-linear adventure with multiple solutions jumped out to me as a great way to use the affordances of the graph.
Systems
I defined the core systems of Egregore throughout pre-production to make our vast possibility space intuitive to navigate and feasible to implement.
Since our genre and mechanics were new territory, we had to prove it out first. Across multiple iterations, I streamlined each system and made it easier for all disciplines to work with.
-
I made rapid prototypes for navigation, conversation and graphing in Twine and Figma, directing the rest of the design team to investigate hints, level flow, and interface in their own prototypes.
These helped us nail down ground rules for each element and find our footing. -
With prototypes to demonstrate to other teams, I drafted feature docs for conversation, navigation, and graphing.
I maintained these docs as changes were made, detailing updates and providing implementation guides per-discipline.
I kept in close contact with engineering, regularly making tool requests to speed up content development. Since our genre was a bit unusual, we needed a lot of custom solutions. -
I tracked all of our node combos and graph cases on a systems sheet, making an easy visual resource for engineering, narrative, and QA to track scripting.
-
Using the systems sheet and our level drafts, I scripted and rigorously tested all graph cases, dialogues, progression flags, and movement nodes. With docs in place, I quickly iterated content with the team during production.
Level Design Breakdown
Goals
Process
I drafted our levels from basic flows to dressed sequences, prizing clarity and ease of use. Each level is compact, but heavy on scripting and alternate routes.
-
Rather than a beat sheet, each level started with a set of beats as a puzzle dependency chart to demonstrate all routes.
These made sequences easy to navigate, scope, and evaluate for usability. If players got stuck, we could pinpoint which step had tripped them up and revise it. -
Building spaces started with a floor plan of discrete “rooms” we’d break into movement nodes.
Each location was inspired by a real-life counterpart in Cairo, and our architecture, narrative and paintovers reflected this.
For example, I did extensive research into Cafe Riche, which became the basis for Cafe Ramses.
The Sanctum was inspired by malls, Cheesecake Factory decor, and popular fast-food chains in Egypt, showing how the cult appropriates cultural symbols with no regard for their meaning. -
Working off of the floor plan, I blocked out each node, camera shot, and transition.
Nailing compositions and navigation flow were key here, as well as supporting a wide variety of prop layouts.
-
After blocking, I scripted in graph cases, placed Persons and Things, and tested the narrative team’s dialogue flows.
I held weekly meetings with the director and narrative lead to conduct narrative reviews, which started once initial scripting passes were done. These helped us refine our calls to action, cut down extra text, and improve player direction.
Dialogues had to:Be brief
Provide players with relevant information or a goal/call to action
Reflect conflicting perspectives on the mystery of the cult
-
Throughout Egregore, a developing photo tracks your progress toward finding the secret door to the Sanctum.
I scripted progression flags to update the photo, and placed key nodes behind certain graph combos to require learning new rules about the graph.
This kept players from being overwhelmed or getting all nodes in quick succession, and gave another visual indicator for knowledge-based progress. -
Finally, I placed textures and props with the art team to ground our spaces without breaking compositions or sightlines.
Each potential prop combo for different graph states had to work visually, so set-dressing required a lot of testing and revision.
Dependency Charts
Puzzle dependency charts were a key tool for planning and testing our nonlinear gameplay flows. Ron Gilbert and Mike Bithell kept similar docs, and I’ve used them on multiple projects.
Below are the dependency charts used for the intro, middle, and finale sequences of Egregore: the Box, Cafe Ramses, and the Sanctum.
For more details, see my talk about dependencies.
Rules