Build 23 · Playable now, no install

DRY GULCH

A first-person Western RPG that lives entirely in your browser. Draw your revolver, knife a bandit, rob the Cassidy gang, and settle scores in a persistent frontier town — every building, gun, and tumbleweed generated in code, no art files anywhere.

↓ keep scrolling
Two Ways To Ride

Bring a posse, or find one out there

Dry Gulch runs two separate multiplayer paths on top of the same game — pick whichever fits the moment.

Host a Showdown

Peer-to-peer over WebRTC. One player hosts, shares a short code, and everyone else rides in directly — no server in the loop once you're connected.

  • Host runs bandits, quests, and loot drops
  • Private — only people with your code can join
  • Session ends when the host leaves

World of Dry Gulch

A persistent, always-open frontier. Pick a name and connect — a lightweight server remembers your rider between visits, no login required.

  • Progression (level, gold, gear) saved to your name
  • Whoever's been in longest quietly runs the simulation
  • Bandit fights and sieges can resume after a disconnect
What's In The Territory

Built for a fight, built for a frontier

Combat

Guns and a knife that actually feels like one

Revolver and rifle with real ammo capacity, plus a knife with distinct slash and stab animations — first person, third person, and on the bandits themselves.

Outlaws

Bandits with variety, not one copy-pasted enemy

Pistol, knife, and rifle bandits, on foot or mounted, with a named gang leader to hunt down as part of the main quest line.

Progress

Stats, quests, and a general store

Level up Strength, Deadeye, and Vitality; take on side quests and a full siege event; spend your take on gear from the town shop.

World

A town that remembers you

Death drops, tallies, and in-progress fights persist on the World server, so stepping away for a few minutes doesn't reset the frontier.

Nothing but code and a browser tab

Every building, gun, rider, and sign in Dry Gulch is generated at runtime — there isn't a single texture or model file in the project.

Three.js WebRTC · PeerJS Node · WebSocket Zero Art Assets