Farshore: a first-person exploration game in three.js, no engine (open playtest)

A sealed conservatory, a tree that answers kindness, and the keeper who stayed.

Farshore is a first-person exploration game that runs in the browser: eight chapters and a coda, about 45–60 minutes. It’s built directly on three.js, TypeScript and Vite, with no game engine and no asset packs, and every sound (including the music) is synthesised live in Web Audio.

A few things under the hood that people here might find interesting:

  • A hand-built post chain: GTAO, a volumetric fog / god-ray pass, a mip-chain bloom, and a grade pass (split-tone, vignette, chromatic aberration, grain).
  • Quality tiers set by pixel budget rather than device guesses, with an automatic step-down if the first seconds run slowly, and point-light pooling so each room only pays for the lights you can see.
  • A generative score in Web Audio that follows the story, with no audio files anywhere.
  • The trailer is code: seeded, fixed-step renders of scripted camera moves, so it re-renders after every visual change.

It’s in open playtest through October, and I’d really value players from this community, especially on laptops and less powerful GPUs. Desktop with a mouse and keyboard. The playtest link records only which story beats you reach, where you get stuck, and your frame rate (details and link here):

Happy to go into how any of it was built. It also plays right on its itch page, where you can follow it: Farshore by christopherlongden

1 Like

good, atmospheric

Is it possible to run inside react and make apk and ios bundle?

1 Like

Thanks! In principle, yes. Farshore is plain three.js drawing into a canvas, so it would sit inside a React component fine, and a wrapper like Capacitor can package a web build as an APK or an iOS app. The real work would be the controls: it’s built around mouse look and WASD, so phones would need touch controls and a lighter render tier. For now it’s desktop only.