Star Citizen - Chris Roberts, lots of spaceship porn, lots of promises

Random thought…

I’ve been playing a decent amount of Euro Truck Simulator over the past year. One of the things that strikes me about people who like that game is that they love to post images on Twitter of their fully-upgraded, custom-painted, uber-deluxe cabs and trailers in all sorts of locations in the game world. It’s an explorer/exploration/here-I-am type of enjoyment, it seems.That’s not why I like playing games, but it’s definitely a thing that a LOT of people enjoy.

I mention it here because I get that same vibe seeing your screen shots, @Wendelius. If Star Citizen can capture that same sense of “owning awesome ships, flying them someplace awesome looking, and taking photos of them”, that alone might have a decent chance of capturing a dedicated following of gamers who will really enjoy playing. There are gobs of people who LOVE this experience.

Yeah, I’m all in favor of the cool stuff to look at, wander through, and snap screenies of. I treat Assassin’s Creed games (the more recent ones at least) as half action game, half screen shot generator. I just think that if you are going that route, maybe not also try to create a total-universe space/life sim at the same time.

This is my favorite post in the thread.

How persistent are things? Might you be reunited with plushie at a later point?

Well, discovery and exploration are supported gameplay loops in Star Citizen. I need a big asterisk here which says: Theoretically, when there is more than 1 well travelled system to explore…

In fact, there is a whole class of ships geared towards exploration and far out expeditions: Expedition, Exploration and similar ships

For now, that loop is about people going sightseeing and finding interesting nooks and crannies in the current system where nothing is out of fuel range.

But even that can support that enjoyment of creating awesome pictures featuring the player or ships you describe @Zilla_Blitz . So yeah, there is certainly an element of that. The other gameplay loops beyond bounty hunting and mining are pretty nascent. So options are limited.

It’s complicated. In Star Citizen, there is rarely a simple answer to a simple question. :)

The basic principle is:

  • Ships, vehicles, components, armour, weapons, money are “shared” inventory and persist across sessions.
  • Personal inventory (drinks, weapon ammunition, med pens, ship or vehicle cargo) is volatile and disappears between sessions.
  • Spawned objects and ships fall somewhere in between and will be “garbage collected” after a while.

I’ve seen crates put down by players in elevators. My plushie probably was available for someone to pick up and enjoy in New Babbage. If I put down a delivery crate in my ship, it will stay in that exact spot until I deliver it or log off. If I died on a planet and my ship / vehicle were still there, someone could find it after a while and jump in. But all those will go poof.

That said, I hope a player took the plushie and showed it more of the station or put it in their ship. :)

On the other hand, if I buy consumables and log off, they won’t be on my player anymore when I log in. If the server crashes while I’m flying a ship with half a million credits worth of cargo, it will be gone when I reconnect.

The answer to all those things is “iCache”, a rework of the inventory system which will store it associated to a specific location and persist it across sessions. This will take care of the issues above. It will also allow a crashed ship on a planet or destroyed hull in space to stay around as derelicts that players can explore and gain salvage from.

Like many things in SC is, it’s a matter of when that system is eventually completed (I think iCache is due this year).

Space Tomato has published a nicely researched video on SC and what he sees as the 4 phases of development the game has been in since 2011.

I think it’s worth a watch because it does not shy from showing why many people who were cheerleading the project early on soured on it and started seeing it as a never ending scam. You can see the bloat and bad decisions add up while he goes through the chronology.

And while that image and the bad decisions will forever remain, I think the video also does a good job of showing why someone who actively joined the game recently (like me) might see it differently. The bloat is and always will be there. But the focus of development makes the 3.10+ era a somewhat different beast.

8ish years into development of a game that promises a seamless universe of 100+ planets they claim that they just realized that they need a database to store object states and then it will take years to add a database to the game. It’s a transparently goofy excuse to hide the actual problem.

The actual problem is that the game still runs on instanced headless cryengine servers which were built for relatively small FPS maps and the server code can’t handle large amounts of objects to process w/o melting down. It’s the same reason that they had to drop the player count again down to 40/server instance. It’s not that they can’t store the fact that a player bought 1000 penguin plushies and stashed them around the solar system, it’s that the server can’t handle processing all the objects in the solar system. That’s why they have to aggressively cull objects like ships out of the world too.

You are correct and iCache is still the main answer to all that. I simplified its description, but it also includes moving the storage of all that “in universe” inventory information to different servers and have authority servers handling the synchronisation. It’s taken forever, but it was a fundamental rework of that initial and inadequate built in system.

