Game · Alpha

STR Simulator

An Airbnb hosting game set on the real mountains of north Georgia.

Buy a cabin, furnish it, list it, and keep your guests happy. They text you, and you text back in your own words. Their replies come from a small language model I fine-tuned, running on your computer with nothing sent online.

Play the alpha on itch.io macOS & Windows · free
An A-frame cabin on the summit of Blood Mountain, autumn forest below and hazy blue ridges to the horizon
The A-frame on Blood Mountain. The terrain is USGS elevation data, so that is the real ridge line.

Why an Airbnb game

I run three Airbnbs. Most of the job isn't the houses. It's the texts: a guest who can't find the lockbox, a broken vase, someone asking if they can bring a dog you already said no to. I wanted a game about that part, with the decorating and the money around it.

It was also an excuse to test two things at once. Could I build a 3D game on BRUTAL, the framework from the Kitten Space Agency team, without an engine? And could a small local model play a guest well enough that you'd want to text it?

The houses

Eight places so far, each on its own site. Every one is modelled with a Blender script, and every room can be walked through and refurnished.

A-frame

Blood Mountain summit

Valley-facing windows, a deck with a hot tub, and a steep gravel driveway.

The black A-frame and its deck on the summit, autumn trees and blue ridges behind itInside the A-frame: a wood stove under the tall glass gable, a red rug and a ladder to the loft

Log cabin

Laurel Ridge Rd, Blue Ridge

Wraparound porch with rocking chairs, a stone fireplace, and a ladder up to the loft. Ten minutes from town.

A log cabin with a green shingle roof and a wraparound porch in the autumn woodsThe log cabin living room: a stone fireplace with a fire going, green armchairs and a loft ladderAnother angle on the log cabin living room, with a bookshelf, a sofa and the loft ladder

Beach house

Shore Road

On stilts behind the dunes, with a glass corner looking out to sea and a boardwalk down to the beach. Blue Ridge doesn't have an ocean. I gave it one.

A beach house on stilts with a glass corner and a wraparound deck, the beach and a headland behind itLooking out from the beach house deck over the dunes to the sea at sunriseThe beach house bedroom: white board walls, a navy bedspread and a landscape painting

Mid-century

A neighbourhood street in Blue Ridge

A long flat roof, big windows, a record player and an open-plan kitchen.

A low mid-century house with a long flat roof and a glass block wall, set back from a streetThe mid-century living room: wood paneling, a wall of windows, a teal sofa and a record playerThe mid-century fireplace, a mustard armchair and a TV on a wooden console

Modern tiny house

The woods outside Blue Ridge

A black cabin with a glass gable, sliding doors onto the deck, a wood stove, and a sleeping loft under skylights.

A small black cabin with a glass gable among orange and red autumn treesThe tiny house at dusk with its windows lit, chairs on the deck and a picnic tableInside the tiny house: a wood stove, a desk with a laptop and a ladder to the loftThe tiny house kitchen with subway tile, open shelves and a door to the bathroomThe tiny house bathroom: dark tile, a glass shower and a vessel sink

River cabin

The Toccoa River

One room and a bath, a rusty tin roof, and a porch bench looking down at the river.

A small log cabin with a tin roof and a porch, surrounded by autumn treesInside the river cabin: a quilted bed, a plaid armchair and a small kitchenThe river cabin room from the door, with the bed, kitchenette, fridge and armchair

Airstream

Near Blue Ridge

Tiny and cosy, with a fire pit, string lights and a striped awning. No pets.

A silver Airstream trailer with a striped awning, camp chairs, a firewood rack and a fire pit

Home

Behind the Airstream

Yours. A run-down board cabin with a sagging roof, a wood stove and an outhouse out back. You don't rent this one out.

A weathered board shack with a sagging roof and a boarded-up window in the woodsInside the shack: a metal bed, a kitchen cabinet, a wood stove with a kettle and a ladder-back chair

The rest of the game

Decorating
Decorating Every house has a catalog: seating, beds, lighting, kitchen, decor, outdoor and tech. Walk in, pick something up, put it where you want it.
The phone
The phone Mail, BlueFin for houses, SkyBnB for hosting, fBay, PJ Megan the bank, Benji’s List for pros, Ryde and the camera.
Buying houses
Buying houses BlueFin lists what’s for sale. Prices move, and the bank decides how much you can borrow from your credit score.
Listing photos
Listing photos You take the listing photos yourself. The game scores them, and better photos bring more bookings.
A real camera
A real camera Or buy a used mirrorless camera on fBay and take better ones. It has a viewfinder, settings and a shutter sound.
Listing quality
Listing quality SkyBnB on the laptop grades each listing on its details, photos and amenities, and tells you what guests want that you don’t have yet.
Calendars
Calendars Every house’s nights, prices and requests by month. Weekends and holidays cost more.
The books
The books The laptop has a spreadsheet with your net worth, income and expenses by week, loans and a ledger.
The lake
The lake Water reflects the sky and the trees. Change the time of day and the whole valley turns pink at dusk.
Guest communication

