Game Discussions Star Citizen Discussion Thread v12

So, if I fire a missile from one server, is it going to hit a ship on another server?
It gets complicated pretty quickly right?
Note: pls take what I'm going to say with a grain of salt... I probably know less than you about server meshing.
The answer to your question is YES... but only granted that the other ship you are trying to hit is within range and capabilities of the weapon you fired at said ship. It gets complicated since we don't know how CIG will implement things under the hood but let's say for the sake of argument that when you fire a weapon then an object (the projectile if you wish to call it that) is created an thrown at the said ship you are trying to hit (this is visually represented by the flashy effects we get in game), as soon as this projectile is created it must be handled by a server and will be treated as any other object in the game, we will assume that the same server that is handling your ship still have capacity and can handle this object too, so this projectile can cross the boundary in the same way your character or ship does.... except this object do not need any kind of feedback or trickery (like a pretty quantum travel animation). Is just a matter of communication between server... Server A: hey I got this object of type X that is leaving my boundaries towards yours at x,y,z coordinates and with S speed... bla bla bla... ServerB: Sure, i'll handle it.... ServerA: Cool, thx... let me know if you got all info... ServerB: all looks good... etc etc etc

If I'm not wrong this whole thing is called "Object Container Streaming" in CIG development jargon

Know if you want to complicate things you can add to the mix that CIG can use many servers to handle the same area at same time, and even further one server can be in charge of handling ships for area A (which can be either a whole star system or a tiny outpost/cave) while another server handle said projectiles... it can get really complicated and all depends on what the developer aims for.


