Star Citizen Live: Persistent Entity Streaming
Transcript — every row opens the video at that moment
- 00:00:01
hello everybody Welcome to Star Citizen live persistent entity streaming I'm your host Jared Huckabee and if you've never seen Star Citizen live before it's the where we take about an hour out of the end of our week and we chat with our developers uh sometimes we take a look at what they're working on have them demonstrate some live process for us other times we hold their feet to the fire and make them answer the questions from you the Star Citizen Community and this week we are going to watch Benoit and Paul's macrame art for the next hour it's the art it's the art show I'm sorry sorry I've been practicing all month guys I'm ready for this so uh about a week and a half ago we posted a thread up on spectrum and we collect we we collect we collected we collected a bunch of questions that
- 00:00:50
the community had about uh one of the biggest kind of tent pole kind of name recognition features coming to Star Citizen in the upcoming Alpha 318 persistent entity streaming and so we're going to talk about that today what it is what it isn't uh what it does what it doesn't and so forth and before we get into it allow me to introduce uh the man who probably needs no introduction but we're gonna do it anyway uh uh CEO and founder of turbulent our partners inter Benoit yeah hey everybody I'm the same guy yeah CTO though CEO would be great that's right that's right yeah CEO would be great I'm gonna get a message from Mark right now oh there he is exactly there's the three dots from Mark oh there we go uh and and then and then uh someone you might recognize from last year's
- 00:01:37
citizengon presentation on persistence and server meshing uh Mr Paul Randall hey guys how you doing Paul good we don't get to do many videos the last time we were together was when we were filming that that citizen gun thing that's true almost all all alone in the office everyone was still working I was thinking about it it was almost exactly a year ago as I'm looking at the date right now so so it was painful to do that alone right like the of filming all those segments on the side like it was difficult the graphics were nice though yeah the graphics were nice yeah the graphics were nice once they were done they were up yes of course yeah no you know all right so uh right off the bat we we we we we we vamped for three
- 00:02:25
minutes uh let's start let's talk about Precision in your streaming before we get into the questions let's just start let's set the table what is persistent energy streaming now I know we just did the ISE segment to three weeks ago and whatnot but everybody watches different things and whenever now we got Paul we got Paul's answer to the question so actually we had Ben y answer it last time so Paul I'm going to point this one to you what is persistent entity streaming well plus it's an anti-distrieving is basically taking the entire scene graph of the engine which is the entire hierarchy of the universe players all objects and take that which was previously stored on and at most game engine that's stored in the memory of the server or on the client we take all of that and we push it to a database and it
- 00:03:14
gives us the foundation to basically stream the entire entities hierarchy to client servers and to persist so that means we can shut down all the processes and we can continue where we left off so it's basically taking this entire chunk of of state of the universe and pushing it to a persistent database you used a word I was really happy you used Foundation uh the way I the way I see Precision ended streaming it's a new foundation for everything that comes from Star Citizen comes to Star Citizen from this point forward uh when when we've had we've had to discuss internally and I've explained to other folks you know what this is in 318 the best analogy I found is it's if you imagine Star Citizen All-Star citizen is
- 00:04:02
a giant skyscraper it's like lifting the skyscraper up 150 feet off the ground digging out the old Foundation pouring in a brand new foundation and then dropping the building back on top of it and trying desperately not to spill and knock everything over that's inside the building while you do it I'm making sure the doors still work yeah exactly and it's that's a very good analogy because if you look at it the entity system and the the scene graph that's the foundation of the engine right so everything everything uses it touches everything every every single game team everything a a Game feature is touched by this change so it's it is a very good like a picture you're drawing there so and uh to address some expectations that the community may have had I we see we
- 00:04:50
see the different streaming talk shows and the threads on spectrum and stuff like this uh while persistent energy streaming will be again the thing that so many future systems and new systems will be built on for 318 the focus of this is mostly in maintaining what came before converting what came before and ensuring it works with this new Foundation yes pretty much okay like right now right now I know one of the questions if you want to jump a little bit into those is uh when we talk about PS we talk about the server and we talk about the player chart I think that was one one question and people asking okay what's the difference between a server and a shot um and for now for this very first version there is not a difference
- 00:05:39
between both because we still run one server per shot um we separate those two words because eventually the shot will be much larger than just one server once we get to server meshing which will be in later iterations that's when we have multiple servers per shot but in this very first iteration as you said we basically we we took the foundation of the engine and we replaced it with this new persistent entity database we try to get add parvis what's there right so that means we basically take all the tech we already have one server per shot um and we we replace that with special entity stream uh hungola in the chat says drink every time someone says eventually don't do that
- 00:06:26
if it's coffee you're good exactly what you drink right stay hydrated if you drink water then yeah now as just to add to what Paul was saying about the 318 version of PS um you know being on a single server and persisting the state of this right the the I think the most major effect that we'll see from that is over time on a given server because uh items will persist now right as a typically right now when a server restarts the the state of the world is sort of lost other than your your ships and your character which actually live outside of that in the current version when a server restarts everything else is gone NPCs reset to their initial spawn positions you know doors reset uh
- 00:07:16
you know the entire thing starts back up to the designed initial state of the of the game world uh so that's that's true after a server crash that's true on a brand new server that we're adding uh and so this sort of Auto cleanup servers also restart over time like with you know some of them sometimes don't have players left on them and then we restart them to recycle their memory things like this currently the state of these servers are are lost right so what that means is the effect in in 318 will be that over time you're you'll start seeing things that persist across restarts right and then so an old server will have a lot of modifications right because all of that stuff doesn't get necessarily cleaned up by a restart I would I would I would add though though with a person streaming
- 00:08:04
and our new shot database but also the global database there's uh the added benefit that every items you take from your shot and put in your inventories they persist in the exact State you take them out of the shot so previously your your persistent database was just an external database it was very limited just a list of items basically this person streaming when you have a ship and you load stuff into that chip and you put that ship into your inventory because you landed on a landing Zone and it gets stowed into your lending Zone inventory if you play on the next day and you take that chip out of that inventory it actually comes in the full persistent State as we stowed it from the from the shot so there will be there will be uh things which which you will
- 00:08:53
notice which obviously weren't possible without persistent entity stream but again to stress on on Jared's Point like right now we did all this foundational work and now gamecode teams need to adjust to those changes and there's a lot of good stuff they can do now um but we just integrated our big chunk of work into our main branch um a couple months ago and now game code teams just start to adding those features so you can't expect just because we have the core foundational Tech ready and pushed to to our main branch that all the game code teams actually like take full full advantage of all the new cool features um they can do with it and we will go over those points while we go over the questions I would say so let's jump into we
- 00:09:40
basically just did we basically just back doored into our first question which is what is the difference between a server and A Shard eventually it'll be very different but for the time being it is it is kind of a one-one thing uh you know for 318 and and then until server Mission comes in uh but before server meshing which is ultimately where this New Foundation is taking us uh is uh the question is uh since PES is per server then how do we get back onto the same server that our items are on well with the very very so the the first part of the question is before server matching uh is PS per server and as I kind of touched on the on the previous answer um yes persistent anti-streaming is per server but as you can take items out of
- 00:10:30
the server database into your Global database and we made sure it's the same exact database the same data structures there will be more persistence so you can take persistence from one server to another server by putting items into your inventory and then taking them out of the inventory into a new into a new server um your second question is how do we get back onto the same server um for 3.18 we won't address any matchmaking changes and it again comes back to we want to get at pubs what we have so far before we start to to adding the new features also matchmaking changes will be become a part of our server meshing uh work which we will start obviously right after personality streaming hits so for for the very first version of uh personal entity streaming
- 00:11:19
you will just use the same matchmaking logic you have right now that means if you start up your client you get randomly matched to uh to a server warshot I can use those terms interchangeable at the moment because they are pretty much the same thing obviously it's the same as right now you can play with your friends so you would join the same instance if you crash out of a game we reserve the slot of your current chart so that means if you crash out you will be able to have I think it's 10 minutes um to lock back in and get connected to that chart so you can recover anything and as I said earlier uh all items uh which you take into your inventory uh that's what you what you will keep with you which you can bring to any chart so
- 00:12:06
that is your way to basically make sure uh the stuff you want to really like keep um you can keep by just putting it into your inventories big differences between what stowed and what's unstowed yes so let's talk some we have a few more questions that are in that vein the the stowing things versus unstowing uh does PES allow entities to persist across all servers or does it only persist on the server that the item was originally spawned on so this is almost certainly you already answered the question you store it you take it with you this is about if I dump a can what happens I can't does it get replicated everywhere else is it how does this work so if you uh so depending on the type of item and of course if if there's legal
- 00:12:55
ownership attached to it right you can stow it and keep it and bring it with you across shards right so that's the first thing but for items even that you legally own that you leave let's say I have a gun that I already legally own and I drop it somewhere in Port alisar and then I stopped playing and then I come back later and I get match made into another Shard that gun is still in the other chart it's it persists per shard uh so everything that's in the game world so unstowed items persist in each server that they're on right that's why there's a mechanism like Insurance to get stuff back if something happens that's what there's mechanism like stowing so you can take them across servers um obviously uh that's a bit of a downer in in because we have a lot of shards right uh
- 00:13:44
for the moment but the the intent and the goal from this foundational work is that we're gonna get to our very large shards and so uh and and with the matchmaking changes that Paul entered on related to matchmaking then we'll be able to have Shard affinity and so the gun that you left on Shard X your your chance of getting back on chart X will be extremely high but for the moment it's not the case so everything that's unstowed in the game World lives in that um uh until it's reaped or until it's destroyed or until it's cleaned up or what there's many we're going to talk about a lot of reasons why stuff would go away from A Shard but yeah I think it's important to I think we're going to make this reminder periodically as I see the chat and everything uh shards and servers will be
- 00:14:32
different things they are they are different things for 3 18. they are it is one Shard per one server so when we use those terms interchangeably like that we are speaking about the state of our very next patch 318 so we're gonna one of the we talked about this before the show one of the confusing aspects of this conversation and indeed why we're having another hour-long conversation after the 20 minute thing I've been wanted I did before is because we we have to discuss both how this will be 319 320 321 4.0 whatever the numbers on don't read into the numbers I'm just saying numbers people uh how it will be in the future versus how it will be in this very first
- 00:15:20
patch that includes it so so we're we're going to bounce back and forth between Talk of the future and where it's going and talk of what this next first iteration is so uh I this is one of those things we're going to have to rely on our wonderful Community content creators out there to follow the discussion follow the threads and we're gonna bet we're gonna be bouncing back and forth that's the only way to discuss this at this point um so uh so yeah so if I it will that coffee cup or gun still be there for others to find when the player placing it isn't online so that thing that you don't own when I log off does it disappear with me or does it persist there and for how long it stock cleanup
- 00:16:09
um well as as we hinted earlier um if you take a coffee cup and you unstow it or you drop it on the floor in a shot it stays on that chart and it stays there as long as we will talk about the the cleanup process a bit later but it will stay there basically forever and everyone can go there and pick it up foreign forever yeah that was one one confusion I saw throughout the questions was the like uh it's important to notice that it's not like you log into the game world and all of the items you've placed in the world are now suddenly overlaid in it no when you put something in one
- 00:16:58
world one Shard one server it's in that server and and so whether you're online or not at that moment right so the so yeah that's the conf there's no if I log off is my coffee cup I placed on Clio still there yes doesn't matter if you're online or not for that specific uh for for items place in the game room uh I think the the only the only expectation the only uh exception to that is that when you log out obviously your player gets stowed back into into your player inventory and if you do to a ship padlock out your ship gets stowed together with you into your ship into your player inventory and that includes items that are in the ship as well it's always yes if we talk about stowing and unstowing it's always the entire uh the
- 00:17:47
entire current state of that object including everything which is you know I talked about the scene graph and the hierarchy earlier if you look at the ship and all items placed inside the ship you can imagine that it's like a tree the hierarchical tree of items and if you take the the top the root of the tree and we put it into an inventory everything which is under it follows it so again looking at the chat right now uh we're gonna we're gonna need to reiterate I think we need to say this a different way uh replication yes is there replication in 318 if if I throw something on the ground on server you know it does it just stay on server 14 and only 14 and only exists on 14
- 00:18:35
until it's eventually cleaned up it does not replicate to other servers it does not replicate to other scores at the moment the only the only way you can bring something so the first the first fundamental uh point you have to understand is every single item can only exist once right so you can't have a copy of the same exact instance of an item in multiple shots if you have your ship and you bring it to Shard a it is in chart a that chip can't exist in a different chart and that's a good reason for it if it would exist in multiple charts what happen if in one shot someone shoots the left wing off in the other shot someone shoots the right wing off right we can't we can't allow that to happen so what that means is if that ship is in a shot it's locked to the shot it's it it is just part of that
- 00:19:24
instance if you take that chip and bring it into your Global inventory that's then your way to take this ship and bring it with you to a different shot so every every every shot in in this very first iteration is its own isolated instance basically and then drawing that line forward to server meshing server meshing isn't about replication either server meshing is about bringing all of these things to all these uh servers together in a mesh and it is it transitions it doesn't work I mean if you talk about replication I mean obviously if I talk about replication I probably have a different thing in my head because in server meshing we do replicate objects between different servers because multiple servers will eventually
- 00:20:12
simulate the same shot right and obviously in that case you might have two servers and they replicate the same object between each other for uh for simulation reasons right so we don't be like it could be that server a simulates one area and so a b simulates another area there's overlap in that overlap you have objects in the Nova area replicated to both servers right that's uh that's why for me replication is a bit different word but you can see a shot again as it's Unique individual instance there's no cross shot replication plant we do once we talk about player bases and so on we do have discussions with design right now how we can do that for like if if a player builds a base on a planet for example uh we kind of want to
- 00:21:00
show that on all charts um not just on the one shot the players in but those discussion discussions are still happening I'm going to skip ahead on our list here because the next couple questions are all kind of Hit the same point but uh so let's talk about a very typical scenario that happens we're a game that's still in development uh you land on ship on a planet and the server crashes at 30k uh if this if you load back into a new server how does the player find their ship at that I find their Old Ship at this point since it wasn't stowed properly it was landed out okay um I don't know been well if you want to take that yeah yeah sure so first of all there's no 30 kids never happened
- 00:21:51
so uh using opinions expressed by Benoit buses right so uh the so in the case of so you have a let's start from the beginning you uh go to the Aesop terminal and you unstow a ship so the ship lives is first in your in your location inventory and it's in the global DB you uh um request the ship shows up on the lending bed that's that actually behind the scenes unstows the ship so it moves from the global database to The Shard now you can you can now it's being actively simulated by a game server and so there's thousands of updates on it right uh to keep it up to date in the DB uh you go in it you start flying it out um you put Cargo in it you drop some items in it whatever
- 00:22:38
then uh 30k happens right server ran out of memory or you know something like this happens uh now when you come back to the game the that ship is still in that Shard all right it's it's still in the persisted database of Shard 24 for example and so if you come back and your match made most likely going to be match made on another server because chart 24 is not available at the time especially if you log in rapidly back in when you enter your new Shard that ship will not be available for sure right so but it will be available for insurance claims uh what we are looking at at this moment for this problem because we know that's a problem obviously this is not cool
- 00:23:26
right it is that when a server crashes well we have a dedicated recovery mechanism that we're actually putting in place right this moment we're working actively on this right now um throughout our current stability testing which will Auto Stow back the ship into your location inventory and so what that means is uh we don't want you to be stuck with your ship stuck in a Shard that's no longer available right you were actively playing with that ship it's got cargo and we want you to be able to grab it and so in the case of a 30k your your ship would get out of stone same as your player right because there's no difference between a ship and a player in this instance right so uh that's the goal that we have for 318 is to make sure that that case doesn't
- 00:24:13
happen so that in the case of a 30k your ship is just stowed back in in the exact state it was in at the moment of the crash um and so uh you keep your stuff right that's the we don't want you to be you know stuck with a ship that's unavailable and then you need to find The Shard again and it's in you know that's like a guessing game so we don't want you to be stuck in that exactly I do want to add though that eventually and that's a great feature of Personality streaming if that server 30ks um with specificity stream before processing entity streaming that means that this whole world would be dead because the memory is gone everything is gone with persistently streaming however the shot and the state of the shot still exist right the server crashed because it ran out of memory or there was a game code bug or whatever um it's always game code Box by the way
- 00:25:00
yes it's never the core attack um anyways when that happens we can actually start up a new server and it can load back that chart and then continue simulation for exactly where we left off again for 3.18 because we don't want to address matchmaking just yet um we will do what Ben Rogers said where we try to take locate all the ships and we Stow them into your location inventory so you don't lose your ship and the progress on that chip however the ultimate goal is that when a sharp server crashes um that we restart a new server for the chart and that matchmaking will allow your player to reconnect to that chart and then matchmaking will be able to do to resolve the slot for that exact chart so when you start ultimately or not in
- 00:25:51
in a next iteration you will be able to start your client and there will be a little dialogue which is telling you do you want to wait for your old chart to come back online because obviously it takes a couple of minutes before shot is back online and then you will be able to join back to exactly where we left off and then eventually the final ago once we have a complete the the server matching and the replication layer and the Gateway layers all separated at that point when a server 30ks you won't even notice you will still stay connected and we start a new server or we have a fleet of servers already running which can take over that work right but that's obviously far in the future so what we what what we're saying is in this very first version to be on Powers what we have right now server crashes we take
- 00:26:40
player and we take the ships put them all into your inventory so you don't lose progression and you do and you will get exact persistent State back from the ship at the moment the server crash so you don't lose anything in the next version we then try to re uh revive that chart and let you let matchmaking allow you to come back to that chart and then ultimately in the in the final version it should be all almost transparent to the player so what you're saying is three versions and then we're done it's always just three words right yeah we're always three versions away um so uh this is a really a great example chat went through a a roller coaster of emotions there uh here hearing the problem and and and and
- 00:27:28
hearing the struggle and then oh no and then getting to what we're doing just to solving like oh yeah you know it was like fail and save almost this is a good example of what the work for 318 is uh 318 is not about uh with regards to percentage stream they're still salvaging and the and the PTV race track and New Rivers and there's all those new things but for p-e-s-p-s is not about unlocking new you know developments for for 318 that will be 19 and so forth and so forth and so on this is about discovering all the things that break because of this foundational change and then developing new tools and new methodologies like this Auto stove for the player and the [ __ ] that you talked about to get us back to what we had
- 00:28:16
before a a an experience similar to what we had before with this brand new Foundation that sits underneath um you did say something else in there that I want to follow up on right now you say because we don't want to do matchmaking right now uh why well there's always there's always the resource constraint right so the same team who would probably work on matchmaking is currently working on the entity graph and it's also about risk if we go and and quite Frank 3.18 is a giant risk already because so much new technology right we have we're replacing a database which we have built over the last five years
- 00:29:04
um and it it came to its limits in the last couple of patches as we all I think experienced um but that is like five years of development which you're now replacing with complete brand new tech we have I think it's at at that point probably eight different like kinds of new Services which we deploying um we also at the same time switched our underlying uh back end communication Tech to a new framework which we already battle testing in life right now but like a lot of new services using that new tech so there's a lot of like moving parts coming together so every piece we had on top of that adds more risk right so now we also need to change matchmaking now we need to change like all those things and it obviously makes me makes the release way less
- 00:29:54
manageable right so what we do is we try to reduce the risk by let's obviously the the core needs to come as one piece because there's no way to just introduce the replication layer without the database for example we need the the minimum set pushed together but we can't like we try to reduce okay what can we not do right now let's do that in the next iteration otherwise it will be just a burning pile of of issues we have to walk through and even then I I think it will be it will be a very rough start to get 3.8 in life and just because it is so much new technology and every time you you take uh something we build in-house which is already very complicated because it has thousands of different moving parts and
- 00:30:43
then we take that into the cloud and open it up for whatever ten thousand twenty thousand fifty thousand players that's always where you get another chunk of new things we haven't anticipated like all all to manage all of that it's already a giant piece so everything we can put off for later scope down exactly is is in my my book's a good thing and I think also for you players we don't want to like absolutely ruin your experience um I hope we won't so I think even though the feature set might be limited on this first version ultimately you guys will benefit from it because otherwise you will just get like a complete unstable patch and then you you have to suffer through it for like one two three patches uh until until we
- 00:31:32
get get live and also helps us obviously to bring it faster into your hands right as you know we we rely so heavy on you guys to play our game and be our beta tester which which is Amazing by the way um but in order to to to to to benefit from that we need to push things out as they come online and not just wait until it's fully perfect and fully polished and then give it to you so we we won't give you iterations as fast as we can but that sometimes means that it's maybe a step back or it's it's not fully feature complete just yet I mean you guys all been in the game for a bit so so we're just saying is that we're already juggling puppies lightsabers and chainsaws to get through to 18 we don't
- 00:32:20
need to add a giraffe into it yes that's exactly that's a pretty good not my best analogy um I do want to detour a little bit and talk about chat uh uh Chad's like hey he didn't mention cargo refactor when he was listing off 318 things I didn't mention a lot of things in 318 but I will remind folks who've read who are regular readers of our monthly report and who are regular Watchers of ISC and scl the cargo refactor is necessary for Salvage to work uh if you watch the whole scraping and vulture segments in last week's episode The bit where the cargo was physicalized in the back of the ship and you had to move the boxes that was the cargo refactor so remember as uh we the roadmap Roundup announced yesterday the day before I don't know
- 00:33:08
what day it is now uh 318 is not scheduled to come out until early November mid-november something around that I don't remember what it says so we have time to show the cargo refactor in ISC so we still got weeks this quarter and then we got a couple weeks next quarter before the patch comes out so uh as of this moment with the only constant in game development being changed but as of this moment cargo refactor is still very much in 318 it's still very much expected in 318 it is necessary to have Salvage and Hull scraping and the vulture so yes and on top of that I would also it it's not not just for Savages also as I said this persistent anti-streaming we replacing the whole Foundation a lot of game systems actually need some form of refactor to work with that it's not just
- 00:33:55
cargo but part of why the cargo team needs to do their reflectors also to support personal entity streaming but other things like the insurance system the VMA the character customizer whatever the scanning transaction systems even the trended system all those things they needed changes for personality streaming so there's a lot of like those teams they like it would be awesome if they could always just work on new features but especially with large foundational changes like this they need to go back and just adjust what we already have which is also again which is why there's not just cats and dogs and chainsaws that's actually 20 other things in that mix already so double slasher says Benoit is already
- 00:34:45
laughing nervously that's just how we laugh yeah that is true uh I'm gonna jump ahead in our list again to to a question that's come up quite a bit in the chat make sure we get them all in since we're already in the back half of our show here let's say I'm engaged in Furious one-on-one combat with another player uh we're we're we're we're we're we're we're in our furball and I'm about to lose and I decide rather than to take my death I choose to alt f4 and just quit the client uh what does PES do for this situation how does PES handle this situation if at all first of all that's a bastard move right
- 00:35:34
but so uh not entirely related to PES I understand the mental link right between like persistence and spawn points and you know out the flooring and stuff um there already have been some changes in the game related to quote unquote combat logging which is basically outdooring while in combat to save your FPS items uh already the ships stay in the game World in 317 uh and then you can you know they basically get destroyed uh on basically that move sort of allows you to save your your weapons and armor right where you respawn outside so PS is not gonna solve that because that's driven by game rules uh so even though we have persistence
- 00:36:22
that's the thing I wanted to stress out even though entities persist the game rules and the game code can still decide what to do they can override any values right so like if you think about respawning or things like that same thing for logging so for combat logging more specifically uh the which is a problem obviously right and we it's something that we're gonna want to tackle at some point but it's the the real fix for that is not a new persistent system if if PES solved all the world problems that would be awesome but it's not the case uh the the real solution is a proper logout timer where if you decide to alt the four or to kill your client or whatever you stay in the game world for that lockout timer which will allow your assailants to
- 00:37:11
basically finish the job if they have to right and that makes the game fair most other games also do the same thing so that's where we're that's the idea that we have on the table now but obviously we're not tackling this specifically with PS as uh even though there is persistence it's not going to affect combat logging specifically it's a game design task not a PES task yeah pretty much yes I would add though though because of PS the log in and log out code has to change slightly it gives the game game the game code teams actually the opportunity to address this issue and as when was said we're currently discussing some of the login logout flow and as Ben was said adding a proper logout timer to that would be a would be a good opportunity right now to do another question I also saw ask a lot is when I log out with persistent entity
- 00:38:02
streaming will I log back in where I left off right and again to our Point let's go get back to feature parity um for 3.18 we will keep our current lockout system so when you log out and you log back in you look back at your last Landing Zone location however um PS does enable all of that cool stuff so with PS it would be very trivial for game code to change their systems to allow you to lock exactly back where you where you left off right however it always comes back to how much risk we want to add for 3.18 and also the devil is always in the details if we want to have game code now to complete the change okay you log back in where
- 00:38:52
you log back out and that doesn't mean okay we have the tech right now so we can just enable this feature that means a lot of design work like how does it work for example if I am suffocating and I log out I think the design wants you for example then to run a timer and eventually when you log back in you would be dead because you were suffocating at that moment so you want to spawn back in hospital and so on so there's a lot of design a consideration coming into play and then also game code systems which need to handle that properly for example what if I log out on a planet and then on the next day I log back in and that exact position is another ship Blended at the moment right so all right game code would need to probably do some position resolving and all those kind of things so in order to not tackle that right now um we would just keep the login logout
- 00:39:39
flow how it is um however as I said with persistent entity streaming game code teams now have all the tools at their hands to fully persist whatever they want at this at the state and and restore at exactly the state uh how they left it goes back to what we said at the beginning this is a new Foundation a new set of tools and abilities that then it gets handed to every other designer and programmer in the in the game and then they can begin to address the things they've always wanted to address but the old Foundation couldn't let them or even conceive entirely new ideas based on these this new 100 yes and and that's also a very good point you're bringing up there I mean we we as a company we are a very large company with different
- 00:40:26
teams work on the different features and this is an entity streaming uh when we did this as our as our core Strike Team and work on the core foundational Tech a lot of like of the other game teams they probably don't really grasp yet what they can actually do with it right so now that we've brought our Tech into the main line and the game now starts using using new technology I think that's the moment where game teams and designers really see how it works and how they can interact with it and that's when exactly how you you said hey Jared that's when new ideas spark and okay how can we exploit this new tech how can we make really cool features and oh now we can do the thing which we couldn't do three years ago let's re-wam power login logout works but all this stuff will just come online now as the the foundational Tech is in the game I think
- 00:41:15
there's also an interesting element of surprise I think that we're expecting already just uh you know being in the main line for a little bit where uh the you know the entity system has this concept of serialized variable I'm sure we've talked about this in the past right which are basically variables that are replicated when we say replicated it's between the server and the client um now these things did not persist for right so everything that needed to be persisted needed to be handled as a persistent item whatever PS makes all of those serialized variables persistent and so that means that any game component that was made using serialized verbals suddenly has persistence so I'm expecting uh some surprises right so things that oh oh [ __ ] now this persists
- 00:42:04
wow this is cool uh for example wear and tear on your armor or things like that you know like uh you know are are now gonna just stick right because before they were lost every respawn now these things can actually persist for real exactly it's it's I want to follow up on some things before we move on um obviously with regards to the with regards to the log out timer uh anybody any person that's ever worked on any online game knows the difficulty of managing a log out timer and stuff that you know punishes the people who alt f4 and and and try to abuse the system without also punishing folks who have legitimate client crashes or internet outage and whatever that that balances is one of the forever challenges of
- 00:42:52
every online game and Star Citizen is no more immune to it than anything else so that is one of those considerations that will obviously be debated and talked about and discussed and for Ad nauseam until we come up with whatever our solution is and I'd no doubt we'll look at what other online games are doing and stuff like that because you don't have to reinvent the wheel if there's a solution out there already um and then I do want to add on a personal note um folks will often it's easy to assume that we do these shows just for the backers that when we produce an ISC or an SEL it's just for the people who support the game but one of the weird kind of Hidden Truths that have emerged over the years is that it's also a great way to inform your work base a lot of the
- 00:43:41
people who work for cig learn about what other teams are doing and how they're progressing and get ideas for oh they got that you know I can do it over here I already had somebody one I had somebody message me and say the camper chair that they saw Lewis making one episode is the exact thing they need for this other thing they were considering they didn't know it existed until they saw it on SEL one of the reasons we decided to do this show was because a lot of these misconceptions and misunderstandings and stuff that we were seeing within the community also existed within our own teams oh yeah so it's it's you know it's I'm not ashamed to admit that this is a really big huge change to the foundation of the game so so as as Paul said it's it's one of the reasons 318 will be about maintaining and converting uh what we had and then like We're Off to the Races with what
- 00:44:32
with with the with what every other programmer and designer in this company once they have this tool set with them uh is inspired to create and that's what's really exciting about PES um all right we have got 15 minutes left so I want to talk I want to talk about some density management stuff because a lot of the big a lot of the conversation is about you know I'm gonna throw a can somebody's gonna throw a can somebody's gonna throw a can of prison we're gonna have giant mountains of trash like it's Idiocracy um uh uh what are the movie by the way what are the plans for culling in PES will it involve staying when in proximity to players uh what can you tell us about calling plans okay uh that's a good question um with our old system we had this uh it's called lifetime management and it
- 00:45:20
would arbitrarily remove entities once they had a certain cup and we realized that's not really great for play experience for example I think at the moment players can only spawn up to three ships if they spawn another ship the old one gets removed um for persons and entity streaming we actually revisit that problem and we we decided okay how can we make this a uh nicer for the player but also B how can we make this actually work uh good for personality streaming and also for Server meshing where maybe it doesn't make sense if if a player has five ships spawned and they're all separated in open space and streamed out they don't really cost us performance so why why do we still need to arbitrarily limit that and for that we have uh the the guys in
- 00:46:10
Frankfurt developed a new system it's called density management and it operates on relative cost of an area so the idea is that instead of just taking arbitrary numbers on objects we look at areas and we look at the amount of items in that area and we only start to remove items the moment the the relative cost of that area becomes too high so as long you spawn your ships in different locations and they're all spread out we will never touch them or remove them however if like now everyone goes to the same spot and you start spawning ships and spawning ships at the same location that's when this the system will find out okay now the performance goes down because our
- 00:46:58
relative cost in that specific area goes to high and then we will start deleting items which also follows a certain rule set so we will delete all those items first we will also have a relative priority on items so a playership for example is very high priority right so we would not delete the playership versus a coffee cup for example would be the first item to to go away um and then with with that we try to get the game to like where it's very uh it's not very invasive to you so you don't just see stuff disappearing out of out of an air exactly like the the approach we're taking is that most of this cleanup will happen during stream out so if an area streams out that's when the density management will make a first initial pass I will say hey in this area
- 00:47:46
we had 50 coffee cups and that's uh that's that's too much so we start removing them and then we only go into the more aggressive policies once it's really becoming maybe an area never streams out or whatever all players decided hey I mean I kind of expect that right once we go get PSL probably everyone will like let's all go to port olusa and drop all our coffee mugs on the floor and like keep doing that right that's what you guys will do anyways um so I hope I didn't gave you any ideas that idea was already out no sure yeah I figured I figured that's as much so uh basically the system the system will take care of this but it will be a smarter system it's a smarter system than what we have right now yeah one one
- 00:48:34
thing to add to density management too is that it it also has this concept of references and so for example if an entity because this also covers NPC entities right so like AIS and you know whatever else and so if a specific um entity is actually being referenced by a mission active Mission or active player for example then there's a ref Gant thing a reference counting system that will prevent those from being actively reaped so that you know it again the the I think the goal with density management is really to make sure stuff doesn't pop out of your view you know and and break your game experience so but we still need a a density measurement system to prevent you know overloads but that's the approach in general with the with the talk about the priority system and and
- 00:49:22
that's all very very cool and very needed I think whatever current priority system we have thinks hospital gowns are the most important thing in the entire universe they are just the sheer number of hospitals and I guess weapon crates too but sure just yes box armor less but I think it's a flaw of the current system because uh it's not that's not intended not if you really like hospitals it is it is basically a design bug by with our current lifetime system you have to put in a lifetime policy on every single item uh entity class and then if you if you forgot that for example on an item box that means those item box never get cleaned up uh or if you set a wrong value on it so it's very uh like at this when we initially designed that I thought we thought it's
- 00:50:11
a good idea to give like per entity class a policy however with so many different entity classes it it becomes a maintenance and uh also uh a balance uh Nightmare and for that we basically went away and said okay well let's programmatically calculate the cost of items and it it doesn't really matter like uh if if someone changes the the asset for an item it will automatically update the cost of the item because we look at the actual the mesh and the size the bounding box and and and figure out the cost that way um and then the only thing designed needs to do is give it a little bit of different priority um and at the same time as Benoit said also like a mission relevant objects we just like give them a ref counter while
- 00:50:59
the mission is active so the density system wouldn't delete a mission relevant objects which would render your mission for example uncompletable so we want to avoid basically the density system deleting whatever your your mission box you're supposed to pick up right um but but that system um like again it's not intentional what we have right now in the game it's just the result of our old lifetime system and and just the sheer amount of uh maintenance and and balancing design needs to do to uh to to get the system right and that's that's also part why we replaced it with the new density management and it also the old system never took a location into account right it doesn't matter if 50 items are on the same location or 50 items spread out if
- 00:51:48
the system thinks oh 51 it's one item too much I delete the render one um and obviously that's not really what what we want and it also predates even server streaming with server side streaming we can now have items in the world as long they're not streamed in they don't cost anything right they they are just in memory and now they're in a database so it's even cheaper to hold them so if density was too too aggressive it would basically undo whatever PS is trying to achieve so it needs to be perfectly balanced right that's that's actually exactly that that set though I still expect the first iterations of our first evocati test that we need to tweak the system heavily because we haven't like really seen how it behaves with you
- 00:52:38
know we can do all our testing in-house it's never the same as if you open it to you guys and you just do whatever you guys do in the game so until until that happens we obviously there will be there will be heavily tweaking so maybe the first version will be very aggressive and then we need to tone it down um but in the end the system will will give a better play experience for sure so bad news for anybody that's been hoarding hospital gowns to use the currency in the post-apocalyptic future of Star Citizen um I took note that we should lower the priority of Hospital guns all right so I think we got time for maybe two more questions um uh I want to jump ahead to uh to a very common one about mfds and stuff uh will PES allow for ship States uh mfds gimbal modes scanning angles all these
- 00:53:28
things to persist uh within player ships so the I did actually inquire about this a little bit before we came here because obviously this is game go driven so it's not something that the PS team actually controls though we do enable persistence for those things so I do believe that gimbal's modes might persist because they're implemented with a serialized variable so that mean that this would stay for mfds and scanning angles we don't know yet that needs to be confirmed by the combat team uh but there if it's implemented with serialized variable then yes uh if it's not and it's a reset like again a bit like the spawning location right if they every time you sit in the seat it changes a value then doesn't matter if it's persisting right so uh but that's something that all the game teams will
- 00:54:15
be tweaking up until we get there and if they can benefit from it I'm sure they will jump on it absolutely yeah this is I I really like this question because it demonstrates the uncertainty that's involved in what's going to happen in in the next couple weeks uh obviously this the first version of the persistent Universe went out in December 2015. since I mean there's there's a lot of entities there's a lot of code there's there's a lot of people who have come through cig and and created things in one way or another way and it's impossible to know how this change is going to affect everything that's been the huge testing that we've been doing internally we already talked about that's the months of testing that CI referred to in the letter from the chairman back in uh spring of this year I don't remember
- 00:55:02
what month uh but yeah so it's we're going to discover that stuff together when we go to ebukati through PTU and then yeah it's just it's a question of just converting those things that aren't two so that they will work uh last question uh before we go um I asked you this at the end of our last is our last Bes report Benoit I'm going to do it again because now that Paul's here how do you feel it it's we've done we've done a lot of tech talk we've done a lot of you know process stuff but you guys have been on this for over a year I I mean I don't I don't know exactly how long you've been on it but with with the light at the end of this tunnel not exactly close but closer now than it's ever been how are you guys feeling
- 00:55:57
me personally I'm super excited like as you said we worked on this like almost two years uh on the new database on a new tech and we worked obviously with our Strike Team pretty hard but in isolation in our own stream to develop all the tech develop new Services uh all this stuff and now that we finally in gained if it's really exciting to see it all come together uh to start seeing game code teams jump on it and adjust their system uh so it's really it's it's really great and and for me I also personally feel it's it's a very big stepping stone towards server meshing because that this is the tech which actually enables us to separate the simulation from the state and that will allow us to introduce server nodes and it will allow us to replicate State
- 00:56:45
between different servers and that will also allow us to really scale scale the system right so I'm super excited uh at the same time time it's also a giant challenge as I said it's a ton of new Services ton of new technology it all needs to be better tested um we're working hard on that um but yeah I'm I'm I'm excited I'm happy that we we got the tech together like the the foundational work uh we got it in the main main line and now it's just tweaking stabilizing and getting it uh in your hands for for testing and destroying it yeah I'm still I'm still excited as well like the the it's been a super big rush to get it in the main line but now we get all the energy of the entire company behind us so it's really
- 00:57:32
you know that gives us another boost right to you know get there obviously it also comes with a bunch of issues but at this point it's it's fun to fix them and you know we actually see the effect in game and different subsystems and stuff so it's it's super exciting and it's also it was great to go through questions from the community and try to you know get the especially the plans for 318 which I know are not simple to understand because of the where we're going and this is like the stepping stone to get there but it was really interesting to see how you guys see it uh also some questions were interesting in that in in sort of predicting what could happen which is which is also great we're in the same boat right like even though we do try stuff and we know what will work and what will not there's so many subsystems there that you know
- 00:58:20
there's a lot of room for surprises so we'll see but yeah I'm totally pumped yeah uh I I feel like other projects might be afraid to admit how much they don't know but that's that's not what that's not that's not cig that's not us uh we're going to discover a lot of this together as it continues to go um all right we've still got a minute I'm gonna ask one more question then [Music] you've you've you've got this audience here that'll go up on YouTube you've got the audience there what one thing do you want to make sure everybody understands about this work about PES about 318 about your role in it whatever you want if if you could if if you could make sure drive home one last thing that you want to make sure everybody takes away
- 00:59:09
from this what would it be like for me it would really be the appreciation and the understanding that while on the surface especially with 3.18 it might not feel too different of what we have in the previous build the foundational changes underneath and the the structural changes in our core engine in our core entity system all like everything you do runs to complete new set of servers complete new set of like the replication layer got completely Rewritten The Entity system got completely changed we separated entity creation and entity spawning there's a lot of like really cool stuff and like really exciting Tech behind powering that uh and it's also
- 00:59:58
all made to scale and to like run in the cloud have stateless Services be able to horizontally scale this thing and like all this stuff even though in this very first version it won't feel so much different like the code that runs behind the scenes a little bits and bytes are completely different um and just to get to parity this is what we had before is a giant achievement even though it doesn't feel so different in the very first version yeah no I think I think you hit the nail perfectly I think that's the that's the big change right is that we're we're finally making with this I think the game at true cloud service as it should be a cloud native service which is really what we need to make a real persistent universe and so we're this is
- 01:00:47
a giant step in that direction right uh in moving the game server and its services together into a true Cloud native setup that can really scale to the vision that Chris has for this game which you know even for persistence itself it's persisting the entire game world is you know so it's crazy like it's a lot of data it's tell you know it's millions of entities that need to be stored and retrieved and so like Paul said well it doesn't look like much has changed getting the data in the game server and out of it has completely changed which which is a big it's a lot of code and a lot of code changes that touched it all right gentlemen you did it you typed my persistent enemy and we made it through the full hour uh
- 01:01:35
I think it was a good show to coding yeah we got a lot of good information out there hope you guys enjoyed it as as much as I did uh remember uh iscs just came out uh updates on hole stripping and uh uh the Drake bulture and a little bit about FPS repair in there and tucked in there so check that out uh next week on ISC we've got a meet the team for a brand new team that is that has not existed in at cig before uh they were founded just five months ago and this will be the very first time you're hearing from this team and getting introduced to the team I'm not going to tell you who it is you're gonna have to tune in to find out uh and then uh and then yeah we'll be back here for Star Citizen live next week I didn't look at who it was before I did this I'm not perfect I really should do
- 01:02:23
that stuff and then the big thing though I remember citizen con is coming back on October 8th uh it is your chance to see the latest and greatest uh uh uh from many of our teams around the around the globe as we begin this journey to 4.0 uh uh uh storytelling promotion that we're doing you're gonna see that stuff in citizencon and then you know continue beyond that so check that out uh that'll be on Twitch uh I I think we're starting at 8 A.M Pacific but check out citizencon.com for the details because I clearly cannot remember them so for Star Citizen live I'm Jared Huckabee that's Ben Wabo seizure and I always say his name because it took me so long to learn it I'm so proud of myself Paul Rendell thank you so much for hanging out with us and we'll see you
- 01:03:11
next week everybody take care thanks guys thank you bye-bye that sounds perfect you have it I know excellent it only took me like six years that's okay you have to you have to work on your grindel though reindel yeah I'll work on it
Transcript from YouTube’s automatic captions — punctuation and Star Citizen jargon are approximate. The video itself is hosted by CIG on the official channel.

