Summary
Egregore is a non-linear first-person adventure game where you uncover an occult conspiracy in Cairo. Using a haunted astrolabe, you 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 about systems and level design while learning Unreal 5, and got a positive response with over 90k downloads on Epic.
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, which has a vast, combinatoric possibility space.
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 out the best applications for the graph. 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.
What I Learned
-
The main design challenges of Egregore were managing non-linearity and possibility space for players and developers. An approach structured around player beats and knowledge helped us tackle the problem, both in terms of making content and guiding the player through it.
Once we knew what gameplay concepts we needed to introduce, we could isolate what steps we needed players to take to learn them. Once we knew that, we could determine how and when to guide them further along.
This structured approach (dependencies) kept us from building a whole puzzle or sequence around one entertaining moment and leaving dead space. Each beat was made meaningful and unique to pique the player’s curiosity.
-
Many adventure games suffer because their designers miss player intent. This manifests in a few ways: padded levels, puzzles that feel like brick walls, and narrative scenes that overstay their welcome. On the flip side, some of the best moments in adventure games are when offbeat player actions are responded to, and that’s what Egregore is all about.
Egregore succeeded by respecting the player’s time, goals, and control. Any interruption in control needed to be minimal or removed entirely, and any change in the world had to be relevant to the player’s goals.
Keeping our levels intentionally small, our dialogues intentionally brief, and our calls to action relevant made the game far more compelling. -
Egregore is a game about abstract concepts and complex sequences. In pre-production, the prospect of tracking a non-linear game with several permutations was daunting for the team.
Concise specs and quick prototypes for features, how-to guides for team members, and clean docs showing player experience made development run much smoother. Dependency charts in particular represented highly variable sequences in an easily readable (and testable) way.
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.
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 line-of-sight.
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