We recently decided to strip this project back down to its basics in order to refine our networking code to make it as efficient as possible. I am happy to say that I finished up work on this new version of the project yesterday and am excited to share the results with you:
This video is meant to highlight our networking setup. In it, I am playing a single local client (located in the US) while the server (located in France) is controlling 99 other clients via netcode. The data being sent from the server to my client is exactly what would be sent from a player-controlled ship, so as far as my local client is concerned, there is no difference between this configuration and what I would experience if playing with 99 other people. The server is not handling anywhere near the bandwidth it would be if these clients were all players, but I'll be sharing some load-test data in the near future to show things from the server-side. Suffice it to say that I am more confident than ever in moving forward with this project.
I will be spending time over the next several weeks slowly but surely bringing back in features, but first I am seriously considering releasing this simple tech demo for interested people to download and try. I'm hoping that by the end of this month I will at least be close to having the client reassembled, but since I will be taking this opportunity to refine all my code, it may take longer than expected. I'd be happy to hear whether or not anyone would be willing to help me do some real-world load tests with this simple demo. It's only flying at this point, but the testing could really help eliminate any bottlenecks in our netcode.