Environment/Level Designer Tatiana Ivanova shared an insightful breakdown explaining how she remade The Slipgate Complex from Quake 1 using Blender, C4D, Substance 3D Painter, and UE5.
Why a Quake 1 Fan Project?
I've loved the original Quake since school computer classes – back when Warcraft II, Diablo, Doom, and Quake were installed on every lab PC – and nothing beats Quake over LAN. The universes of Quake 2 and Quake 4 never resonated with me the way the fantastical, gothic tone of Quake 1 did. I wanted to show what that first game might look like in 2024. This is a non-commercial fan project where I sharpened my skills, learned new techniques, and repeatedly enjoyed Quake Enhanced.
Blockout First: E1M1, Focused Scope
I started by blocking out E1M1: The Slipgate Complex. The map is too large to fully remake from scratch, so I built four locations that cover the most visually compelling parts of the original. I started with Unreal Engine 5.0.3 since it was the most up-to-date version when I was just starting out and learning the engine. The goal of blockout was to establish scale, composition, and player routes using simple primitives – cubes, planes, cylinders – placed with Grid Snapping for precise alignment.
I laid down major structures first (floors, walls, openings), then auxiliary objects to mark points of interest. I constantly validated the scale from the player's perspective to ensure comfortable navigation and future gameplay space. For primitives, I used auto or simple collision to enable early playtesting. Materials and micro-detail were intentionally deferred because blockout's job is to make the level's structure and logic visible quickly, then replace primitives with final assets.
Lightweight Gameplay via Blueprints
In UE 5.0.3, I prototyped gameplay in Blueprints, visual-scripting the logic without code. I identified the mechanic to build, created the relevant Blueprint Actor or Character, added components, configured variables and events, and connected behavior through nodes. Each mechanic went through in-editor playtesting and iterative tuning until it behaved as intended.
Moodboard and Direction
I assembled a moodboard capturing the vibe, style, and tone I wanted for each location – environment, object, lighting, and palette references. You'll spot Doom 3, Silent Hill, Resident Evil, BioShock, Half-Life 2, and a few film frames, including the molten-steel foundry scene from Terminator 2.
Environment Production and Asset Strategy
I combined Quixel Megascans with custom assets authored in Cinema 4D, Blender, and Substance 3D Painter, then exported them to UE5 and tailored them to project needs. Achieving the visual kinship with Quake (1996) required a fair amount of unique environmental elements. For each model, I assigned materials, applied textures, and created new shaders when necessary to hit the target style.
After placing major objects, I pushed secondary detail – decals, dust, grime, rust – to make the world feel inhabited. In parallel, I stayed disciplined about performance: Nanite for high-poly meshes, authored LODs, and set clean collision so the scene remained efficient without sacrificing fidelity.
I also optimized textures, especially Roughness, Normal Maps, Base Color, AO, and Metallic. Depending on asset importance, I reduced resolution (e.g., 4K→2K or 2K→1K) to lower memory and bandwidth costs while preserving the required detail.
Turning an Existing Material into a Paintable Surface
I extended an existing material to support in-engine painting with a brush for hands-on surface control.
- Added extra masks and texture channels to mix multiple layers. The masks are paintable with the UE brush, revealing the right layer where needed.
- Expanded roughness control with a Min/Max Roughness Mask for local gloss variation - matte here, glossier there.
- Introduced additional normal textures and blending to hand-author dents and surface irregularities.
- Exposed parameters like Mask Strength and Roughness Constant for quick, art-friendly adjustments.
Outcome: a formerly static material became interactive – I can add dirt, scratches, and stains, and locally vary gloss and normals directly in UE5, without round-tripping to external texturing software.
Lighting, Atmosphere, and Niagara VFX
I set up lighting, tuned shadows, and built atmosphere with a combination of fog and post-processing. A skybox-style red sky sells the feeling of a base on a planetoid's surface. The Post Process stack controls color grading, contrast, exposure, saturation, and specular behavior to push a cinematic look. For depth, I used both Exponential Height Fog and local Volumetric Fog, managing density and color per zone.
For visual expressiveness, I added Niagara effects: smoke above lava, splashes, and incandescent particles ejected where lava touches surfaces. I also implemented a randomized flicker used in torches and bulbs to suggest unstable power (horror-style) or a pulsing heat source.
The flicker is a material-driven effect: a Time node sets the cycle, Noise introduces randomness, and parameters control speed, threshold, and brightness. With Step and Lerp, I shape transitions between min/max intensity, and Clamp limits the range. Driving Emissive Color produces a pulsing, slightly unpredictable light that reads naturally in motion.
Upgrading to UE 5.5 and Adopting MegaLights
I began in UE 5.0.3 and migrated fully to UE 5.5 to leverage the new MegaLights system. It enables scenes with very high light counts without major performance drops, optimizing shadow and light evaluation, removing earlier multi-light limits, and stabilizing FPS in complex environments. That headroom let me push richer light/shadow interplay across the locations without overloading the scene.
Sequencing, Rendering, and Final Polish
I assembled camera fly-throughs and rendered in Movie Render Queue at 4K, with warm-up and targeted CVars (e.g., Volumetric Fog, high ScreenPercentage). For offline rendering, I disabled texture streaming, locked LOD0, disabled HLOD, enabled high-quality shadows, and extended render distance.
One pitfall: with Temporal/Spatial Samples > 1, Niagara simulations run faster due to sub-frame stepping. Setting both sample counts to 1 restored the correct simulation speed. When needed, I render to EXR and downscale in comp, and I use Niagara Sim Cache to guarantee maximum quality without artifacts.
P.S.: I really hope you find this material useful! If you have any questions or suggestions, I'd love to hear them! You can always find me on LinkedIn.
P.P.S.:It is not the intention of this project to generate financial profit for its creator. "Quake" is a registered trademark owned by ZeniMax Media Inc. id Software LLC were the original developers of the 1996 Quake game. GT Interactive Software was the original publisher of Quake (1996). Bethesda Softworks (under ZeniMax/Microsoft) is the current publisher of the Quake series.