Creatives vs. Engineers

Richard Bong

Space Marshal
Jul 29, 2017
2,251
6,206
2,850
RSI Handle
McHale
Cheers you two, I have absolutely no memory of smaller stations - I know they added elevators for the Cargo decks and stuff which ballooned some of them but can't recall...

I like Long Forest and Faint Glen, they are both quite self contained, were the old rest stops like those...?
You came out of the elevator entered an alcove with the ship terminals, which was directly attached to an area similar to the main hall of the "Galleria" area with the main level and an upper level.

The Rest Stops were smaller than Port O but were designed to be expanded with a cargo handling area for the Hull series, and were big enough for hangars. I don't know they were ever intended to have habs, or med facilities, but it wouldn't have been difficult to slap modules on them.

They were bigger than the Rest Stop shown in this: https://www.youtube.com/live/mGcG0g7GsOI?si=_7ZsGpkrenesfqjM (Starting at the 23:20 mark) but no where near the size of what we have now.
 

NaffNaffBobFace

Space Marshal
Donor
Jan 5, 2016
11,905
43,769
3,150
RSI Handle
NaffNaffBobFace
You came out of the elevator entered an alcove with the ship terminals, which was directly attached to an area similar to the main hall of the "Galleria" area with the main level and an upper level.

The Rest Stops were smaller than Port O but were designed to be expanded with a cargo handling area for the Hull series, and were big enough for hangars. I don't know they were ever intended to have habs, or med facilities, but it wouldn't have been difficult to slap modules on them.

They were bigger than the Rest Stop shown in this: https://www.youtube.com/live/mGcG0g7GsOI?si=_7ZsGpkrenesfqjM (Starting at the 23:20 mark) but no where near the size of what we have now.
Ohhh, blimey yeah I think I remember... Man I'm gettin' old.
 

ColdDog

Space Marshal
Donor
Oct 3, 2014
1,371
3,680
2,560
RSI Handle
FatalisSmilodon
I agree with all your points.....however...

If CIG gives up on Server Meshing, the game's dead in the water. Without it, we'll be stuck on 50 man servers doomed to pilot our expensive Idrises/Javelins/etc solo.

Might as well play a single player game like Starfield at that point.
Wrong question, the right question is there another way around this mountain? The Donnor party had the same problem and they chose the wrong answer.
 

ColdDog

Space Marshal
Donor
Oct 3, 2014
1,371
3,680
2,560
RSI Handle
FatalisSmilodon
Wow... this is a great reply! I think we just need to step back and reevaluate everything, especially the priorities. I will admit, SQ42 was never my goal or what I even wanted. I wanted the "verse" hence I am disappointed. SQ42 was Chris Roberts's ego - was something nice on the side. So yes, Chris devoted everything to something that would come and go just like Wing Commander - my kids are not telling me to download it. Do you think 20 years from now anyone will care about SQ42 - no. If everything is done right they will care about Star Citizen. Star Citizen can be around for many more decades.
 
  • Like
Reactions: Bambooza and Deroth

ColdDog

Space Marshal
Donor
Oct 3, 2014
1,371
3,680
2,560
RSI Handle
FatalisSmilodon
I just noticed CIG finally removed Lumberyard from the launcher's splash window, so guess they did officially cut ties, don't play to switch to O3DE, and are going forward calling their own engine, that forked from CryEngine and Lumberyard, as 'StarEngine'. There are advantages to this, but that also adds more potential technical debt as they're currently the only ones using it or developing tools and assets for it, before it will be in a state to be used to creating additional games or marketing the engine to other developers.
That sounds like a tactical mistake.
 
  • Like
Reactions: Bambooza and Deroth

Micaxs

Commander
Oct 30, 2023
4
43
100
RSI Handle
Micaxs
Server Meshing / Persistent Entity Streaming is 2 technologies that have never been done or achieved in multiplayer games before at least not in the way they want this to work or the scale. I am very skeptical about this, but the first PES details we received and understanding the technical layers behind this, it looked promising at the time.

Skipped ahead and we got to see a live demo of a tiny server meshing setup already in a 'working' state. That little tech demo which seemed boring and useless to most, is most likely the most valuable thing they showed in citizencon this year. (From my perspective at least).
 

Deroth

Space Marshal
Donor
Sep 28, 2017
1,830
6,137
2,850
RSI Handle
Deroth1
That sounds like a tactical mistake.
Could be, it could also be strategic genius, time will tell.
If they turn StarEngine into something that can compete head-to-head with Unreal Engine and Unity Engine, that other developers pay them for licenses and support, then it could potentially fund their operations for decades (as long as they continue to update and maintain it) all by itself.
To my understanding, they had originally stated they intended to make it a marketable tool for CryEngine, then for Lumberyard, but with how things went with both of those I can't say I'm surprised they've cut ties, and with how much technical debt they've already absorbed from CryTek and Amazon, due to those two not doing the things they said they would, CIG is kind of tied to the path they're on now (O3DE does not have enough open source industry support to take up any slack for them and CIG is way too far into development to switch to some other engine.)
 

