Waste Removal
Waste Removal is a Metro Exodus mod using the proprietary Exodus SDK, featuring the original metro 2033 gameplay loop, alongside a variety of gameplay mechanics, themed environments and player agency. All of this completed in just 4 weeks.
Project length = 4 weeks
Behind The Scenes
Waste removal was first started when word was spread that 4A’s propriety SDK, known as Exodus SDK became available for paid owners of metro exodus on Steam and EGS. The SDK was available to download through steams tool section and became a passion project, in hopes of creating a custom metro exodus level similar to that of the original games back in 2010 with its iconic eerie interiors and horror filled gameplay of the metro.



Waste removal is a fan mod that takes heavily inspiration for earlier genres, with a focus on linear set pieces and environments, whilst taking new elements from the latest instalment such as side factors of exploration, player choice and fluency of gameplay mechanics.
​
The beginning segments would introduce the player to basic movement, interactions and the theme of the level, with optional routes that teach the player about exploration such as routes that loop back on themselves and side passages that offer ammo and crafting resources.
​
The first stage is the puzzle area where players have to go around and break pallets blocking the path through melee to unlock the door, similar to that of early titles. Usage of lighting afforadances are used heavily to direct the player as well as indicating usability of doors.
​
The next combat room offers side passages in and out of the room to tackle the bandits in more unconventional ways, such as shooting out lights from side windows and taking advantage of cover in the centre and left of the rooms for a more polished encounter.
​
Quick time events also make an appearance to bring out the horror aspects with parts of environmental storytelling, as the monster that appears from behind the locked door explains why the bandits were camping where they were. This also introduces the next stage filled with poisonous gas that the player needs to get through with the newly introduced gas mask.
​
The gas mask has limited filters but are abundantly spread out in loot rooms to balance fairness and suspense. This part is more exploratory as a cooldown from combat, with slight parkour elements and environmental challenges to give reason for the deadly air. The next bandit encampment boldens this by having all bandits use gas masks with mushrooms spread about through the group, showcasing their reliance on the mushrooms that will eventually mutate them.
​
This room also offers an advantage point highlighted through lighting, as players can make their way through a electrical room towards a partly open door that flanks the enemy. Cover and enemies are more abundant in this area before coming to a end at the safe room, where players can rest, loot and craft as a soft ending to the map. Originally more environmental storytelling would be shown where the original owner starved to death in the room due to the bandits, and his mutated body would be another quick time event, but this was scrapped due to technical issues and poor documentation within the SDK.
Annotations
Beatmap


Rewards

Combat

Loot

Challenges

Critical Pathing

Optional Pathing

Pacing

Environmental Design

MRT

Showcase Gif

Background research
Background research done for this was analysing previous metro levels from each instalment. Khan’s level is controversial within the community because the level uniquely puts emphasis on the visuals and character development of the new companion introduced rather then the generic explore-to-combat the loop uses. This level was used to set the art direction and visual storytelling.
​
Facility leans more into having multiple routes for the player to use for both combat and stealth engagements with side loot and resources that appropriately helps them in the next situation, which was used as the main gameplay reference.
​
Yamantau is a complete change of pace, featuring an explosive on the rails shooter that ditches stealth and exploration, instead focusing on engaging combat beats and use of new weaponry to complement the major plot twist within the story. This serves as the main combat encounter reference
Khan (Ghosts)
Yamantau
Facility
.jpg)


Patching Exodus SDK
The Exodus SDK required some unofficial patching to get working on systems outside of 4A’s internal setup. When creating a mod, most content is missing until the main content folder from the game is copied into the mod folder which then grants access to meshes, audio and scripts needed to create the level. This stage still baffels most in the modding community with other fixes being to use 3rd party software to extract OBJ’s and textures, similar to that of rockstar’s games.

