My name is Shihan (Alicia) Zhou, and I am a Level Designer & Scripter (UE5) who bridges the logic of Economics with the spatial flow of Cinema to build authentic, lore-heavy worlds.
Divine Agent: Meet the Gonjis
UE5 Level Design: Resource-Driven Tactics & Environmental Reactivity
Role: Level Designer & Independent Game Developer
Tools: Unreal Engine 5, Blueprints, Aseprite.
Timeline: July 2025 - Dec 2025
Level Design
Spatial Flow & Risk/Reward Architecture
The level geometry was architected to enforce a high-stakes Risk/Reward Loop based on resource management. I designed the Critical Path using “connective tissue” platforms that require minimal ammo expenditure to repair, ensuring safe traversal. Conversely, high-yield scoring nodes, which require nearly 30 % of the player’s total ammo capacity, are placed in high-risk Secondary Paths. This layout compels Strategic Spatial Trade-offs: players must decide between spending ammo efficiently for survival or allocating it toward high-cost zones to meet the level quota, ensuring constant Player Agency and tension throughout the level flow.
Environmental Storytelling
Lore-Driven Design Content
→
Inspired by the industrial geometry of my home city, Shenyang, a manufacturing city in the Northeast of China, I developed a world where Environmental Narrative replaces traditional combat. The “Critical Care” mechanic transforms the level from a battlefield into a reactive ecosystem. By framing the “Gonji” entities as exploited spirits rather than traditional enemies, the level design shifts focus to Restitutive Interaction and Pacing-Driven Restoration, using the environment itself to communicate the history of labor and imagination in the world of Divine Agent.
Gonji
〰️
Gonji 〰️
Benoit
〰️
Benoit 〰️
Destructible Zone’s BP: Procedural Destruction & State Management
When Gonji hits the destructible zone, the zone calculates its own size, hides the art, deletes the floor, and saves the data.
Summary: The Destruction System is an event-driven architecture to decouple the AI logic (BP_Gonji) from the environmental state logic (BP_DestructibleZone). The AI handles target acquisition, while the Zone handles its own physical state transitions. This prevents dependencies and allows for easier debugging.
Gonji’s BP: Stochastic (Random) AI Behavior Tree
AI BEHAVIOR: STOCHASTIC DECAY
This BP checks if Gonji is busy, telegraphs an attack, picks a random target from the environment, and executes the destruction event.
Locates the specific Grid Coordinates of the actor relative to the TileMap. Caches the visual tile data into an array for future restoration.
Procedurally removes physical collision and visual tiles from the level map to create empty gaps that Benoit and Gonji may fall into.
Unhides the 'Damage' flipbook to visually bridge the gap between the TileMap modification and the empty space.
Prevents logic overlaps by checking the current AI State. Drops the command if the AI is already performing an action.
Pauses AI navigation physics and syncs the attack logic to the exact length of the animation frame data, ensuring readability for the player.
Scans local physics volume for valid actors, filtering for class type. Uses a random integer array retrieval to select a stochastic target from the valid list.
Calls the Destruction Event on the external actor and restores AI movement physics (Patrol State).
Gonji’s Destruction Logic
Benoit’s BP: Player Interaction & Economy Validation Logic
Benoit/Player’s Repair Logic
Scarcity System
This is the brain of the player interaction. It handles targeting, resource checking, and execution of patching damaged blocks.
Destructible Zone’s BP: Restoration Input Handshake
It receives the signal from Benoit and prepares the actor to "Rewind."
Summary: The Repair System separates the Economic Decision (Benoit's BP) from the Physical Execution (Destructible Zone's BP), keeping the code modular.
Scans world for 'Destructible Zones', filters out healthy zones, and utilizes vector math to identify the nearest relevant target.
Queries the specific data of the target zone to calculate 'Zone Repair Cost'. Validates player resources (Ammo) before allowing action.
Aligns player rotation, triggers wind-up animation delay for 'weight', and calls the Interface Event on the target actor.
Updates global resource variables, recalculates total repair percentage, and evaluates Win/Loss states against the 35% threshold.
Wakes the actor's Tick logic from sleep mode and triggers the visual 'Time Rewind' animation. Does not instantly fix physics (that is handled by Tick logic to ensure sync).
Destructible Zone’s BP: Lifecycle Optimization & Logic
Optimization and System Initialization
This set up watches the animation. If it's breaking, it waits. If it finishes breaking, it sleeps. If it rewinds to 0, it fixes the map.
Summary: This part is an event-driven architecture that balances scalable system initialization with rigorous runtime performance optimization. By dynamically calculating the economy targets at start-up, the system allows for procedural changes to the level without requiring logic rewrites. Furthermore, the object lifecycle is optimized for high density; actors programmatically disable their own CPU update loops (Ticks) during idle states, waking only during critical state transitions like destruction or repair. This ensures resources are reserved strictly for active narrative beats.
Benoit’s BP: Dynamic System Initialization
At runtime, this logic executes a dynamic system initialization rather than relying on hard-coded values. By iterating through all actor instances in the level to aggregate their surface area, the code automatically scales the Win Condition to fit any map layout, effectively decoupling the game rules from the level design. This chain also handles dependency injection by creating the HUD and registering the Enhanced Input Mapping Contexts, ensuring a stable control state before the player can act.
Performance Optimization: Once visual destruction is complete, the Actor disables its own Tick function to save CPU cycles.
Syncs the return of physical collision with the exact frame the visual animation completes. Iterates through the cached data array to restore the TileMap visuals.
At runtime, the System loops through all level instances to calculate the maximum possible score (TotalLevelArea). This decouples the Code from the Content, allowing Level Designers to build maps of any size without manually hard-coding the Win Threshold variables.
Initializes the Heads-Up Display and injects the dependency (HUD Reference) back into the Player Blueprint. This caches the pointer early to prevent expensive lookups (like casting) during the gameplay loop, optimizing the repair mechanic performance.
Dynamically binds the 'Platforming Context' to the Local Player Subsystem upon possession. This keeps the input logic modular, allowing controls to be swapped easily for Menu States or Cutscenes.
Maya Spatial Blockout: Divine Agent Building
Iterative Architectural Study
Utilizing Maya to establish architectural scale and Player Metrics for 3D environments. This section demonstrates my process of Greyboxing, prioritizing verticality, sightlines, and navigation geometry before the art pass. By focusing on the 'bones' of the level in Maya, I ensure that the environment remains functional and performant for UE5 world-authoring.
Role: Level Artist & Lighting Designer
Tools: Unity
Timeline: Dec 2023
Floating Coffin
Atmospheric Composition & Visual Narrative
An exploration of Environmental Narrative and Spatial Mood. I utilized Dynamic Lighting and Fluid Simulation to establish a tone of isolation, relying purely on Visual Language and Composition to communicate the story. My goal was to use Technical Implementation and Physics-Based Design to guide player emotion and establish a cohesive world logic without the need for dialogue.
When A Dream comes True (Animation) & Wizards (Short Film)
Leveraged traditional 2D animation to master frame-level timing and sequential logic. Focused on action-to-reaction loops and narrative beats to develop a technical foundation for scripting impactful 3D player encounters and cinematic game sequences.
Role: Director & Animator
Tools: Procreate Dreams
Timeline: Dec 2023
LINEAR NARRATIVE & PACING (Film & Animation)
Applied cinematic blocking and spatial schematics to manage complex actor-camera flow under strict production constraints. Coordinated logistics and departmental teamwork to ensure precise composition and pacing, foundational skills for 3D world-authoring and mission design.
Role: Director, Camera Assistant, Co-Editor & Co-Producer
Tools: Adobe Premiere Pro, Blackmagic Camera, Procreate Dreams
Timeline: Aug - Dec 2024
Level Designer
I am a Level Designer who builds worlds through two lenses: The logic of Economics and the Spatial Intent of Cinema.
With a background in Economics and International Politics, I approach Level Design as a Cohesive Ecosystem. I believe that internal logic, such as resource scarcity and social hierarchies, informs the spatial layout and the narrative tension of player traversal.
My design philosophy centers on Systems-Driven Level Design. In my recent project, Divine Agent, I operationalized this by utilizing strict ammunition constraints to drive player decision-making and environmental interaction. Instead of relying on passive storytelling, I author environments that guide players to feel the weight of the world through spatial trade-offs and tactical agency.
Currently Obssessed With:
Game: Outer Wilds
Film: The Fall
Book: Higher than the Mountains (In Chinese)
Activities: Surfing & Climbing