Shadow Reaper

Space Marshal
Jun 3, 2016
4,864
14,108
2,850
RSI Handle
Shadow Reaper
Interesting this has been necro’d now that server meshing has debuted. I’d love to hear analysis of the nascent capability from real coders. How should we regard what we’ve been shown about the evolution of online gaming? Is meshing going to work?
 

Ayeteeone

Space Marshal
Donor
Oct 22, 2018
568
2,215
2,000
RSI Handle
Ayeteeone
@Shadow Reaper in a practical sense, with the demo working it becomes a matter of scaling. The point of 'dynamic' server meshing is to allow the hypervisor (or whatever name it is given) to be very specific in that scaling. Some obvious questions include what actually needs to move between servers, how much of a load each should have; what is likely to happen based on other 'attached' servers, how much crap have players already left there, and the effect of existing mission chains/cargo runs on the predicted load. I'd guess that this 'director' part of the system probably still wants a lot of work as it's foundation has just been placed.

Much of this will be deeply influenced by whatever magic they are using to shift authority over the entities; I've not seen their algorithm but in analyzing what they've shown I'm guessing that there is some parallel processing happening. It appears that any given entity is being processed by multiple connected servers, but only one has authority to write to the Replication layer while the others must accept external updates. Simplest answer, not necessarily the correct one as this implies any given server is actually doing work well beyond what it has authority over.

This is not a new idea in any way (avionics systems have been doing something similar since the Space Shuttle) but it is complicated stuff for a video game that wants it to work within human time references.

@ColdDog Bro, thinking you might owe the thread a beer. There is always a place for rational criticism, but some of your callouts are clearly interpretation and not really supportable after this CitizenCon.
 

Bambooza

Space Marshal
Donor
Sep 25, 2017
5,716
18,052
2,875
RSI Handle
MrBambooza
Interesting this has been necro’d now that server meshing has debuted. I’d love to hear analysis of the nascent capability from real coders. How should we regard what we’ve been shown about the evolution of online gaming? Is meshing going to work?
Meshing is going to work, just like object container streaming. Both technologies while not really used in gaming are sound technologies used outside in other industries. I am surprised it's taken them this long to implement but I do not know their programing team size, expertise and the limitations of the cryengine.

As for object container streaming the back end is simply a tree storage problem and in fact Microsoft released in the sql server 2005 T-SQL Querying. Given that the objects themselves are not mutable (changing) it reduces the information needed to be stored to just its ID object ID and world cords. And then the parent ID and a list of children ID'S. Thus a tree alg problem. The database/replication layer don't need to know anything about the object mesh, bit map or material type beyond the ID values for customization.

Streaming into game new objects has been around for ages even things like Garry's mod for half life 2 allowed for new objects be added to the game world in real time from an object list. The trick that cig is attempting is to not have their entire world object list reside in server memory all the time but be quickly anticipated and fetched as needed. Servers object meshes depending on the game world requirements don't generally have the same fidelity (hitbox) as the client instead of the wire mesh the client uses for rendering. This saves on calculation cost when updating the game world on collision detection and damage. But given they still need to track every object in their game world view can easily get bogged down in calculations where the client typically gets told the location of objects that have changed (delta) since last update (tick). Lots of recent games have done away with server authoritative designs for console due to limited resources and cost savings on hosting servers and gone with a peer update model where each client updates the others about their changes. But this also opens the door to all the fun cheats we often see in multi-player games.

So while I'm sure it was a slog to enable object container streaming and server meshing in the engine it's fundamental not that new to the industry as a whole. A lot of the toil is simply a repercussions of the engine choice and scope creep. While I cannot fault cig for the outcome as the initial choice was sound at the time and initial scope it's been a long road to getting the engine up to speed with the new vision.

For me the technologies that are more impressive was the tools used in planet tech the procedural crafting of poi, river modeling and the huge amount of assets currently in game.
 
Last edited:

Bambooza

Space Marshal
Donor
Sep 25, 2017
5,716
18,052
2,875
RSI Handle
MrBambooza
@Shadow Reaper in a practical sense, with the demo working it becomes a matter of scaling. The point of 'dynamic' server meshing is to allow the hypervisor (or whatever name it is given) to be very specific in that scaling. Some obvious questions include what actually needs to move between servers, how much of a load each should have; what is likely to happen based on other 'attached' servers, how much crap have players already left there, and the effect of existing mission chains/cargo runs on the predicted load. I'd guess that this 'director' part of the system probably still wants a lot of work as it's foundation has just been placed.

