ProBot
First 3D prototype
This story begins in 2011 when a friend and I had this idea of a robot fighting game where you would build and program the robot.
We started working on the first 3D prototype (no pictures here). However we quickly were overwhelmed with the synchronized networking of physic bodies.
2D prototype
Years later, I got back on the project alone. In the meantime, I learned about deterministic lockstep and here was my solution for networked multiplayer. For the sake of simplicity, I started with a 2D prototype. The code is available on GitHub.
There is a functional editor with assembly of a few simple shapes and components. The CPU can be programmed using JavaScript.
I implemented this deterministic lockstep technique and managed to get playable multiplayer over the internet. Robots can be split in two with lasers and the two parts will function (or not) independently.
However there wasn’t really a good separation between engine stuff and the game itself and two dimensions weren’t enough to make the game interesting and enjoyable.
3D engine
Therefore I started working on a new 3D prototype. I properly laid down the foundations of a simple 3D engine based on OpenGL. This engine aims at displaying colored low poly models with automatically highlighted edges.
The code is available on GitHub (engine | prototype).
Moreover this engine provides a solid and modular implementation of the deterministic lockstep technique. It was successful at implementing a simple multiplayer pong.
Remaining work
Implementing the game itself with this new engine is work in progress!