Home/Blog /Collection

The Blue Ridge Horror Trilogy*: four horror games, each forked from the last

I always wanted to make horror games. In thirteen days I made four, set at night in the mountains of western North Carolina, each one a fork of the game before it. How they were built, what broke, and the desktop version with volumetric fog.

I've always wanted to make horror games. Not just play them: make them. The cabin with the wrong record in the closet, the summer camp on its last night, the thing in the tree line that only moves when you look away. For most of my life that wanted a team, a budget and a few years I didn't have. Over thirteen days this autumn I made four of them in vbgnt, and they're out now as one collection: the Blue Ridge Horror Trilogy*.

This post is about how they were made. Each game is a fork of the one before it. One of them is the same night as another with the hero swapped and a different ending. And one got a second life as a desktop game with volumetric fog. I went back through the production logs for all five projects, every message I sent and every reply the agent wrote, to get the details right, including the parts that went badly.

The collection's launch short from its Promote campaign: one beat per game, all real gameplay, with a VHS tape look over the opening. Sound on.

What is the Blue Ridge Horror Trilogy*?

Four first-person 3D horror games set at night in the Blue Ridge Mountains of western North Carolina: a ridge trail above Cashiers, a log cabin, and a summer camp by a lake. They have an 80s B-movie streak, they're rated Mature, and they all run in the browser with keyboard and mouse, a gamepad or touch. Three are single-player. One is co-op for up to four.

A flashlight beam cutting through a dark forest of hemlocks, a huge shape with glowing eyes among the trees and a teal glow on a lake far below
Cashiers After Dark: survival horror on a mountain trail, with a five-level flashlight.
A painted log cabin in a storm at night, lightning over the mountains, warm windows and a figure standing in one of them
Dead Cabin: campy melee horror in one cabin, on one very long night.
A woman with a muddy shovel on her shoulder in the rain, the same cabin behind her with a man's silhouette in the lit window
Dead Cabin: Final Girl: the same night, played as Linda.
Four camp counsellors silhouetted under a summer camp's entrance arch at sunset, string lights over the lake and a shape with glowing eyes above the trees
Fear Valley: an 80s summer-camp slasher, co-op for one to four players.
The key art from each game's marketing kit. Every image links to the game's page, where you can play it.

How did one horror game turn into four?

By forking. A fork in vbgnt is a copy of the whole project: code, levels, models, textures, voices, music. It gets its own name and page, and the original is never touched. You then tell the agent what the fork should become, and it reworks the copy from there. The point is that nothing gets thrown away. Every creature, texture and fixed bug in the first game is a starting point for the next.

GameStartedForked fromWhat the fork changed
Cashiers After Dark24 SeptemberNothing, a new gameThe original: an open mountain, five set pieces, six cryptids
Dead Cabin25 September, 00:26Cashiers After DarkThe whole game moves into one cabin and becomes a chain of melee encounters
Fear Valley25 September, middayDead CabinA summer camp, online co-op, and the cabin's characters as playable counsellors
Dead Cabin: Final Girl29 SeptemberDead CabinThe hero and the victim swap places, and the ending changes
Cashiers After Dark Pro4 OctoberCashiers After DarkA newer engine and the desktop renderer, with the gameplay left as it was

Cashiers After Dark

The first prompt was long. You're an amateur Sasquatch hunter who paid a local guide to take you up a ridge near Cashiers, North Carolina. A calm scene at a campfire, a wood knock, the fire gutters, and the guide is dragged screaming into the dark. Then a five-level flashlight is the whole game: a dim red light creatures can't see, up to a beam that floods the woods and tells everything out there where you are.

After that came about fifty notes over the next two weeks, most of them one line long. My favourite: the guide got a Southern mountain accent, and then I had to send "the locals pronounce it as cashers where the i is silent". The agent re-recorded the line with the town spelled "Cashers" in the guide's script, so the voice couldn't read it as "cashier", while the subtitle kept the real spelling. Then it ran the new take through speech recognition, got back "KASH-erz", and told me not to trust that, because the same check had passed the old recording too. Fair. The collection's promo campaign doesn't say the town's name out loud at all.

First-person view on a forest trail, the flashlight on its brightest setting lighting rhododendrons and a tree trunk, the heat meter rising in the HUD
Light 5 on the ridge trail. It overheats in seconds.
A moonshine still under a wooden shelter at night, barrels and jars lit by a lantern
The still house in the hollow. Something roosts there.

