Fernando Oviedo
Projects
July 8, 2026fps.fernandooviedo.site

FPS Demo - Web game engine built with three.js

First-person shooter running entirely in the browser. Testbed for the web game engine I build with three.js, drei and TypeScript.

FPS Demo - Web game engine built with three.js
Live view
A first-person shooter running entirely in the browser -no plugins, no downloads. It's the playable demo of the web game engine I'm building from scratch with three.js, drei and TypeScript.
Actively in development. Try it live at fps.fernandooviedo.site.
  • Engine sandbox: an environment where I test the engine's current capabilities live -first-person controls, collisions, physics, map and weapon loading- as I build them.
  • Online multiplayer deathmatch: a networked game mode where several players fight in real time.
  • dust_2 map: I picked a recreation of the classic dust_2 as the development testing arena for its well-known, balanced geometry.
  • three.js as the WebGL rendering layer
  • drei + React Three Fiber for scene helpers and abstractions
  • TypeScript across the whole engine
  • Real-time networking for the multiplayer mode
The interesting part isn't the game itself, but the engine underneath: a custom runtime handling the render loop, entity system, collisions, input and network sync. The FPS is the testbed where I validate each piece as I build it.
Partially working. Next steps: polish the deathmatch network sync, add more maps and stabilize the physics system.