DRAWDOWN
The steeple of a drowned chapel rising out of a fog-covered reservoir at night, dead trees on either side

Carrow Reservoir · October 1998

Carrow Reservoir is being drained for dam repairs. For the first time in forty-one years, the steeple of the drowned village of Old Carrow has broken the surface. A week later, the town of Carrow Bridge stopped answering its phones.

A survival horror game by Cheuk “Jolly”

Engine
Unity 6
Platform
Windows PC
Length
30–45 min
Areas
4
Endings
2
Year
2026

The game

A lost late-’90s console horror game, made new

DRAWDOWN is a third-person survival horror game in the style of the PlayStation era: low-poly people in low-resolution fog, a flashlight on your chest, scarce bullets and long silences.

You play Elias Ward, a state dam-safety inspector sent to sign off the drawdown after the inspection team stopped reporting. His late father was the engineer on the dam in 1957. His brother Owen works at the waterworks. On the bridge into town, a figure steps into his headlights, and the car leaves the road. He walks in.

The story is told through 24 documents, radio broadcasts from the local night DJ, three survivors and the places themselves. It ends one of two ways, depending on what you find.

Harold’s Letter (2)

June 1971

There were thirty-one of them in St. Ione’s with Reverend Sayer. They had been told for two years. They chained the doors from the inside.

I went down in the rowboat on the last night. I could hear them singing through the doors. I did not knock. Then the water was too high to row.

— H.

One of the documents you find in the game

Carrow Bridge · Main StreetOver the shoulder
  • The HollowedTownspeople remade by the silt. Slow and persistent. Some lie dormant until you come close.
  • The MudlarkA fast ambusher that hides under beds and in water, strikes, then retreats.
  • The ChoristerBlind, and hears everything. Walk past it. Never run.
  • The ChoirWhat the drowned congregation became. The final fight, under the chapel.

Four connected areas

Carrow Bridge, Carrow Valley Clinic, the dam waterworks and the drained lake bed of Old Carrow. Locked doors, keys, shortcuts and backtracking.

Puzzles

A keypad lockbox, X-ray films on a lightbox, a three-valve sluice and four hand-bells hung in a chapel nave.

Survival

Eight inventory slots, items you turn over to find hidden details, combining, and saves only at cassette recorders in safe rooms.

Weight

Pistol, pump shotgun, bolt-action rifle and pipe wrench. Recoil, sway, hit zones and gunfire that draws things toward you.

Two ways to play

The same moment, through two different cameras

Both pictures below are the same second of play: Elias at the diner door with his pistol up as a Hollowed comes along the boardwalk.

A high fixed camera across the street from The Lantern Diner. Elias aims from the door at a Hollowed on the boardwalk, a faint red laser between them.

Classic

Fixed cameras, like the late-’90s originals

Camera
Set angles placed in every room and every 10 m outdoors. The view cuts as you move.
Moving
Up walks toward the top of the screen.
Aiming
Locks on to the nearest threat. A laser sight shows the line.
Over Elias’s shoulder, aiming his pistol down the lit diner boardwalk at an approaching Hollowed

Modern

A free camera over Elias’s shoulder

Camera
Behind you, turned with the mouse or right stick.
Moving
Goes where the camera faces. You can walk while aiming.
Aiming
Free aim with a crosshair. Head shots are up to you.

New Game asks which one you want, with these two pictures on the cards. You can switch at any moment while playing, with one key.

Four looks

One scene, from a 32-bit console to a clean picture

The game draws a small picture and scales it up, with the faults of old hardware rebuilt on purpose: polygons that snap to a coarse grid, textures that swim, 15-bit colour and a curved CRT. The display options set how much of that you get. Drag across the picture to compare a look with the clean version.

The Lantern Diner at night with Elias aiming at a Hollowed, in the selected look
240p · 32-bit era 720p · clean

Left of the line: the selected look. Right of the line: 720p with every effect off.

Darkness

Some rooms give you almost nothing to see

Dobbs Hardware, on Main Street. The fluorescent tube over the aisles is dying. When it flickers on, you get the shelves for a moment. When it goes dark, the flashlight is all you have, and it finds what is standing at the end of the aisle.

The tube flickers onOver the shoulder
The tube goes darkOver the shoulder

Screenshots taken by Jolly while playing, with the interface on.

Footage

Four places, all of them captured in the game

Every picture on this page is a frame from the game, with the interface hidden. Select one to see it larger.

Damage

Every shot leaves a mark, and the marks stay

Bullets leave holes where they actually hit, and the rifle tears out an exit wound. Up close the shotgun takes the head off, or blows off an arm or a leg; a Hollowed that loses a leg keeps coming, crawling. Bodies stay where and how they fell when you come back.

Contains blood.

Where it hitPistol
Up closeShotgun
What staysRifle

Interface

Typewritten, like the case files it is built around

New GameStyle and difficulty
InventoryEight slots
Documents24 to find

Making of

Built from code, every model and every sound

Jolly designed and directed DRAWDOWN and play-tested every build. The code and the tools that generate its art and audio were assisted with Claude, an AI coding assistant, all final code were written, checked and verified by me.

There are no bought or downloaded assets apart from the gunshot recordings. Every person, creature, room, texture, animation, sound and piece of music comes out of the project’s own Python pipeline.

  1. GeneratePython scripts (numpy, SciPy, Pillow) build the models, paint their textures, write the animations and synthesise the audio, in the game’s own file formats.
  2. AssembleUnity 6 loads those files and builds each area from code as it loads. There are no hand-placed scenes.
  3. RenderA custom renderer draws a small picture with snapping vertices and warping textures, then dithers it and passes it through a CRT filter.
  4. TestBefore each build, an automated run tours every area, looks for holes in the world and broken screens, and saves screenshots for review.
  5. Play and fixJolly plays the build and notes what feels wrong, like a stiff free arm on the run or a flat-sounding gunshot. The next round fixes it.

Production sheet

EngineUnity 6 (6000.0 LTS), C#
Game codeAbout 21,500 lines in 65 scripts
Asset pipelineAbout 10,000 lines of Python
Models161
Textures141
Sound files215
Animation sets5 (44 clips for Elias alone)
Custom shaders6
Display modes240p, 360p, 480p, 720p
TestingAutomated in-game tour before every build
DevelopmentAI-assisted (Claude)
Ten frames of Elias jogging with a pistol, from the side and the front, drawn by the pipeline's preview tool
Pipeline previewElias’s jog with the pistol, written as curves in Python. The free arm swings bent instead of hanging straight.