Development
Development of Waste removal was particularly bumpy in the beginning as the engine was yet to be patched so many meshes and scripts were missing. This stage consisted of greyboxing and testing the scale of the map early on to improve my pacing skills. Once the initial layout was done, textures were then slowly added over time to walls, ceilings and the floors with proper tiling settings to avoid abrupt cutoffs or Z-fighting.
​
Minor props were then added such as crates, barrels, pebbles, pipes, cobwebs, corpses etc. Mechanics were also added in at this point to test if any needed fixing/adjusting to make the level more fun to play. Loot was done last in the meshing pass, with open weapon boxes, tables and secret hidden corners of the level offering loot as rewards for attentive players.
​
Lighting was done in one pass, having candles, lightbulbs and lanterns scattered about the map to make use of Exodus SDK’s optimised and immersive global illumination. Colours were also used in variety such as warmer coolers in hallways and more artificial blues and whites for larger rooms to give a sense of grandiose scale. Doors also had their availability lighting added with green exit signs showing open, flickering meaning it needs additional context such as unlocking from the other side or a puzzle and off meaning closed.
​
More complicated mechanics were left later as familiarity of the engine was gathered. Quick time events, gas triggers, crawl spaces, acid damage, events, AI navmeshing and behaviour programming were all done through colliders in the editor viewport section and in the details of panels of select classes like generators. Navmeshing in particular was done by hand rather than engine like UE5 automatically generating this. The navmesh was done in tri’s with additional cubes such as AI obstacles and cover being added to bring the AI more in line with the final release of Exodus.
​
​Some elements of the level did get adjusted to get around technical restraints such as the original crafting system before enemy encounters being scrapped due to the table being broken within the SDK and not documentation to boot. Other smaller aspects such as door sounds and the final quick time event were also dropped as the event that unlocked the first puzzle door then bizarrely impacted future doors.
​
Overall the setup of a new level in a new engine from scratch taught me a lot about implementing more technical and finicky systems, as well as polishing up on my skillset and workflow whilst getting past recurring issues like scale



Quirks with Exodus SDK
Quirks within the engine include the outdated viewport, that relies on swapping between various modes and styles to access certain elements such as the navigation mode that handles all AI navmeshing and behaviour.
​
Bugs still are rampant within the editor such as how scaling the UI can break the editor which resorts to deleting config files to make operational again. VS code is archaic to more modern implementations with limited guides on how to implement into mods.
​
Setting up the character has also broken down overtime as weapons can no longer be added on mission start which required multiple modders add weapons in front of the player spawn with heavy lighting. This was also done for Waste Removal twice in the introduction to make sure players don’t softlock themselves. This same elements also goes for granting loot from shut chests.
​
Ai itself also appears to ignore cover and obstacle, leading to enemies phasing through props and walls, but this part is more likely a user error rather than the engine.
​
Lastly, the engine relies on an old model viewer that makes meshing more inefficient compared to the regular content drawer standard.
Editor Viewport
.jpg)
Some features within the editor do work nicely and should influence future engines in the industry such as how scaling props grants a unique 3x3 grid for scaling either uniformly or by a certain corner, instead of using a traditional gizmo which makes for quicker blocking out with cubes.
​
Triggers also more powerful as colliders have preset behaviours that were used to quickly setup areas of gas and acidic damage. Other classes such as hiding layers of meshes for iteration and environmental classes that control sound reverb also help to speed up production and offer more finer control over the map.



Development Gif

Final Renders
Final renders were also taken of the completed level and presented in a style similar to that of THE FINALS by embark studios, who use a nice simplistic detail bar throughout their promotional materials, which may become a new staple for renders. The official Metro font was also used to keep the game's style and be more in line with whats expected as official developers showcasing work.



















LDD
What was shown on this page is only a brief summary, with the official LDD explaining in more detail the design rational, quirks, technical limitation, development changes and having a larger of WIP images throughout development.
















































































Gameplay Footage
Technical Breakdown
Skills Learnt
-
Refined exploration of new engines outside of Unreal
-
Learnt a new engine alongside creating a custom map within 4 weeks
-
Improving designs by taking direct influence from research and thinking about other aspects of the level such as mechanics working together and visual storytelling
-
Tackled issues within my skillset such as inproper scale and Z-fighting
Skills Used
-
Exodus SDK
-
Photoshop
-
Usage of internal documentation