I implemented the scene-loading architecture for the game’s transition to a connected Metroidvania world. I also reworked world-state saving and respawning, built editor tools, optimized performance, and addressed ongoing gameplay issues.
I separated the persistent player and managers from level content, then loaded nearby subscenes additively based on the player’s position.
Separate entry and exit bounds control when each area loads and unloads, avoiding repeated transitions at a single boundary.
I built a Scene Loader editor window to open levels, choose subscenes, and inspect their bounds. I documented the setup for the team.
02 / Persistent world state
Save & Respawn
Keep progress intact as areas unload, reload, and reset after death.
I reworked world-state saving around reusable savable properties. Stable object IDs connect an object to its saved values, so a gate, puzzle, or encounter can recover its state when its scene returns.
Remember the world
Integrated puzzle states, boss zones, collectibles, destructible objects, dialogue events, and generated grid data into the save system. Automatic ID assignment and prefab checks helped keep scene instances distinct.
Recover after death
Reworked checkpoint selection and respawn loading, with configurable object categories that reset on death. Fixed issues with abilities, camera locks, prompts, and world objects returning in the wrong state.
03 / Runtime & rendering
Performance Optimization
Focused rendering and gameplay updates on nearby or visible content.
Focus updates on nearby content
Added a cheaper reflection-camera mode when no reflective objects are visible, and refined which objects the cameras render.
Limited enemy physics updates by player proximity. Spider ground-orientation and leg updates depend on screen proximity.
Adjusted offscreen firefly particle updates and baked lighting. Split expensive areas into smaller subscenes to limit how early they load.
04 / Gameplay integration & maintenance
Gameplay & Demo Polish
Follow issues from playtesting through fixes in the game build.
Alongside the core systems, I worked through ongoing QA reports and integration problems across combat, dialogue, UI, and demo transitions.
Combat and encounters: fixed uppercut interactions with breakable floors, spider reactions, and state problems after respawning.
Dialogue and presentation: integrated merchant animations and voice lines, with fixes to dialogue input, audio, and pause-menu layering.
Demo flow: connected the main menu to the scene architecture and refined intro fast-forwarding. Corrected restart and end-of-demo behavior.
Playable cinematic: integrated a playable character and spider encounter into the movie-comic scene, then fixed dash-punch timing, damage, and effects.