Sorry if this is not the right place to ask, but am I the only one who thinks that Star Citizen’s new server meshing technology is an old hat? I believe it’s the same technology that a few highly scalable Minecraft servers have been using for years. WorldQL introduced this back in 2021, but I think the idea was around even earlier than that. GrieferGames has also put this into practice.
No.
Solving the same problem isn’t what plagiarism is.
And the problems are similar at best.
What are you even trying to say?
You acknowledged yourself that the idea is older than whatever Minecraft did, so how exactly did Star Citizen steal anything?
Did Minecraft steal the idea from EVE Online which only had “one” server since the beginning?Besides, distributed computing is nothing new.
Or are you going to accuse Star Citizen of plagiarizing the idea of using Internet to connect to their servers since someone else also did that before?There’s plenty of real issues to complain about regarding Start Citizen, you don’t need to invent made up ones. :/
I’m complaining that Star Citizen sells this technology as new and innovative even though it has been around for quite a while. Minecraft is just how I came into contact with this technology. I edited my post to reflect this.
Nobody owns ideas, and therefore they cannot be plagiarised. Thus, two companies having similar ideas about how to solve similar problems can never be plagiarism. Do you have proof that actual code has been copied? Or are you just assuming that the use of a similar idea means one must have directly plagiarised the other?
You can’t plagiarize mechanics because you cannot copyright mechanics… And you don’t want to live in a world where you can. Imagine if the first company to make a first person shooter game copyrighted it… Or if Nintendo owned the rights to all 2d side scrolling games… Gaming would have never grown to what it is today.
Hell, even board games would have been crippled by this kind of copyright.
I feel like I can speak a little about this as I’ve been studying how CIG is implementing server meshing for the past, well a while, but in depth since the demo. For reference until they post the panel: https://youtu.be/xKWa4WoTkV4?t=4500
Specifically timestamp of my explanation: https://youtu.be/xKWa4WoTkV4?t=5119
What CIG’s way of dynamic server meshing is the revolutionary thing. Currently, AFAIK, all games performing server meshing is built on a static zone mapping. Whereas CIG is using dynamic server meshing zones that will actually map to the interior limits of a room of a capital ship as an example. And this can scale out to planetary objects if only one player is on that planet. If no one is on that planet then it will only run in their tool Quantum, a non rendering backend game simulation.
Along the dynamic zone mapping is the authoritative way of transferring object containers. During the demo you can see the entity graph of the parent object (zone) and child object containers under an authoritative container (player). When a player transfers servers, you can see the movement of child objects from local to replication, and vice versa. This is a needed step as there are millions, and eventually billions of objects to be tracked of throughout the shard.
And last, CIG is building this as a global scale since they have servers in multiple regions where AWS is hosted. From the article and demo I believe this was all done locally with no latency. I do acknowledge that CIG’s demo was local as well so we will see how the net coding is affected when it goes to the EPTU,PTU and PU.
Me and group of nerds are trying to figure out how they are going to eliminate or minimize the latency and error correction or validating the transferring of the auth between the zones.
deleted by creator
Thank you for your insightful comment!
What I’ve got full respect for is the multi region problem. I didn’t know that Star Citizen aims to have one global world instead of American, European, Asian, etc. worlds with the ability to travel between them with a latency penalty. I’m curious how they plan to solve that without god-tier peering and an artificial minimum latency to balance combat between distant players.
But I’m struggling to understand static and dynamic zones, maybe you can shed a light on where my understanding went downhill. Static and dynamic zones feel like an implementation detail to me. Do I care whether the replication layer(?) changes the boundaries of a zone, or discards the zone and creates a new zone with the appropriate state? No, only the process is different.
Since static and dynamic zones feel identical to me, I don’t get why a static zone can’t be an authoritative way of transferring object containers. What prevents servers assigned to a static zone from exchanging object information with the replication layer? Nothing, I assume WorldQL also does that.
Okay, so why use dynamic zones? Perhaps the implementation is easier than static zones? Everything else is identical to me, so nothing but the implementation difficulty feels important to me. Or is there a difference between static and dynamic zones about server assignment/scheduling? I don’t know.
What I do know is that my understanding is flawed.
Dynamic zones help balance the processing of a particular zone across multiple servers based on usage.
In a static setup, an unlimited number of players could end up on the same server causing performance issues in a particular zone. While dynamic will cap the number of players on a server and split the single zone into many to preserve performance.
deleted by creator
Server meshing isn’t new at all. But how CIG is doing it, is. The dynamic nature of it is what makes it revolutionary. Servers can be spooled up and retired as needed. A certain area of the universe is under heavy load as there are thousands of players having a small fleet engagement? Add more servers to handle the load. There are some planets and even star systems that are not visited by players? Retire them and just let Quantum (CIGs universe simulation) run the simulation for those star systems.
But isn’t that exactly what the people at WorldQL accomplished already?
To actually solve the problem, something more robust was needed. I set the following goals:
- Players must be able to see each other, even if on different server processes.
- Players must be able to engage in combat across servers.
- When a player places a block or updates a sign, it should be immediately visible to all other players.
- If one server is down, the entire world should still be accessible.
- If needed, servers can be added or removed at-will to adapt to the amount of players.
I think the last point specifically addresses your concern about dynamic server meshing. They can scale up or down depending on how many players are in an area.
Perhaps yeah, and it sounds like that. But the scale is not really comparable. Or can WorldQL still simulate whatever is going on in unloaded chunks?
I don’t think the base game, Minecraft, actually simulates chunks which aren’t loaded. IIRC they’re frozen until loaded into memory again. So no, but not because of WorldQL tech.
Fair point. Minecraft itself doesn’t simulate anything in unloaded chunks afaik, so I think the WorldQL PoC can’t change that as a server plugin. They probably could if they develop a Minecraft server from scratch tho.
IE, CIG is attempting to do it in the hardest way possible.
As always, yeah :)
Thanks for the link, i knew i’ve heard that before.
Right? I felt the same thing when I saw the tech demo.
I’m impressed that most people here chose to fight about the definition of the word plagiarism instead of discussing how Star Citizen’s server meshing technology differs from what WorldQL and GrieferGames do. Have fun, but that wasn’t the point of my post.
Plagiarism is obviously a word with very strong negative connotations. If you want to discuss the technology and it’s differences between a different solution that tries to solve the same problem and not accuse someone of stealing, it’s usually best not to use this type of language in general.
Yep, that is true. Sorry about that.
I don’t know the answer to your question but WorldQL seems to be dead now.
deleted by creator