Guests that text back

Every guest, and your mom, is written by a Qwen3.5 4B model with a LoRA fine-tune fused in. It runs in the game through LLamaSharp on the CPU, about two and a half seconds a reply, and ships as one 2.7 GB file.

Stock models kept slipping into the host's role, answering their own questions or offering the player a refund. Fine-tuning on about 10,000 example conversations, written to match the prompts the game actually builds, fixed most of that. Scores below are from blind grading on held-out scenarios: an earlier 2B fine-tune against the 4B that shipped.

The in-game phone open to a booking request from a guest planning a birthday trip, with Accept and Decline buttons
Guest texts that stay in character
77% 94%
Replies that don’t make sense
15% 2%
Jailbreak attempts that worked
22% 7%

People will try to talk a guest into paying them $10,000. So nothing an NPC types changes the game. Money, refunds and reviews are decided by game code, and the model only writes the words.

Fifteen minutes instead of ten hours

My M3 Pro, MLX
~10 hours

One pass over the data. The early runs crashed the Mac, and a GPU hang partway through a long run meant resuming from a checkpoint and losing the optimizer state.

Rented GPU on RunPod
~15 minutes

The same training ported to PyTorch and PEFT with the same tokens, loss mask and LoRA settings. Train, merge, export to GGUF and run the eval on the pod. Under $1 a run.

That changed how I worked. When a run costs ten hours you try one idea a night. At fifteen minutes you can try a different dataset, grade it, and try again before lunch.

Companion app

Host from your real phone

This is how hosting actually feels: the requests and the texts come in while you're doing something else. So the in-game phone can move to your real one. Open Phone Link on the in-game laptop, scan the QR code with the companion app, and the game's phone shows up on yours. You can accept a booking, answer a guest or move money from the couch while the game keeps running on your computer.

The app doesn't rebuild any screens. The in-game phone was already drawn as its own 390-point screen, so the game streams that screen as JPEG frames over a direct WebRTC connection, and your taps and typing go back the same way. Every phone app in the game works on day one. Open the in-game camera and your phone's gyroscope aims it.

A small Cloudflare Worker only does the handshake. Game data goes straight between your computer and your phone. Bookings and guest texts come in as real push notifications. The app is React Native with Expo, so one codebase covers iPhone and Android.

The in-game laptop open to Phone Link, showing a QR code and a six-letter pairing code for the companion app

What you do

01

Buy a house

A-frames, log cabins, an Airstream, a mid-century house, a beach house and a tiny house in the Blue Ridge woods. Each one sits on its own site, and the bank will lend you the down payment if your credit holds up.

02

Furnish it

Walk through every room and place furniture from a catalog. Then take the listing photos yourself. Better photos rank better, so there is a reason to buy a real camera.

03

List it and host

Set a nightly price on SkyBnB, accept or decline requests, and wait for the reviews. Guests only see each other’s reviews once both sides have written one, same as the real thing.

04

Keep it running

Book cleaners between stays, restock the toilet paper and coffee, fix what guests break, and answer the HOA. You live in a run-down shack behind the Airstream while all this goes on. Call your mom.

Built on BRUTAL

BRUTAL is a C# and Vulkan framework, not an engine. It hands you a window, Vulkan bindings, Dear ImGui and some math, and the rest is yours. So the game has its own terrain renderer reading USGS 3DEP height maps of Blood Mountain and Blue Ridge, its own forest scatter, rivers and roads, and an ink-outline pass that gives it the graphic-novel look.

BRUTAL officially targets Windows and Linux. I'm on a Mac, so it runs on .NET 10 through MoltenVK, with the Vulkan loader bundled into the app. The buildings and furniture are modelled with Blender scripts and exported as GLB.

Try the alpha

It's early and changes every week. Mac needs Apple silicon and macOS 26; Windows needs a recent GPU driver. About 3 GB. If something breaks, tell me the version number in the bottom-left corner.

Download on itch.io
Back to All Projects