Edit: What about 5 servers away in another system? (it's just a number)
Again, if CIG implements such type of gameplay (long range torpedos capable of quantun/jumping) then i don't see why that wouldn’t be possible... but i don't think such thing is planned though, from what i've seen CIG is going for close range.

Edit: Looks like someone with more OOP knowledge than me also answered your question so I highly recommend it over mine xD https://forums.frontier.co.uk/threads/star-citizen-discussion-thread-v12.548510/post-9124209
edit2: amazing how I can read my responde couple of time before posting and still miss the errors I’ve make
 
Last edited:
So, if I fire a missile from one server, is it going to hit a ship on another server?

Yes.

(not an expert, please treat what I write with the same level skepticism you would apply to the next announcement of the release date of Squadron 42).

"Dynamic meshing" means that a group of servers maintains a common data structure representing the "ownership" of parts of space by each server. The partitioning must be dynamic and flexible, i.e. it has to allow for:
  • each server to maintain sub-cubes of space of different sizes (because the density of objects is different and we want each server to maintain only a certain number of objects at maximum)
  • repartitioning of the space into sub-cubes as the distribution of objects to track in the game space changes
For example, if we have an empty chunk of space (no objects to track), there is no server owning it. If a player enters it, a space partition of some large size is created and a server process is spawned to control it. As more objects (players, NPCs etc.) are entering this partition, it gets subpartitioned into smaller cubes, each with each server etc.

This underlying data structure would probably be an octree:


This solves the issue of ownership, i.e. as long as the position of all objects can be tracked, some kind of overlord partitioning process can decide how to transfer or redistribute space and therefore ownership, spawn new server processes (or even keep a reserve of hot ones to avoid long spawn times) etc. If an object crosses a spacial boundary between two partitions, the ownership is transferred to the "receiving" partition, ideally in more or less real time (i.e. messages about this event is propagated to all "interested" server process).

But! Repartitioning takes time, the faster you need to be, the more reserve resources (hot server processes) you need to keep, which costs money, negating some of the economic benefits of dynamic resource allocation etc.

Now, here is where everything is getting crazy. The more objects there are to track and the more realistic physical calculations there are to be taken into account, the harder it is to synchronise and repartition in (perceived) real time, with minimum experienced lag. Why? Because for each event, there are more resulting interactions that propagate to "neighbouring" servers. If weapons are only of hit scan type, it is simpler than when we have to calculate a bullet trajectory (spawn another object, maybe repartition, track its trajectory, transfer ownership etc). If there is no realistic physics simulation (no physicality, "transparent" objects that do no collide), there is no need to calculate collision vectors and reactions for objets from different servers.

Now imagine a large battle - tens of large ships, hundreds of smaller ones, countermeasures, missiles, each character (player or NPC) fully physicalised in each spaceship, at every battle station, with inventory like weapons, med-pens or whatever etc. Large explosions, sudden changes of trajectory of hundreds of objects, all of that in sync across who knows how many machines, including unreliable game clients.

And let's not even mention a hypothetical single physics grid that happens to be on the border of two spatial partitions. I am not even sure how this is supposed to work or if there exists a realistic, distributed, real time physics engine that can do it. All the Erin talk about thousands of players in the same game instance, with hundreds of them in a single room because of the repartitioning magic? Manure, I say.

This is where IMHO something has to give - while theoretically such a system is possible, practically it is not feasible because the density of messages used to propagate event cascades across spatial partitions (and therefore, processes) is too much to process fast enough. It will be either a lot of physicalised fidelity or real time, smooth interaction. Not both.

Edit: What about 5 servers away in another system? (it's just a number)
Probably a separate octree per system. The only thing worth tracking across systems is which player sessions are placed in which game world instance, i.e. regardless of how often players jump from system to system, they can always meet if they agree on a meeting location, as long as they started in the same game instance.
 
Thanks for the answers guys but I'm firmly in the ' No they can't do it' camp. This is part of the dream Roberts sold to the backers and right from the start I thought it was not possible. Even with the technology we have today, never mind 10 years ago.
 
@cigwatch
Player A and B are having a dog fight and player A fires a missile. If player B moves onto another server where player C already is then if the missile moves server player C could be hit by a missile appearing from nowhere. So I don't think they will be doing that.
 
@cigwatch
Player A and B are having a dog fight and player A fires a missile. If player B moves onto another server where player C already is then if the missile moves server player C could be hit by a missile appearing from nowhere. So I don't think they will be doing that.
Imagine standing there on a distant planet admiring the sunset for the thousandth time, when you are fatally struck by a cocktail mixer that had been lost overboard from a ship in a different star system years earlier. Now that's fidelity!
 
Thanks for the answers guys but I'm firmly in the ' No they can't do it' camp. This is part of the dream Roberts sold to the backers and right from the start I thought it was not possible. Even with the technology we have today, never mind 10 years ago.
No problem... I think is possible. See the goal of server meshing is nothing new in online gaming... some MMO have been doing this for decades now... Eve Online comes to mind. I think other developers call it “single shard”

But in my case you put a finger in the would (so to speak)... “what CR sold to backers”... No... as far as i can remember, originally the game was meant to be instanced. In fact I think the “Death of a spaceman” article CIG published back then (after the kickstarter) still talks about a galaxy server that would handle persistence and battle instances that the player would be pull into... in fact the PvP slider would have an effect over who would be streammed to your battle instance according to your preference...

I’m on the camp that, yes, it is possible... but to have the “big space battles” CR wants it will require so much bandwidth and compute time (and other resources) that the game would need a subscription or heavy monetization in other to pay Amazon for the use of those resources... Eve gets around this because they have a system in place (Time Dilation) to slow down the players actions and give the servers room to make the proper calculations and track what everyone is doing and avoid lag spikes, etc... effectively turning a 10/15 mins in game fight into something like 8 hours in real life (worst case escenario when there are lost of players on a node/system)... but star citizen can’t afford that due to the nature of gameplay (ship to ship and first person shooter)

edit: typo
 
Last edited:
No problem... I think is possible. See the goal of server meshing is nothing new in online gaming... some MMO have been doing this for decades now... Eve Online comes to mind. I think other developers call it “single shard”

But in my case you put a finger in the would (so to speak)... “what CR sold to backers”... No... as far as i can remember, originally the game was meant to be instanced. In fact I think the “Death of a spaceman” article CIG published back then (after the kickstarter) still talks about a galaxy server that would handle persistence and battle instances that the player would be pull into... in fact the PvP slider would have an effect over who would be streammed to your battle instance according to your preference...

I’m on the camp that, yes, it is possible... but to have the “big space battles” CR wants it will require so much bandwidth and compute time (and other resources) that the game would need a subscription or heavy monetization in other to pay Amazon for the use of those resources... Eve gets around this because they have a system in place (Time Dilation) to slow down the players actions and give the servers room to make the proper calculations and track what everyone is doing and avoid lag spikes, etc... effectively turning a 10/15 mins in game fight into something like 8 hours in real life (worst case escenario when there are lost of players on a node/system)... but star citizen can afford that due to the nature of gameplay (ship to ship and first person shooter)
If it wasn't for that pesky speed of light! Physics :rolleyes:
 
Note that server meshing is not a new concept, and it has actually been done before -Tm. See Artifactory for a real world implementation.

For real-time multiplayer games with FPS that requires low latency, however? Lol, no. It's just stupid. It will never work. Ever.

Somewhat longer explanation why: You can split 3D space into parts and have a server instance dedicated to each part just fine. When players congregate in one of those parts, a single server is still responsible for it. You can say, well I can just sub-divide further, and yes you can but you'd be splitting up real time controlled objects, the ships, the players, which is just stupid.

One player would have parts of their ship on different servers, that all need to talk to each other, in real time and low enough latency so they don't realise they're on different servers. You know what's the best way to do that? Put them on the same server. Back to square one then.

If SC were turn based, or heavily instanced, sure. It's not server meshing in that case though, just regular instancing.

projectile is created it must be handled by a server and will be treated as any other object in the game

Why? The game should know if a missile will hit from the moment it is fired. Speed of projectile vs speed + movement of target, counter measures etc. Nothing is gained by having to track a missile as if it is a player controlled 3D object in space. The visual effect is just client side graphics, nothing to do with server.

Eve gets around this because they have a system in place

Eve's system is effectively a single instance whenever people are in the same system at the same time. That is the opposite of what CIG are banging on about.

but star citizen can afford that due to the nature of gameplay

(Time dilation) Can it? SC is an FPS in space with big chariots. Can FPS games handle high latency between player actions and server responding to them? No, they cannot.

TL;DR - Fancy words for game totally coming but is hard ok? Please give us more money.
 
Last edited:
ujyh.PNG


 
Star Citizen backers, especially the faithful, are the main culprits for pinning all their dreams on this supposed Jesus tech of server meshing. They know the Stanton system can't be completed without it, never mind adding another system or more. Ci¬G themselves have tried to dampen the hype about server meshing in their latest videos...warning that perhaps it won't be the supposed Jesus tech after all.

They're filling for time with nowhere to go whilst promoting upcoming ship sales events knowing full well that for the foreseeable future, their MMO universe is stuck with one partially complete star system with no way to add more content without the removal of something else. Unfortunately...there's nothing left to remove. It's not just the addition of Bespin City Orison, there's also the gas cloud tech for Crusader, the space whales that live in the gaseous clouds of the Crusader gas giant, the Aaron halo asteroid belt...and last but not least, turning the nefarious light bulb of the Stanton star into a physical game object.

It's not happening...not this year nor the next.
 
Last edited:
I'm still waiting for the penny to drop and for CIG to finally admit they're going to have to add instancing, and loading screens, in order to add more systems.

The salty tears that will flow shall fill umpteenth oceans. It shall be glorious. :ROFLMAO:
They can't even resort to that...they've laid their bed on the current server code and game engine. Knowing the idiot Roberts, he'll not back down from it until he's driven the game into destruction and once again, walked away from a project having failed to see it through to completion...one man's hubris. That epitaph will be carved deep into the tombstone of Star Citizen.
 
Last edited:
Star Citizen backers, especially the faithful, are the main culprits for pinning all their dreams on this supposed Jesus tech of server meshing. They know the Stanton system can't be completed without it, never mind adding another system or more. Ci¬G themselves have tried to dampen the hype about server meshing in their latest videos...warning that perhaps it won't be the supposed Jesus tech after all.

They're filling for time with nowhere to go whilst promoting upcoming ship sales events knowing full well that for the foreseeable future, their game is stuck with one partially complete star system with no way to add more content without the removal of something else. Unfortunately...there's nothing left to remove. It's not just the addition of Bespin City Orison, there's also the gas cloud tech for Crusader, the space whales that live in the gaseous clouds of the Crusader gas giant, the Aaron halo asteroid belt...and last but not least, turning the nefarious light bulb of the Stanton star into a physical game object.

It's not happening...not this year nor the next.

They are wrong. You don't need Server Meshing to have multiple star systems. Chris wants it, he wants it to be seemless, all in the same instance, no disguised load screens.

You can have different star systems on different servers and transition between them with a load screen disguised as a warp effect, but no Chris wants his wormy jump gates that you can navigate yourself...

YOU DO need server meshing to put thousands of players in the same instance.
 
It gets complicated pretty quickly right?
Note: pls take what I'm going to say with a grain of salt... I probably know less than you about server meshing.
The answer to your question is YES... but only granted that the other ship you are trying to hit is within range and capabilities of the weapon you fired at said ship. It gets complicated since we don't know how CIG will implement things under the hood but let's say for the sake of argument that when you fire a weapon then an object (the projectile if you wish to call it that) is created an thrown at the said ship you are trying to hit (this is visually represented by the flashy effects we get in game), as soon as this projectile is created it must be handled by a server and will be treated as any other object in the game, we will assume that the same server that is handling your ship still have capacity and can handle this object too, so this projectile can cross the boundary in the same way your character or ship does.... except this object do not need any kind of feedback or trickery (like a pretty quantum travel animation). Is just a matter of communication between server... Server A: hey I got this object of type X that is leaving my boundaries towards yours at x,y,z coordinates and with S speed... bla bla bla... ServerB: Sure, i'll handle it.... ServerA: Cool, thx... let me know if you got all info... ServerB: all looks good... etc etc etc

If I'm not wrong this whole thing is called "Object Container Streaming" in CIG development jargon

Know if you want to complicate things you can add to the mix that CIG can use many servers to handle the same area at same time, and even further one server can be in charge of handling ships for area A (which can be either a whole star system or a tiny outpost/cave) while another server handle said projectiles... it can get really complicated and all depends on what the developer aims for.



Again, if CIG implements such type of gameplay (long range torpedos capable of quantun/jumping) then i don't see why that wouldn’t be possible... but i don't think such thing is planned though, from what i've seen CIG is going for close range.

Edit: Looks like someone with more OOP knowledge than me also answered your question so I highly recommend it over mine xD https://forums.frontier.co.uk/threads/star-citizen-discussion-thread-v12.548510/post-9124209
edit2: amazing how I can read my responde couple of time before posting and still miss the errors I’ve make

More likely, each server will be a discrete region. They will never get server meshing working within regions. So you'll never fire a missile at someone on a different server
 
Back
Top Bottom