Survive the Horde – A Multiplayer Zombie Survival & Battle Royale Game Built with Three.js

Hey everyone!

I’ve been working on a browser-based 3D multiplayer FPS game called Survive the Horde, and I’m excited to share it with the Three.js community!

Play here: https://babylon-fps.vercel.app/

The idea was to bring the experience of popular survival and battle royale games like PUBG, BGMI and Free Fire directly into the browser, without requiring players to download a separate game client.

:video_game: Game Modes

1. Zombie Survival (Solo)

Survive against increasingly challenging waves of zombies. Explore the environment, collect weapons, manage your resources and stay alive.

2. Co-op Zombie Survival (Multiplayer)

Team up with friends using room codes and fight against the zombie hordes together. The difficulty increases as more players join.

3. Battle Royale (Multiplayer)

A PUBG/BGMI-inspired battle royale experience where players drop onto the map, collect weapons and supplies, avoid the shrinking blue zone and fight to become the last survivor.

:globe_showing_europe_africa: Environment & Gameplay

One of the things I wanted to experiment with was creating an environment inspired by Indian villages and small towns rather than the typical generic FPS environments.

The game includes:

  • Indian village-inspired buildings and surroundings.

  • First-person and third-person gameplay perspectives.

  • Weapon collection, shooting and reloading mechanics.

  • Inventory and weapon management.

  • Vehicles and driving mechanics.

  • Day/night atmosphere and environmental lighting.

  • Interactive buildings, doors and exploration.

  • Multiplayer gameplay.

:joystick: Controls

  • WASD – Movement

  • Mouse – Look and aim

  • Left Click – Shoot

  • Right Click – Aim down sights

  • R – Reload

  • Shift – Sprint

  • Space – Jump

  • C – Crouch

  • E – Pick up weapons

  • Tab – Inventory

  • M – Map

:hammer_and_wrench: Built With

  • Three.js

  • JavaScript

  • WebGL

  • Add your actual multiplayer/networking technology here

:rocket: Try It Out!

The game is playable directly in your browser.

I’d genuinely love to hear feedback from the Three.js community, especially regarding the 3D environment, rendering, performance optimization and gameplay experience.

This is an independent project that I’ve been building and continuously improving.

Thanks for checking it out!

Live Demo: https://babylon-fps.vercel.app/

GitHub: GitHub - Harshk133/babylon-fps · GitHub (Give a :glowing_star:)

— Harsh Kale

Nice project, getting co-op with room codes working in the browser is already a big step. If you have not done it yet, I would keep the server authoritative for hits and zombie state, since anything decided on the client is easy to cheat once the battle royale mode gets players. For your own character, client-side prediction with server reconciliation keeps movement snappy, while other players feel smoother if you render them about 100 ms in the past and interpolate between snapshots. If shooting is hitscan, a simple lag compensation step on the server (rewinding positions to the shooter’s time) makes a big difference for players with higher ping.