Alpha 0.3: Netplay Prototype

MAR 4, 2019

First release of the netplay prototype: a lot of features are missing, problems are going to happen. But at a basic level, it works.

There are two netplay buttons on the Versus Select screen: host, and join from clipboard. Either player can host, and doing so will copy the lobby code to the clipboard. Share the code with another player, who only needs to use the Join From Clipboard button to join the lobby.

More information about the patch is available in the Trello card:

https://trello.com/c/mrXRlZ3R/50-v030-mar-4-2019

Just getting to this point was a large task. Antistatic's game engine, being built from the ground up starting over 7 years ago, was not originally designed for online play to ever happen. Over the last years, the code has been reorganized several times to build more consistency to lead up to online play. For the final push for alpha 0.3, getting generally-stable netplay took about one month of work, and a lot of help from testers. My professional programming background is in offline game development, HTTP server code, and interactive web applications, so creating a system for real-time communication with UDP took a lot of learning, trial, and error. I'm expecting bugs, so please report any on the Discord. A bug tracker will be set up later.

The server component, although very limited in scope right now and insufficiently organized, has been open-sourced, available on GitHub. Netplay has been a learning process for me. I suspect there are many things I can do better, and having the source code available allows anyone interested to sanity check everything. Another benefit is giving the community the freedom to run private lobby servers, an option I find lacking in many modern games. Note that I provide no warranty or support for this code or its reuse.

Over time I plan to license more of the networking code as open source, and potentially other parts of the game. The open source ecosystem helped to get me where I am today, and this is my small way of giving back.

I look forward to seeing everyone online!

Join us on Discord at https://discord.gg/ZGJvA8P