For years and years I've been wanting to create a network multiplayer game. Ok, I already created one about 10 years ago called Netris but that is a type of game that does not rely on any sort of speed or major synchronization of game data.

I tried to implement network multiplayer capability to Performa Cars (previously named "Computer Touring Car Championship") - but I had to throw in the towel in the end. Too many design issues with the game itself (how the physics was implemented) and lack of proper networking libraries for Blitz3D proved to be too big of an obstacle.

New hope

Today I bought an asset package called "Ultimate Networking Project" for Unity 3D. It's a combination of a tutorial and a bundle of useful scripts and functions to simplify multiplayer networking in Unity. I've read through the 25 page tutorial and looked at the included examples and I'm very hopeful to be able to create a multiplayer game in Unity.

What appears to be promising in Unity is built in functions for interpolation/extrapolation of object positioning along with client-side prediction and server authority. If these terms are alien to you, let me assure you that they were to me as well when I started to make Performa Cars. It's a world of hurt if you have to learn and develop all these functions by yourself - but as I mentioned, Unity appears to have this under control.

My first project is to create a simple top-down space shooter (using the low polygon 3D spaceship I recently designed.) The purpose of this project is to learn enough about Unity and networking to have another go at the top-down racing game I've always dreamed of creating.