Much of this will be deeply influenced by whatever magic they are using to shift authority over the entities; I've not seen their algorithm but in analyzing what they've shown I'm guessing that there is some parallel processing happening. It appears that any given entity is being processed by multiple connected servers, but only one has authority to write to the Replication layer while the others must accept external updates. Simplest answer, not necessarily the correct one as this implies any given server is actually doing work well beyond what it has authority over.

This is not a new idea in any way (avionics systems have been doing something similar since the Space Shuttle) but it is complicated stuff for a video game that wants it to work within human time references.

@ColdDog Bro, thinking you might owe the thread a beer. There is always a place for rational criticism, but some of your callouts are clearly interpretation and not really supportable after this CitizenCon.

I'm sure you didn't mean hypervisor here as that is used to enable vm's.

The key to the server meshing implementation is the use of a external replication service that handles the current world state of every mutable game object (some objects can't move or change and thus don't need to exist here). The only in theory way to update objects are authorized servers (will be the focus of game cheats for when you gain authority here you rule the game). Clients are no longer getting updates from servers and I'm sure there is a client update distribution layer for routing client updates to the correct server for processing and updating the replication layer. It's also why they switched from projectiles as objects back to hit scan so that the calculations for damaged can be more easily calculated across control planes. Ie the server can pass on damage values to objects it doesn't control but knows the objects current location based upon the replication layers object state.
 

Ayeteeone

Space Marshal
Donor
Oct 22, 2018
568
2,215
2,000
RSI Handle
Ayeteeone
I'm sure you didn't mean hypervisor here as that is used to enable vm's.

The key to the server meshing implementation is the use of a external replication service that handles the current world state of every mutable game object (some objects can't move or change and thus don't need to exist here). The only in theory way to update objects are authorized servers (will be the focus of game cheats for when you gain authority here you rule the game). Clients are no longer getting updates from servers and I'm sure there is a client update distribution layer for routing client updates to the correct server for processing and updating the replication layer. It's also why they switched from projectiles as objects back to hit scan so that the calculations for damaged can be more easily calculated across control planes. Ie the server can pass on damage values to objects it doesn't control but knows the objects current location based upon the replication layers object state.
Hypervisor is used as a generic term for the managing layer; the intent was to imply decision making responsibility. I'm sure they have a different internal name for it.

I agree with your statements here, and would like to also point out that the replication layer is not a necessary element of server meshing. It's easy to appreciate their use of it for the purposes intended (stability) but at the end of the day it is itself just another server, probably very lightweight to insure performance with an intensely focused purpose.
 

Bambooza

Space Marshal
Donor
Sep 25, 2017
5,716
18,052
2,875
RSI Handle
MrBambooza
Hypervisor is used as a generic term for the managing layer; the intent was to imply decision making responsibility. I'm sure they have a different internal name for it.

I agree with your statements here, and would like to also point out that the replication layer is not a necessary element of server meshing. It's easy to appreciate their use of it for the purposes intended (stability) but at the end of the day it is itself just another server, probably very lightweight to insure performance with an intensely focused purpose.
I have not heard of hypervisor use in a context outside of vms but I can see your abstraction of its purpose.


You are right on the fact that the replication layer is just a separate server/servers maintaining a dynamic list. I have to wonder if the underlying tech is nosql. I do note that they had a post about it recently in regards to it having issues with the number of transactions and performance and working with the vendor for a fix.
 

Richard Bong

Space Marshal
Jul 29, 2017
2,251
6,206
2,850
RSI Handle
McHale
Meshing is going to work, just like object container streaming. Both technologies while not really used in gaming are sound technologies used outside in other industries. I am surprised it's taken them this long to implement but I do not know their programing team size, expertise and the limitations of the cryengine.

As for object container streaming the back end is simply a tree storage problem and in fact Microsoft released in the sql server 2005 T-SQL Querying. Given that the objects themselves are not mutable (changing) it reduces the information needed to be stored to just its ID object ID and world cords. And then the parent ID and a list of children ID'S. Thus a tree alg problem. The database/replication layer don't need to know anything about the object mesh, bit map or material type beyond the ID values for customization.