Dead Cabin

Five hours after the first prompt, a little after midnight, I forked it. The brief for Dead Cabin came in three parts, sent one after the other, and it opened with "Evil Dead 2 meets House", the 1977 Japanese one. Keep the terrain, the lighting and fog, the first-person controls, the HUD, the fonts and the audio. Reuse every model that fits: the sofa, the TV, the shotgun, the guide, the creatures. Then throw away the open mountain and put the entire game in one cabin, its yard and a tool shack, as a chain of encounters, with a corruption level that rises after each one and makes the walls breathe.

One rule I repeated in every part: the cabin itself is built from code geometry, walls and floors and stairs out of boxes and the existing log and plank textures, never from a generated 3D model. Props like the sofa and the TV could be models; the building couldn't. You play Dash, who just wanted a quiet weekend with Linda. Then Linda put the old record on.

Inside a log cabin by a stone fireplace, Linda standing by the record player while a subtitle quotes the recording
The record. Every encounter after this one leaves a mark on the cabin.
A red-lit cabin room, a possessed figure staggering under the flashlight, the words HEAVY BLOW, HOLD LMB across the screen
Shove, stagger, then a heavy blow with the shovel.

Fear Valley

The same day I forked Dead Cabin again, this time into an 80s summer-camp slasher: Friday the 13th and Sleepaway Camp, warm VHS grain, a sunset that fades into a night lit by string lights. It came as a three-turn brief again, and this is where forking really paid off. The playable counsellors are Linda and the three NYU hikers from Dead Cabin, with their models, voices and personalities. The monster in each match is picked from the creatures of both earlier games, so the Sasquatch from the ridge and Dead Cabin's grandma in the cellar can turn up at camp.

It's co-op for one to four players. Host an online room, share its code, and AI counsellors fill any empty seat, with proximity voice chat that the monster can hear. You get the generators running and the lights back on. Then it's your turn to hunt.

Four counsellors around a campfire under string lights, one playing guitar, a subtitle line from Linda at the bottom
The intro at the campfire, before the lights blow out.
Armed counsellors running across a dark camp toward a monster, a boss health bar at the top and THE HUNTER IS THE HUNTED on screen
Lights on, armory open, and the hunter is the hunted.

What is Dead Cabin: Final Girl?

The lost cut. Four days after Dead Cabin, I forked it again with a two-line brief: swap Linda and Dash, so Linda is the main character and Dash is the one who gets possessed, beheaded and buried, and make her as quippy and tough as he was. The agent rewrote every line around the swap. Linda picks up the shovel with "Alright, handsome. Let's dance." After the grave is filled: "I'm sorry, babe. I'm so sorry. ...We are never renting a cabin again."

Dash needed a full 3D body for the first time, since in the original you are Dash and never see him. The cover changed too: I asked for a man's silhouette in the cabin window behind her, so the box art tells you who the monster is this time.

A dark bedroom doorway lit by a flashlight, Dash's silhouette against green wallpaper
Dash is calling you from the bedroom. Open the door.
A possessed Dash in a flannel shirt lunging in a red-lit shack, a shovel raised in the foreground and Linda's line as a subtitle
"Alright, handsome. Let's dance."

The real difference is the ending, but you will need to play them both to find out!

A trailer title card: THE LOST CUT, in red, over the line: A different ending. The one they didn't want you to see.
A card from Final Girl's trailer, made by its marketing kit.

How do forks keep up with each other?

They don't, unless you ask. A fork is a copy, so from the moment it's made the two games drift apart. After Final Girl split off, Dead Cabin kept getting better: I rebuilt its fourth encounter so the cabin itself gets torn open, which touched the cabin, the monster, the sky and the scripts for the rest of the night.

So while making that change in Dead Cabin, I asked the agent to comment the code for the fork. It tagged every piece of the change with [TORN CABIN], so one search finds all of it, and put a "FORK NOTE" at the top of each affected script explaining what changed and why. Then in Final Girl I sent: "this project was a fork of dead cabin but we have made a ton of improvements to the original, can you get this one up to speed with those changes, there is FORK NOTE in that project". The agent read the original, carried the change across, rewrote the new lines for Linda and recorded them in her voice, and kept Final Girl's own fixes wherever both games had fixed the same problem differently.

