I made a UFO-abduction horror game that runs entirely in the browser with three.js
Hey all, a while back some of you asked to see footage of the game I have been building in three.js, so here it is.
It is called TAKEN. You are a farmer alone on a Montana homestead and something starts visiting at night. You survive the nights, do chores, photograph evidence, and try very hard not to get abducted. It runs fully in the browser with no game engine, just three.js (r185) and WebAudio.
A few of the three.js bits people here might find interesting:
- Procedural terrain from ridged-multifractal noise, with a custom material that blends dirt, grass, tilled soil and wetness per fragment and carves a wandering snow line that only caps the high peaks
- Volumetric clouds raymarched in a fragment shader on a sky dome, light-marched toward the sun with Beer's law, with day/night and moon phase driving the colour
- Thousands of grass blades, crops and foliage as InstancedMesh, with a wind vertex shader patched in through onBeforeCompile
- A quaternion-based flight model for an ultralight (full loops and rolls, stalls), and a boat with a Kelvin-style foam wake plus bow spray done with Points
- Positional WebAudio: a continuous in-world radio station that pans to whichever way you are facing, muffles when it is behind you, and ducks the soundtrack as you get closer
- Adaptive render scale so it holds framerate on weaker GPUs
- All the music is generated using Suno
- The adverts and radio are voiced by myself, and i mixed the ads.
It'll be releasing at some point this year on steam.
It is still very much a work in progress and I would love feedback. Happy to dig into how any specific effect is done if you are curious.