Tank game is a simple 3D multiplayer game written in TypeScirpt.
WASD
to move aroundSpace bar
orLeft click
to shotMouse
orArraw keys
to look aroundT
to open chat screen andEnter
to send message- Click
Touch screen
at top-right of the screen to enable touch screen support for mobile devices
- Install nodejs and npm
- Clone this repo
npm install
- Start your backend server
npm run dev
Backend server is just a simple WebSocket chat room. It forwards incoming messages to every other clients.
import WebSocket, { WebSocketServer } from 'ws';
const server = new WebSocketServer({
host: "0.0.0.0",
port: "8080"
});
server.on('connection', function connection(ws) {
console.log(`online: ${server.clients.size}`);
ws.on('message', function message(data) {
server.clients.forEach(function each(client) {
if (client.readyState === WebSocket.OPEN && client !== ws) {
client.send(data.toString());
}
});
});
ws.once("close", () => {
console.log(`online: ${server.clients.size}`);
})
});
server.on("error", (err) => {
console.error(err);
})