The other way to share between forks is the composer's game references. Final Girl's last monster of the night came out badly ("grandma and a bunch of black pills", in my notes), so I typed @dead-cabin into the message and asked for the original's version instead. The agent copied it over, kept Final Girl's voice lines, and changed one detail so it made sense in a game where Linda survives.

What went wrong?

Mostly animation and rigging. The characters are generated, rigged 3D models, and each one comes with its own skeleton. When one character borrows another's animation (Dash sitting on the couch with Linda's sit, a hiker crouching with someone else's crouch), the movement has to be converted to fit the borrower's joints. At first it was copied across raw.

In Fear Valley that bent everyone out of shape. My note after the first turn was "crouching and operating the generators have super contorted the meshes, it's wild". The agent's diagnosis matched: each counsellor's skeleton is built differently, and borrowed animations were being applied joint for joint. It rewrote the sharing so every borrowed clip is converted to fit each character's own skeleton. Crouching, repairing, running and getting hit came out natural on all four counsellors, and the creatures got the same fix.

Four days later the same bug showed up in Final Girl, on Dash. That's the fork problem from the other side: Final Girl came from Dead Cabin, not from Fear Valley, so the fix never reached it. Same diagnosis, same fix, one turn, and this time the conversion runs while you're on the title screen so the first scene with a character doesn't stutter.

The rest of the list, from the logs:

  • Sitting. The guide sat about 40 cm behind his log, squatting on nothing; the game now measures his hips once the pose loads and moves him onto it. The counsellors at Fear Valley's campfire sat inside their logs, twice. Linda got stuck in the couch, twice.
  • Lying down. Hikers floated above the floor when they lay down to transform. In Fear Valley a counsellor the monster caught was dragged along the dirt instead of carried, and hung on the ground near the hook instead of from it, because both used an animation that ends with the body lying flat.
  • Ragdolls. Dash's limp body built up energy as his arms and legs hit the ground and got flung out of sight into the sky, so you couldn't bury him. His severed head was only the front of a face, hollow behind.
  • Idles. Linda's idle took four rounds: the stock one, two motion-captured clips (a sway to the record and an uneasy stand), then my "just make her stand up straight with her arms at her side". After that she was still facing away from Dash with her hands inside her thighs.
  • Everything else. The flashlight was held backwards, in two different games. Furniture faced the wrong way in the lake house. The flashlight drew stripes across walls and floors, which took several rounds to clear.

The agent can't hear, either. After it recorded 28 missing voice lines for Final Girl, it ran them back through speech-to-text: 26 came back word for word, and it named the two I should listen to. That's the right instinct, and it's still not the same as a person with headphones on.

What does Cashiers After Dark Pro add?

On 4 October I forked Cashiers After Dark one more time, with our new Pro mode ticked. One message: move it from Godot 4.4 to 4.8, switch to the desktop renderer, upgrade the graphics, make it console ready, keep the gameplay the same. It ended with "volumetric fog and advanced lighting would probably be rad in this game". It took one turn of a little under two hours. Every script loaded on the new engine without a fix.

The fog is the headline. The flashlight now cuts a real beam through the mountain air, firelight and moonlight scatter in it, mist lies in the creek hollow, woodsmoke hangs over the camp, and a glowing haze sits over the lake. Light from the flashlight and the fires bounces off the trees, the rocks and the cabin walls. Water reflects, the moonlight comes through the canopy in shafts, and the campfire throws embers with short trails.

A burning golf cart at night on a country club lawn, browser renderer: the flames against near-total black. The same burning golf cart on the desktop renderer: smoke rising through volumetric fog, a lit streetlamp and a misty treeline. Browser preview Desktop build
The burning golf cart at the country club, the same build drawn by each renderer. Drag to compare. In the browser it's flames and black; on desktop the fog catches the fire and the streetlamp, and the tree line comes out of the mist.
A pond at night reflecting the country club's lit windows and the trees, a golf cart burning on the lawn to the right
The club pond reflecting the clubhouse windows.
A dock running out into a dark lake under mountains, a pontoon boat at its end and mist glowing over the water
The lake house dock, with mist glowing over the water.
Two shots from the Pro marketing kit, rendered by the desktop renderer at 1920x1080.

