Upcoming Events! Community Event Calendar

Reverse the Verse: 7th September 2018 Written Monday 10th of September 2018 at 03:42am by Erris, Shiver_Bathory and

Summary for RtV Sep 7th

TL;DR (Too Long; Didn't Read)

  • OCS is a huge part of Star Citizen being one huge play area without loading screens

  • Right now OCS is client side with server side OCS coming after. This will mean that players will be using less resources when playing Star Citizen resulting in a smoother experience

  • Due to the sheer amount of variety in PCs the performance improvement with OCS is a best guess, this being said the client and server will only load what you need, reducing the performance footprint and memory use

  • OCS judges an object by its size as to if to load it. For instance Levski would load up very far away but a small ship would not. The system will take into account your distance from the object which is handled server side

  • When first envisioned OCS consisted of three steps. Bind culling decides to unload entities based on distance, making them essentially not exist to the player, but the server will make you aware of a marker that is relevant to you but it is just that marker not the actual object which is far less drastic of a drain on a system. Rather than actually rendering the objects as they do now, it will in essence be the client and server just communicating smaller amounts of data where applicable i.e. on your radar or as a remote marker. Serialised variables are the packets of data that represent the objects of interest to you as a player. For example: a player has a marker for a planet but they are very far away from the location. The player still needs to keep track of the marker but bind culling would have made the planet ‘not exist’, rather than load the entire planet and render it client side, which would hit performance, the data of what the object is and its current location is sent, this is a serialised variable, essentially keeping track of objects and their location and if the player needs to know about them and at what frequency if at all the item needs to be updated for the player.

  • OCS is also needed in Squadron.

  • A-sync entity loading is a part of OCS. Currently when an item is spawned it is done on the main thread, which will make the main thread blocked until that entity is spawned, A-sync will allow that process to be moved onto a background thread, allowing other entities to be loaded until it is ready to spawn on the main thread. Bind culling enables this information to be sent as a smaller data package to the server/other clients

  • Right now the team is working on putting all the tech together and working with each other and in game.

  • Testing OCS involves a lot of travelling around, but also testing changing states for one player without changing things for another. Looking for lots of edge cases as well. Things are fine, but occasionally there’s a stall when it say brings Levski in.

  • An example used was if you and a friend are in a dogfight, and the friend gets far enough away, that dogfight will be culled so it’ll no longer be in his system. Now if you drop a cargo crate while he’s gone, and then he comes back, the cargo crate will have to show to him as being in space, etc… There are many different states of things that have to propogate. Becomes even more difficult when there are people all over space too, not just in one place.

  • They’ve been using zombie characters to fill the system with, so they can see what the load is like on the server when there are people everywhere.

  • When OCS does go live, there *will* be issues. There’ll be things they’ve never seen, problems they haven’t been able to see in QA and so on. It’s all for testing. There are many things also being updated with OCS, so there’ll be many issues, as OCS hits almost all of SC - everything has to be converted to work with it.

  • OCS is not a magic bullet. There will still be network improvements, still be optimization improvements.

  • More players per instance is not linked to OCS. improvements from OCS are *only* client side. There’s actually more server side traffic due to OCS.

  • Server-side streaming requires more tech that they don’t have yet;

  • OCS shouldn’t affect view distances, though there *may* be some slight pop-in

  • Might take less time to load the game. Also, some people who couldn’t load the game before might now be able to load it, since it doesn’t need as much memory anymore.

  • There’s no limit to the number of containers they can have. There’s the System container, then planetary containers, then, say, a Grim Hex container, then containers for each of the shops, etc…

  • Bugs you might see - missing entities, pop-in, stalls as you approach stations, etc…

  • OCS for SQ42 plays into the size of the maps.

  • OCS has been a company-wide multi-year process. It’s touched every single element of the game, and continues to. And it won’t be done with this patch either, there’ll always be more to add. Server-side streaming is next, and there’s more beyond that too.

Erris

Founder

Erris is Canadian. He does some random things for Relay, no-one really knows what, but still they're stuck with him. He’s also written one Young Adult novel that he can’t stand, which can be found here.

You can find him on Twitter too, if you want.

Shiver_Bathory

Director of EU Operations

The consummate English gentleman, Shiver Bathory can be found posting news to The Relay, when not making puns that is.When not typing furiously at his keyboard he enjoys hanging in chat with The Relay community and every once in awhile can be found playing some game or another. Every Wednesday on The Base he hosts Dead Air - An alternative and extreme metal music show