Streaming into game new objects has been around for ages even things like Garry's mod for half life 2 allowed for new objects be added to the game world in real time from an object list. The trick that cig is attempting is to not have their entire world object list reside in server memory all the time but be quickly anticipated and fetched as needed. Servers object meshes depending on the game world requirements don't generally have the same fidelity (hitbox) as the client instead of the wire mesh the client uses for rendering. This saves on calculation cost when updating the game world on collision detection and damage. But given they still need to track every object in their game world view can easily get bogged down in calculations where the client typically gets told the location of objects that have changed (delta) since last update (tick). Lots of recent games have done away with server authoritative designs for console due to limited resources and cost savings on hosting servers and gone with a peer update model where each client updates the others about their changes. But this also opens the door to all the fun cheats we often see in multi-player games.

So while I'm sure it was a slog to enable object container streaming and server meshing in the engine it's fundamental not that new to the industry as a whole. A lot of the toil is simply a repercussions of the engine choice and scope creep. While I cannot fault cig for the outcome as the initial choice was sound at the time and initial scope it's been a long road to getting the engine up to speed with the new vision.

For me the technologies that are more impressive was the tools used in planet tech the procedural crafting of poi, river modeling and the huge amount of assets currently in game.
Since things are supposed to be destructible and some things like guns and ships have a wear state and potentially a damage state the objects are mutable. Making the database have a longer string, or be a matrix variable, depending on how many states need to be stored. Further having objects within objects (power plant in a ship for example) complicates the process.
 

Bambooza

Space Marshal
Donor
Sep 25, 2017
5,716
18,052
2,875
RSI Handle
MrBambooza
Since things are supposed to be destructible and some things like guns and ships have a wear state and potentially a damage state the objects are mutable. Making the database have a longer string, or be a matrix variable, depending on how many states need to be stored. Further having objects within objects (power plant in a ship for example) complicates the process.
There are a number of mutable objects like ships which do contain health /damage states like missing wings, names and paints. But all of these are just variable values on an object class. As for storing the PowerPoint in the ship its all part of the objects child list (tree). It's how they handle the placement of coffee cups or cargo containers as well. It's why you can sometimes spawn a ship that is missing things like doors as the tree fetch broke or the storing was not complete.
Destructible I'm not sure how they are doing it but past games typically would swap out the whole item to the broken items and then give them a force imput and let the physics engine do its thing.
 

Richard Bong

Space Marshal
Jul 29, 2017
2,251
6,206
2,850
RSI Handle
McHale
There are a number of mutable objects like ships which do contain health /damage states like missing wings, names and paints. But all of these are just variable values on an object class. As for storing the PowerPoint in the ship its all part of the objects child list (tree). It's how they handle the placement of coffee cups or cargo containers as well. It's why you can sometimes spawn a ship that is missing things like doors as the tree fetch broke or the storing was not complete.
Destructible I'm not sure how they are doing it but past games typically would swap out the whole item to the broken items and then give them a force imput and let the physics engine do its thing.
Yes. It is all part of the variable, but it adds additional complications, and needs to be accounted for. It's not just object, location and vector (which could be a pair of base 16 numbers), the objects are mutable and can be containers.

I'm thinking most objects will need to be stored as an array, not just a single entry, which significantly increases the complexity of the task, and slows transfer down.

Note I'm not saying it can't be done, just that there are definitely obstacles to overcome.
 
Last edited:

Lorddarthvik

Space Marshal
Donor
Feb 22, 2016
2,781
9,652
2,860
RSI Handle
Lorddarthvik
There are a number of mutable objects like ships which do contain health /damage states like missing wings, names and paints. But all of these are just variable values on an object class. As for storing the PowerPoint in the ship its all part of the objects child list (tree). It's how they handle the placement of coffee cups or cargo containers as well. It's why you can sometimes spawn a ship that is missing things like doors as the tree fetch broke or the storing was not complete.
Destructible I'm not sure how they are doing it but past games typically would swap out the whole item to the broken items and then give them a force imput and let the physics engine do its thing.
If I remember correctly they said on the destruction panel that each and every broken off part from let's say a wall also has it's own ID and is shared across to make it the same for everyone involved. So it's not just that the server registers the destruction and lets it go, then a local physics sim takes over per client like in every game I can think of. Mind you I haven't played games like newer BF or Squad or such where this might be a thing already on a much much smaller scale. Usually those broken off pieces don't carry over between clients, don't have collisions or any effect after the break, and are faded out some time after the fact.

If the above is the case, it means even more calculations for the server for the physics sim.


As a sidenote, for the original argument of engineers vs creatives: I just realized that my collogue, the most talented artist at the studio I freelance for, is actually an architect by degree. I also did 3 years of engineering in uni, and became a CG artist cos learning engi was effing boring and I can still make good use of logical problem solving while getting a tangible result... So yeah, sure, "creatives are all stuuupid, engineeees are bestest"!
 
Forgot your password?