Week 4 Update

by 🦊 The Fox & ⚡ Shockk on 2019-08-10

Slow and Steady

Well, what have we been up to this week?
What looks like “not a lot” is actually a lot of behind the scenes stuff.

Netcode

Previously our netcode sent game actions to other players, like “move foward”, “move backward”, “yaw” “pitch”, etc. These would be performed as soon as they were received by clients, but this introduced the problem of desync. Check this post for more details on all of this.

This week, our work has gone into reworking large portions of our engine to allow us to rewind time (actions, positions, orientations, etc). We can then replay actions on top of the old state to get back to the new state deterministically. It’s not perfect, but the basis for client–server time synchronization is now in place.

We’re now able to rewind to the point in time where a remote action like “move forward” happened, apply it then, and finally fast-forward back to the present time. It’s by no means complete yet, as we still have synchronization issues, but this is a huge step forward for the engine and for our game networking.

We’ll write a follow-up technical blog post on this once it’s complete.

Design Docs and The Website

The main design doc is actually in a very messy file stored in Google Docs, we’ve been working on “porting” this over to this website.
The contents of it are, of course, subject to change at any time. But we are planning on building something big here. Or at least, “evolving”.
Another advantage of the design doc being ported is that it makes things clearer, and easier to read for us and for people interested in the project. (Like you, hopefully…)

So far the “Story”, “Prototype Checklist”, “Ship Concepts” and “Weapons” have been mostly ported over.
If you want to check it out, have a look here.

The website itself has also had some nice design tweaks, but is very much still a work-in-progress.
The navigation bar at the top is now a lot more populated, things should format nicer, and our “writing-uploading-publishing” process has also got a lot less messy.
It’s still got a long way to go, but it’s “good enough” for now and hopefully won’t prove to be too much more of a time-sink at this time.

To do, and the future

Getting the netcode working is a top priority. Once that is working and clients are syncing then health, collision and a weapon can be added in. At that point we’ll look into releasing a “technical demo” for people to download and play. These will be available here.

See you next week!
-🦊 The Fox, Project Manager
-⚡ Shockk, Lead Programmer