Back to search

Can you please dummy-explain what object container streaming really is?

TL;DRAn object container is a list of objects, like a level without level-specific parts, covering things such as ships, stations and planets, which can be spawned and removed dynamically so only needed data loads.

Rob JohnsonLead Gameplay Programmer, Foundry 42 Wilmslow

Okay. Well, an object container, in its simplest form, you could maybe just think of it as actually kind of like a level without a few bits of stuff that's specific to it actually being a level, if you like. Because most of what a level is, is it's just a list of objects. So in CryEngine or Lumberyard, you're looking mostly at entities and brushes.

Clive JohnsonLead Network Programmer, Foundry 42

So it'd be large-scale pieces like ships and space stations and planets. They're all object containers.

Rob JohnsonLead Gameplay Programmer, Foundry 42 Wilmslow

So the data is like an XML file format, which just is containing a list of things. And then if that's an object container, the idea is you load into the map. You load one set of objects that's around you. You spawn a ship. The ship itself can be an object container. It's just a set of objects. Hop in that ship, fly across the galaxy. You no longer need the object container that you spawned in in the first place, say, Port Olisar, so you can remove those entities. So really, when we say object containers, it is kind of just that. It's a container with some objects in, and the way we've got the game set up, we can spawn those in dynamically, remove them dynamically, and that's really the streaming process, put as simply as I can.

Jared HuckabyHost, Community

Gotcha, so it's like when you load into Port Olisar, it doesn't have to load up the Starfarer that's sitting on the surface of Levski into your memory. You can't see it, you can't interact with it right now, there's no reason for it to send that data to you and for it to load into your memory. A Starfarer, a Reclaimer, an entire base, they're all various object containers of different sizes and scopes. And this is just the system that determines, all right, we do need to send this to you, and we don't need to send this to you, and when and where that happens.

Reverse the Verse›LIVE - Performance and Optimization·
Published on this date.9 Mar 2018