Madison proves that first-person horror doesn't need a AAA engine. Its oppressive atmosphere relies on claustrophobic lighting combined with the instant camera effect, a resource that turns every shot into a narrative event. The team achieved this result by integrating three key tools: Blender for high-polygon modeling, Substance Painter for materials with realistic wear, and Unity for the final assembly. We analyze the technical pipeline behind this interactive nightmare. 🎮
Technical pipeline: modeling, texturing, and assembly in Unity 🛠️
The process begins in Blender, where objects are modeled with a polygon density designed for dynamic lighting. Each surface must support projected shadows without artifacts. Then, in Substance Painter, textures are applied with roughness and metalness channels that simulate dirt, moisture, and wear. The trick lies in UV mapping: the textures must align with Unity's volumetric lighting. For the instant camera effect, the developers used a script that activates a point light flash and a vignette texture for a single frame. The key is to synchronize the shot with Unity's event system to avoid performance spikes. Detailed materials, such as rotten wood or dried blood, are optimized with texture atlases and LODs generated from Blender.
Tips for indies: lighting and first-person horror 💡
To replicate the feeling of Madison without cutting-edge hardware, prioritize baked lighting in Unity. Use point lights with a short range to create dense shadow zones. The instant camera effect should be subtle: a 0.2-second bloom and a shutter sound are enough. Don't overuse post-processing; horror comes from the texture of the materials, not generic filters. Finally, test the game in low ambient lighting conditions to adjust the contrast. Fear lies in what is barely seen.
What specific dynamic lighting and post-processing techniques in Unity allow replicating the feeling of claustrophobia and the instant camera of Madison without relying on AAA engines?
(PS: game jams are like weddings: everyone is happy, no one sleeps, and you end up crying)