Back to Projects
WebPrivateFeatured

Afterhours: Night Shift

A browser-based first-person horror game built on Three.js and WebGL2, with every piece of geometry, texture, and sound synthesized at runtime so nothing is downloaded. Features procedural building layouts, two to four player co-op, and optional cloud-synced leaderboards.

Afterhours puts the player on the night shift in an empty office building, restarting failing power nodes while something else moves through the floors. The whole game runs in a browser tab with no asset downloads, no install, and no account required to play.

Three.jsWebGLJavaScriptMultiplayerWeb Audio

Role

Game Developer

Timeline

Shipped

Delivery

Structured implementation across design, engineering, and release phases.

Challenge

  • Deliver an atmospheric 3D horror game with no downloadable assets and no install step.
  • Generate building layouts that stay coherent and navigable while remaining unpredictable.
  • Keep co-op players in sync across a procedural world without a heavy backend.
  • Support progress and leaderboards without forcing anyone to create an account.

Solution

  • Synthesized all geometry, textures, lighting, and audio procedurally at runtime on WebGL2.
  • Built a tension loop where restarting power nodes makes noise that draws the entity toward the player.
  • Implemented two to four player co-op driven off a shared layout seed.
  • Made accounts optional, layering cloud sync and leaderboards over full guest and offline play.

Architecture

  • Three.js rendering on WebGL2 with runtime-generated meshes and materials.
  • Web Audio API synthesis for ambience, alerts, and positional entity cues.
  • Seeded procedural generator producing six interconnected spaces per run.
  • Optional account layer for cross-device progress sync and leaderboard submission.

Outcomes

  • Shipped a complete horror game that loads straight from a URL with zero install friction.
  • Delivered stealth, chase, and collectible systems alongside working co-op.
  • Kept the entire experience playable offline and without registration.

Next Steps

  • Expand the floor set beyond the current six spaces.
  • Add more entity behaviors and difficulty tiers.
  • Deepen leaderboard categories around speed and completion runs.

More Projects