A 3D multiplayer dune buggy battle game written entirely in JavaScript.
Open client/index.html
in your WebGL capable browser. You'll have to run a simple webserver or enable local file access to load the models. See How to run things locally.
Accelerate: W / Up arrow / Gamepad Right trigger
Brake: D / Down arrow / Space / Gamepad Right bumper
Turn left: A / Left arrow / Gamepad left stick
Turn right: D / Right arrow / Gamepad left stick
Switch weapons: Q
Fire weapon: Control / Left mouse button / Gamepad left bumper
Nitrous: Shift / Gamepad X
Switch view: V
Toggle chase/turret camera: C
Toggle full screen: Enter
npm install
inside of server/
node server/index.js
WebGL - Used to render the game environment
WebSockets - For real time client/server communication
WebWorkers - To ensure physics engine calculations do not block visuals
Node.js - As a server
HTML5 audio - To play sounds/music
Full-screen API - For a real desktop gaming experience
Pointer lock API - For smooth first-person style rotation of the turret
HTML5 Gamepad API - For gamepad support
Socket.IO - Socket communication for the client and server
three.js - Lightweight JavaScript 3D library
Physijs - A physics plugin for three.js that utilizes the ammo.js/Bullet physics engine
DuneBuggy couldn't have been made without the following freely available works:
Oil tank texture by DeathniteDT
Various sounds from Bolo © 1993 Stuart Cheshire
Copyright © 2013 Lawrence Davis