This is a fully functional networked first person shooter (FPS) built with Three.js, Socket.io, and Express. No game engine, no physics library, no build tools. Just vanilla HTML, CSS, and JavaScript.
Core features:
- First-person controller with sprinting, jumping, and bunny hopping
- Smooth pseudo-physics for X and Y camera movement
- Server-authoritative player movement (velocity, jumping, collision logic handled backend)
- Delta timer system sent from server to all clients to reduce desync and account for latency
- Projectile-based shooting with hit detection (head and body hitboxes)
- Health system, death, respawning
- Username tags visible above player models
- Animated 3D player models (idle and run states)
- Instant spawn on connect (no matchmaking or lobbies)
The project is designed to be extremely lightweight and modular. You can easily:
- Plug in custom player models and animations
- Add or modify core gameplay features
- Extend it into Web3 projects, metaverse-style environments, or sandbox multiplayer worlds
- Use it as a learning resource for 3D rendering, WebSocket communication, or multiplayer state management
Runs directly in the browser, mobile extensible, and is small enough to study or build on without overhead. Useful for prototyping, hacking, learners just getting started, or for bootstrapping something bigger.