Capital ship battles: what can you tell us?
TL;DRRoberts says they want capital ship battles but it's early; recent server work, including 64-bit global entity IDs, enables flexible server handover and multiple servers per client, supporting higher player counts.
Definitely want them to happen. It's still early days yet. The biggest things that we're working on is the server stuff. Some of the changes we made recently allow us to be way more flexible in transitioning between servers. A lot of multiplayer games specifically get bound to one server when they initialize a level, and everyone gets their own little objects and IDs. And we changed our system around to be what we call a global entity ID. And so instead of, typically the entity IDs in CryEngine and other engines have been 32-bit, but we switched to a 64-bit representation, which means that we have an exponential amount more of IDs. And we did it specifically so that we can give, say, your ship that you own in the game a unique ID that will never... What happens right now is when you load up the game, there's an entity ID on the game load, and the entity ID on the server is not necessarily the same entity ID that's down on the client. And so when the loading happens, there's a fix-up that says, okay, well, this entity ID on the client really is this entity on the server. And it's not consistent. So as you go between servers, that will always change, which is why you have to sort of... It took us quite a while, because the entity IDs are all throughout CryEngine, but we moved it over to this new system. So what that means is that my ship that's persistent or my item that's persistent will always have the same number no matter what, irrelevant of whether I'm in the game or not in the game, irrelevant of what server I am or what client I am. So what that means is when you have a client and he basically goes from server to server, on every one of those servers, if your ship was number 52, your ship is 52 on every single one of those servers. And it's 52 on everyone's clients, which means that we can very easily now hand over. We can just say, okay, now this server's in charge of you, this server's in charge of you. And we don't have to unbind and rebind, which is kind of that level loading stuff that you see right now when you go to Arena Commander and stuff like that. So that's actually a very big change. Not many online games do it that way. But it allows the flexibility for us to have you at this point, you can now be connected to multiple servers, because they all speak the same language; 52 is still 52 for everyone. But anyway, so that's some stuff that will allow us to have higher player counts. So hopefully that wasn't too technical for people, because we could have multiple servers talk to one client, for instance. So you could have one server taking care of people inside a big capital ship, and one server taking care of all the ships in the space area, and then another server talking to another inside of a capital ship and stuff.