It has a graphics quality setting too: Medium turns on the volumetric fog, High adds the bounce lighting and the light shafts, and Ultra adds the softest shadows. Console ready means every screen works with a controller alone, the HUD sits inside the TV-safe part of the screen, and the game pauses if the controller disconnects.

Two honest caveats. The agent judged all of this on a software renderer in its cloud machine, so it had never seen the result on a real graphics card. And in the kit's screenshots the creatures never show clearly: at night, with this much fog, they were too dark or out of frame. The Cashiers After Dark Pro page has the desktop download. Its Play button runs the lighter browser version, which looks like the original, so the collection keeps the original in its lineup.

How were the trailers and shorts made?

Every game got a Marketing kit: a trailer, store screenshots, key art and a game page. The collection got its own page at games.vbgnt.com/c/awalkingcitygames/blue-ridge-horror-trilogy, where you pick a game, watch its trailer and play it in place. Then I ran a Promote campaign for the whole collection: four days, five shorts, a montage to launch and one spotlight per game.

The four spotlights. Each opens on three seconds animated from the game's own key art with a VHS tape look, then cuts to real gameplay from the game's trailer.

Where should you start?

If you have one evening, play Dead Cabin first, then Dead Cabin: Final Girl to see the same night from Linda's side. Cashiers After Dark is the slow, quiet one: headphones on, lights off. Fear Valley is the one to bring friends to. In the single-player games, dying sends you back to the last checkpoint rather than the start of the night, and every chapter you reach unlocks in chapter select.

For thirteen days I got to be the director I always wanted to be: I described a scene, played it, and sent back notes about the flashlight facing the wrong way. The scares are mine. The tool doing the heavy lifting was vbgnt. If there's a horror game you've been carrying around in your head for years, this is the cheapest it has ever been to find out whether it's any good.

Frequently asked questions

What is the Blue Ridge Horror Trilogy*?

A collection of four first-person 3D horror games made in vbgnt and set at night in the Blue Ridge Mountains of western North Carolina: Cashiers After Dark, Dead Cabin, Dead Cabin: Final Girl and Fear Valley. They run in the browser with keyboard and mouse, a gamepad or touch, and are rated Mature.

Why is it a trilogy of four?

Because Dead Cabin: Final Girl is the lost cut of Dead Cabin rather than a new story. It is the same cabin on the same night, played as Linda instead of Dash, with a different ending.

What does forking a game mean in vbgnt?

A fork is a full copy of a game's project, with its code, levels, models, textures, voices and music, under a new name and page. You then tell the agent what the fork should become. The original game is never changed, so you can take one game in several directions.

Can AI make a 3D horror game?

Yes, with a person directing it. These four were built by vbgnt's agent from written briefs and about a hundred follow-up notes over thirteen days. The agent writes the code, generates the characters, voices and music, and tests each build, but someone still has to play it and say what is not scary, not fair or facing the wrong way.

Which game should I play first?

With one evening, play Dead Cabin and then Dead Cabin: Final Girl to see the same night from both sides. Cashiers After Dark is the slow, quiet one, best with headphones in the dark. Fear Valley is co-op for up to four players, with AI counsellors filling any empty seats.

What is Cashiers After Dark Pro?

A fork of Cashiers After Dark made with vbgnt's Pro mode. It runs on Godot 4.8 with the desktop renderer, adding volumetric fog, bounce lighting, reflections and a graphics quality setting, and it is fully playable with a controller. Its game page has the desktop download; the browser version looks like the original.

Keep reading

Related articles

Feature

Pro mode: desktop games with Godot's full graphics

Tick Pro and the studio builds your game for Windows, macOS and Linux on Godot's desktop renderer: real-time global illumination, volumetric fog, reflections. The browser version stays as the preview you test with.

8 min read
Feature

Promote: short videos, Reddit posts and a posting schedule for your game

Say what the campaign is about and how long it runs, and the agent cuts vertical shorts from your real gameplay, writes every post, checks which subreddits will let you post, and lays it out day by day. Four games, four campaigns, and what it refuses to fake.

10 min read
Feature

Screenshots, store art and listing copy in one pass: the marketing kit

Tick the stores you want and the agent plays your game, captures real screenshots at every size they demand, composes the icons, capsules and feature graphics, and writes the listings within their limits. Browse the kit in the studio, download it as one zip, or publish the game's own page from it.

12 min read