Skip to content
ReadySpawn

How to Make a PSX-Style Horror Game

By Imersa Studios · Updated

The PSX look comes from hardware limits: low poly models, small textures with no filtering, vertices that snap to whole pixels (the wobble), textures that warp because they aren't perspective-corrected, a low render resolution and heavy fog. Recreate those limits and keep the game short.

1. Models and textures

  • Low triangle counts: a few hundred triangles for a prop or weapon is plenty. Our PSX weapon packs sit between 12 and 432 triangles per model.
  • Small textures: 32 to 128 px, few colours. Set the import Filter Mode to Point (no filter), turn off mipmaps and compression in Unity, or use texture_filter = nearest in Godot.
  • Real-world scale: wrong scale is the fastest way to break immersion in first person.

2. Wobble and warp in the shader

The PS1 had no sub-pixel precision, so vertices jump between whole pixels as the camera moves. Snap clip-space positions to a low-resolution grid in the vertex shader:

// Vertex shader (URP HLSL)
float4 pos = TransformObjectToHClip(v.positionOS.xyz);
float2 grid = float2(320, 240) * 0.5;          // target resolution / 2
pos.xy = round(pos.xy / pos.w * grid) / grid * pos.w;
o.positionCS = pos;

// Affine (non perspective-correct) textures: declare the UV
// in the vertex-to-fragment struct with the noperspective modifier.
noperspective float2 uv : TEXCOORD0;

3. Resolution, colour and fog

  • Render the camera to a low-resolution RenderTexture (for example 320×240 or 480×270) with point filtering and show it full screen.
  • Reduce colour depth and add ordered dithering in a post-process for the 15-bit look.
  • Use strong distance fog: it hides the draw distance and makes every corridor end in darkness.

4. Make it scary, and finish it

Fear comes from anticipation more than from monsters. Lock the player's way forward with doors, keys and keypad codes, make resources scarce, and reveal the threat slowly: a sound, a shape at the end of the fog, then the encounter. Keep the first project short: a 30 to 60 minute game on one map is something you can finish and sell.

The Door System gives you knob doors, key locks and keypads, and the Small Town Buildings kit (free edition available) gives you a place to set it. The full method, with shader math, per-engine settings, a tension curve and an 8-week plan, is in Low Poly Dread. Browse everything for this genre in the PSX horror collection.

Questions

Who wrote this

Imersa Studios builds the Unity systems, low poly packs and field guides sold on itch.io. The code and techniques here come from shipping those products. More about the studio.