Join now on three-arena.vercel.app
An arena shooter created in three.js. Shoot your friends in this socket.io multiplayer game. You can open chat by pressing t.
It features a vanilla built movement system, collisions (with the help of octrees), chat & shooting. Backend is an express socket.io server which gathers and sends out all player data (movement, directions, chat, rocket fire events) to the clients. The clients then react by generating and updating the players & events, the client is completely trusted. Best part is that it's all in one file... but would be very easy to break out & expand upon if you have some time.
If you've found this repo valuable, do give it a star.
This game was created using the following technologies:
Prerequisites
git clone https://github.com/felixgren/three-arena.git
cd three-arena
npm install
cd server
npm install
// Start client
npm run dev
// Start server
npm run server
In case of errors, verify that socket.io client in
game.js
is targeted at matching localhost port inside/server/main.js
.
- #1 - Initial setup
- #2 - Shadows
- #3 - Basic skybox & model, FPS counter
- #4 - Drawcalls to debug GUI
- #5 - Movement and collisions.
- #6 - Rockets.
- #7 - World terrain, heightmap, model, skybox
- #8 - Refactored entire project
- #9 - Code Review
- #10 - Core Features 1 (Multiplayer, Chat, Explosions, etc)
- #11 - Environment 2 (New Map)
- #12 - Core Features 2 (Respawn, UI, Chat types)
- #13 - Core Features 3 (General improvements)
- #14 - Update node server host