It is due for completion this year. So we’ll soon know how transparently goofy the excuse was. I don’t begrudge a healthy dose of scepticism for any type of SC feature deadline though. :)

As a thought experiment, what would this even mean in the context of the current server structure?

Right now there are N parallel instances of the single solar system running at any given time. Those servers go up and down due to upgrades or crashes or other reboots. When they restart they come up with a fresh view of the state.

How would iCache work in this scenario? If you take your penguin and put it on a bench, what central database is needed to synchronize with what state? There’s N servers running in parallel universes. Your penguin doesn’t exist in all of those instances right now. Would iCache make your penguin now exist in all of them? Does it just pop up on every universes’ bench? What if another player on another instance decides to put a box on that bench instead. What does iCache store? When a server reboots does it put a penguin or a box on that bench?

I believe the current goal is Q2 this year. So in a few months if iCache is released, what does it actually do? How can it authoritatively track object states across multiple overlapping servers?

Magic!

It might be because it’s Friday night and I’ve spent a long week working on a project with a tight deadline, but I don’t quite get what you are asking.

As a software developer who has dealt with distributed systems, I’m not sure what point you’re making. What makes you think that developing a centralised item cache which servers query and update with a centralised authority API managing interactions is not going to work or is not a solution? How do you maintain the state of data across distributed systems generally?

For reference, here is an overview of the systems at play: Star Citizen Unofficial Road to Dynamic Server Meshing by unobtanium 93 on Prezi Next

There is also the fact that it’s neither my job or my goal to be a spokesperson or defender of CIG and their convoluted development process. I log in to SC to have fun in my ship or ground vehicles. I haven’t really made any effort (as you will see if you go back to my previous posts) to get past relating my in-game experiences. So I’m not sure what you are trying to convince me of or ask from me.

But it’s Friday and I’m grumpy because our car manufacturing client sure has strange ideas about what should fit in the software we create for them.

The bane of developers everywhere–customers who have only the foggiest idea about what software can or should do…

Oh yes. Developers and Project Managers can sometimes feel like they must have been really bad in a previous life to deserve dealing with this crap in this one. Clients just think that because they want it so, we can simply make it so. It’s awesome. :)

Oh, I am definitely not expecting you to defend anything, I am sorry if any of this comes across as being about you at all. If you enjoy the game as it is now then that’s totally cool and I hope you continue to have fun with it.

I absolutely think that they can make a centralized item cache because it’s clearly a solved problem in basically every shared persistent world game out there. My point is that having that in place doesn’t actually move the game forward at all because they don’t have a shared persistent world game at all. They just have a bunch of parallel instances that logically can’t share state whether or not code is there. They have to solve the problem of getting all the players into the same instance of the universe before they can have a persistent shared universe state.

Here’s Chris Roberts explaining my point himself, in 2013:

All the fan presented views of this try and spin this as if there has been this well planned groundwork the last 8 years that has led up to now being able to figure out a multiple server persistent universe but the message from CIG has been that they are actually working on it the whole time and it’s just always around the corner. Personally I think it’s well past the point where it’s clear they just don’t know how to do it, but even if you disagree I think it’s pretty clear that even the rosiest fan picture of when they might get it done is years away.

So if they don’t have a persistent shared universe what does a database to store the persistent shared universe do for anyone now?

Everything will work when they add server meshing

I know you jest (with the “when” rather than “if they ever” :) ), but this is indeed, as I understand it, the answer to the missing part pointed out by @Lantz

Thanks for the clarifications @Lantz . Now I understand what you were discussing. As I said, I don’t spend time poring over the tech. But you are right that iCache on its own does not solve the shared PU issue. And server meshing might be completed in 2022 if you are optimistic (or never if you are of the opinion that they don’t know how to achieve it). So yeah. The game is not anywhere near the stated shared persistent world goal.

They just need to tighten up the graphics on level three.

Are the hot dogs all-beef or meat substitute? Do they have polish sausages or saukerat? Any jalapeño cheddar? With natural or artificial space nitrates?

Server meshing is a fundamental problem, not one they can fix. There’s no way to get past the 40 player limit. Games that do so, do it with smoke and mirrors which directly contradict the way they’ve built their game world.

If you’re happy with the game as is, enjoy it for what it is. But don’t expect them to ever be able to go higher than 40-50 players per server.

Icymi:

Seriously glad you are ok @dsmart

It won’t.

And speaking of which, the much-touted and much derided as bs - by yours truly - is apparently dead.

I’m shocked…