Armored Deathmatch

To test the release of HTML5 with WebGL and WebSockets in 2014, I created a small proof of concept named Armored Deathmatch. The game is a multiplayer game where users drive a tank and shoot each other. The CPU players just move around randomly for target practice.

Armored Deathmatch Screenshot

Back then (.NET Core 2.0) there was no implementation of WebSockets in .NET so I had to write the TCP socket layer myself. I have for this demo upgraded to .NET 10 and used its built-in WebSocket stack. The server runs the entire game, and the browser is just a viewer. Meaning keyboard inputs are sent to the server and the game engine runs on the server. The players' positions are sent to all connected clients. The protocol is not very efficient, but the goal was a proof of concept, getting to know the new technologies, and not about implementing a full network protocol for massive multiplayer games. THREE.js was used for the 3D engine, and quaternions used for making the tank follow the curvature of the landscape.