Game Discussions Star Citizen Discussion Thread v12

 
Last edited:
I think the problem in SC's case is there is no clear target for any of the systems in the game. What's the point of iterating if you don't know what you're trying to achieve in the first place? (...)They make ships, then they come up with some other idea that necessitates the rework of the ships because they didn't have a coherent plan in the first place.
That was my point in that Reddit thread i linked before. They are not "iterating", they are redoing everything over again due to a complete lack of direction, in addition to doing everything in the wrong order so they have to redo everything again due to core systems changing or appearing up.
A few good examples are all the non-functional, currently decorative stations in various ships. Let's imagine they bring up a new gameplay system that allow one to man these stations, they'd certainly have to rework them (and all ships around them...) because at the moment they are just place holders. It's sheer stupidity and complete lack of management.
It's not "iteration" it's waste of time and money waffling around doing useless work.
 
last time I checked Star Citizen doesnt either. All their planets and moons rely heavily on handcrafting to make them look good. For a procedural generation engine CIGs version really isnt doing a whole lot which also explains why there isnt even 1 complete system yet
The whole point of using procedural generation is to save time handcrafting everything isn't it? It does seem strange that they haven't even finished one system in all these years, when Frontier can create an entire galaxy. Are they just using height maps do you think? It's not like everything is to scale either, the planets and moons in SC are tiny in comparison. Maybe because of engine limitations or it's easier to place things like outposts etc. and make it look more inhabited.
 
I don't doubt they're working on other planets (like in the Pyro system). I'd assume their problem is they can't yet put them in the game because the server can't handle it.
They could use a different server for different systems, as there is no interaction between systems (other than ships transferring from one to the other, via a loading screen of sorts). The fact is, the 2nd system is not even ready yet.

The whole point of using procedural generation is to save time handcrafting everything isn't it? It does seem strange that they haven't even finished one system in all these years, when Frontier can create an entire galaxy. Are they just using height maps do you think? It's not like everything is to scale either, the planets and moons in SC are tiny in comparison. Maybe because of engine limitations or it's easier to place things like outposts etc. and make it look more inhabited.
They do use height maps. They use a combination of procgen for asset placement, and entirely manual creation for each asset, including rocks, plants, etc. So for each planet and moon, they have to create everything manually, let the procgen place the base assets around, then they manually place cities, outposts, and various POIs. So the part of procgen in all of this is very small indeed: it's just to ensure a semi-random distribution of assets over a planet/moon. Hence multiple years of work to deliver one system.
 
They could use a different server for different systems, as there is no interaction between systems (other than ships transferring from one to the other, via a loading screen of sorts). The fact is, the 2nd system is not even ready yet.


They do use height maps. They use a combination of procgen for asset placement, and entirely manual creation for each asset, including rocks, plants, etc. So for each planet and moon, they have to create everything manually, let the procgen place the base assets around, then they manually place cities, outposts, and various POIs. So the part of procgen in all of this is very small indeed: it's just to ensure a semi-random distribution of assets over a planet/moon. Hence multiple years of work to deliver one system.
I once read that when a player clips through the planet, all the objects that you see floating above you are the manually placed ones. Don't know if it's true or not.
 
I once read that when a player clips through the planet, all the objects that you see floating above you are the manually placed ones. Don't know if it's true or not.
It's not quite as clear-cut as that.

It's a standard rendering (side)effect: you only ever see surfaces that are facing your direction, and most geometry has single-sided surfaces. If, for instance, you have a regular polygon cube, that's six surfaces, but for efficiency purposes, since it's a solid cube, all those six surfaces only point outwards. If you somehow got inside the cube, you wouldn't see it because the polygons have no “backside”. After all, why bother when no-one is supposed to see it from the inside? It's the same with ground geometry: you're only ever supposed to see it from… well… above-ground. Thus, if you clip through and end up below the ground geometry, it too has no backside so it is no longer visible.

But that still leaves all other geometry that is above you, and from your below-ground vantage point, you may still see surfaces that are the outsides of their respective objects. Plants, structures, vehicles, actors — all that stuff will have outside surfaces that will still be visible, and many of them will have undersides that now directly face you. Some structure floors may become see-through because they're supposed to rest on top of the ground and, much like it, never be seen from below. But everything else shows. Now, if those objects are hand-placed or procedurally generated generally makes very little difference. If the proc-gen is just a matter of “place these decorative objects at a, b, and c” then it won't make any practical difference for you compared to the hand-placed objects at d, e, and f.

However, sometimes there are various zoning and culling tricks going on in the background where the renderer figures that, hey, there's this big piece of geometry between you and some other thing that would normally be shown, and since that geometry is in the way, let's just not render that other thing. It might not care (or even consider the possibility) that you're seeing through a non-existing backside — you're not supposed to be able to be there, so why even bother checking such impossibilities, after all? So even though you can see out from below the ground just fine, due to that whole no-backside thing, the renderer might determine that, hey, there's terrain between you and this nice tree over here, so it will stop rendering the tree altogether to save on resources. To you, the tree just blinks out of existence as your head sinks below the surface, even though can still technically see its location just fine.

This is where the difference between hand-placed and procgenned objects may make a difference. One might be more aggressively culled from rendering than the other; one might be a type of “always render” object, and the other might not be (although that usually only applies to skyboxes, to ensure that there is always a background and to avoid the classic Doom-style hall-of-mirrors effect). Automatically places surface details — small rocks and low surface plants for instance — might be set up along the assumption that, if the surface they're placed on isn't rendered, then also don't render the detail objects. Such details would be an excellent candidate for procgen placement, and would also present a case where, since you no longer see the ground from the right side, you will also no longer see the procgen-placed detailing.
 
They do use height maps. They use a combination of procgen for asset placement, and entirely manual creation for each asset, including rocks, plants, etc. So for each planet and moon, they have to create everything manually, let the procgen place the base assets around, then they manually place cities, outposts, and various POIs.
In the last vid from CIG (at 12:00), they said they have a new one time brush to paint planet (I don't have details). Perhaps we'll have a video about it, they often show us their tools when they improve them. It's part of the industrialisation process I was talking about earlier.
About the outposts, they work on a procgen for them.

A video about how they painted planet at the beginning of the year.
Timestamps in the comment.
 
Last edited:
It's not quite as clear-cut as that.

It's a standard rendering (side)effect: you only ever see surfaces that are facing your direction, and most geometry has single-sided surfaces. If, for instance, you have a regular polygon cube, that's six surfaces, but for efficiency purposes, since it's a solid cube, all those six surfaces only point outwards. If you somehow got inside the cube, you wouldn't see it because the polygons have no “backside”. After all, why bother when no-one is supposed to see it from the inside? It's the same with ground geometry: you're only ever supposed to see it from… well… above-ground. Thus, if you clip through and end up below the ground geometry, it too has no backside so it is no longer visible.

But that still leaves all other geometry that is above you, and from your below-ground vantage point, you may still see surfaces that are the outsides of their respective objects. Plants, structures, vehicles, actors — all that stuff will have outside surfaces that will still be visible, and many of them will have undersides that now directly face you. Some structure floors may become see-through because they're supposed to rest on top of the ground and, much like it, never be seen from below. But everything else shows. Now, if those objects are hand-placed or procedurally generated generally makes very little difference. If the proc-gen is just a matter of “place these decorative objects at a, b, and c” then it won't make any practical difference for you compared to the hand-placed objects at d, e, and f.

However, sometimes there are various zoning and culling tricks going on in the background where the renderer figures that, hey, there's this big piece of geometry between you and some other thing that would normally be shown, and since that geometry is in the way, let's just not render that other thing. It might not care (or even consider the possibility) that you're seeing through a non-existing backside — you're not supposed to be able to be there, so why even bother checking such impossibilities, after all? So even though you can see out from below the ground just fine, due to that whole no-backside thing, the renderer might determine that, hey, there's terrain between you and this nice tree over here, so it will stop rendering the tree altogether to save on resources. To you, the tree just blinks out of existence as your head sinks below the surface, even though can still technically see its location just fine.

This is where the difference between hand-placed and procgenned objects may make a difference. One might be more aggressively culled from rendering than the other; one might be a type of “always render” object, and the other might not be (although that usually only applies to skyboxes, to ensure that there is always a background and to avoid the classic Doom-style hall-of-mirrors effect). Automatically places surface details — small rocks and low surface plants for instance — might be set up along the assumption that, if the surface they're placed on isn't rendered, then also don't render the detail objects. Such details would be an excellent candidate for procgen placement, and would also present a case where, since you no longer see the ground from the right side, you will also no longer see the procgen-placed detailing.

I wonder if this is the reason sometimes you get terrible FPS even when in a cubicle room. The engine is trying to render everything around you, including things outside the room that you can't even see.
 
I once read that when a player clips through the planet, all the objects that you see floating above you are the manually placed ones. Don't know if it's true or not.
I think that would be all the assets that are not part of the height map, actually. Manually placed or not.. I've seen that myself (try and use ladders in SC, you'll fall through the planet eventually) and i could see all rocks and such, which are definitely spread around by the procgen itself.
There's a nuance - they do alter the procgen manually by modifying specific "squares", moving assets around a bit. Then the procgen itself will arrange these "squares" around the planet/moon in semi-random patterns.

I don't think they can do that yet either. :) At least not without dropping almost all user state.
Yeah, they could do it then. Behind the scenes, they "re-log" you in the other server, by calling their long term persistence. Keeping your current cargo would be maybe tricky, but that's it...

I wonder if this is the reason sometimes you get terrible FPS even when in a cubicle room. The engine is trying to render everything around you, including things outside the room that you can't even see.
I dont think that's the issue now - they are culling very aggressively from inside "maps" (such as city maps, which are just basic CE fps maps). I've seen the effect when fooling around with a Nox inside Port Olisar.. The camera was thrown "outside" of the map so i could see the rooms where i was and everything. And clearly everything else outside was removed, the station itself was mostly cut out from existence.
The terrible FPS drops are not related to graphics but to other parts of the engine, as they all run in the same main thread loop - like the physics, which is the main source of issues in SC. It seems that every physics engine event is broadcasted across all clients, with cascading consequences.. I know they have been working on reducing that, but it's still an issue as of 3.9.x, people can even bring the whole server down by doing some specific things that break the physics engine.
 
Last edited:
The whole point of using procedural generation is to save time handcrafting everything isn't it? It does seem strange that they haven't even finished one system in all these years, when Frontier can create an entire galaxy. Are they just using height maps do you think? It's not like everything is to scale either, the planets and moons in SC are tiny in comparison. Maybe because of engine limitations or it's easier to place things like outposts etc. and make it look more inhabited.

Procedural generation engine: I imagine a stat matrix that calculates various make-ups, sizes and possible locations of interest on the fly (depending on complexity of the engine) and spits out data that the engine can use to "create" objects (this isnt a random process but allows for enough variation to help coming up with multiples planets of different design. These calculations must be persistent enough to allow for identical results on different/all clients). The complexity must be high enough to avoid "impossible" results (like a flat earth) but allow for sufficient abnormalities (rings, multiple moons, debris fields etc) all the while staying conform to ranges, sizes and considering simulated data (gravity, movement speed)

If I am not completely wrong in my assumption I dare to say that the PGE CIG uses either is a tier zero version or simply non-existent hence the need for heavy handcrafting in the first place also explaining the long development times in between each stellar object.

If CIGs goal is to create unique planets and moons then there simply is no need for a PGE or am I wrong? Even with the designated target number of 100 systems a PGE would ve been unneeded IMO or when one would be used it wouldnt need to be very deep or complex. Just robust enough. And if the engine CIG uses does those qualifiers they should ve been able to simply demonstrate its capacity with the flick of a switch.

In the end, the planets and moons Star Citizen features would be impressive if they would be pure PGE results but as we know they are not. And considering the surrounding information we have I wouldnt try to be funny by suggesting a 50:50 distribution between PGE and handcrafting. Looks more like 10:90 to me but then again.....why use PGE at all?

Star Citizen.....a story of wrong tools, impossible goals and the incompetence to connect it all



On a different note. If you are able to lose your sycophant attitude about the project excusing everything wonky with "ITS ALPHAAAAAA" the nature of the bugs you encounter can tell you quite a lot regarding the engine, coding and surrounding factors. Some of the previous posts outline very nicely what possible reasons falling through the world might have but also ramp or elevator killings etc. The pure number of different critical bugs and their frequency doesnt really make me gasp in awe. Right now SC seems to be a mish mash of criss-cross coding that comes together from time to time to allow an incredible moment. Its simply bad the rest of the time.

As far as CIG goes I simply dont believe anything they say, state or claim anymore but rather evaluate the results if/when those hit the servers. Thwe time for the devs to "shut up and show" has been a few years ago already. I really cant believe how people can still give the company the benefit of the doubt and hang to their words believing what they say....especially the people who claim to be following the project longer then just a few scant months. Its called experience and reliability.

Funny enough the few people who really "test" stuff in the PU are mostly the critical people. Most of the folks claiming to "have fun" simply seem to sedate themselves with the rudimentary gameplay loops enjoying various tedious activities in order to keep going. Sometimes I feel like the term "sheep" is appropriate even tho its offending. When asking many of the pro argumenters "why" SC is great you usually hear "it looks nice" or you get an ear full of developer propaganda
 
I wonder if this is the reason sometimes you get terrible FPS even when in a cubicle room. The engine is trying to render everything around you, including things outside the room that you can't even see.
The engine don't try to render everything around you. But it is constantly loading assets around you. This load process can makes you stutter.
If you play on HDD instead of SSD with low memory, the alpha in unplayable, the stutters are constants.
 
The engine don't try to render everything around you. But it is constantly loading assets around you. This load process can makes you stutter.
If you play on HDD instead of SSD with low memory, the alpha in unplayable, the stutters are constants.

Nope, i'm on SSD.

When i uploaded a video about bad performance the first comment from many faithful was "Its because you are playing on a HDD" because that is the litany of faith. Had to tell them all that it was on a SSD.

Now, main memory is low but my graphics card is well within spec. Sure, there is loading and unloading, and that could be in issue if i was, for example, walking around.

But i'm talking about standing still in a tiny room. Not even moving. And even allowing time for any loading, its absoloutely abysmal getting 15 FPS on a 960GTX and cannot be handwaved away as being the fault of anything except bad code.

So, please, don't quote CIG dogma in relation to this. The engine needs a boatload of optimisation, it cannot be handwaved away.
 
The engine don't try to render everything around you. But it is constantly loading assets around you. This load process can makes you stutter.
If you play on HDD instead of SSD with low memory, the alpha in unplayable, the stutters are constants.

By low memory you mean 16GB? Fine for 99% of games but when it comes to whatever the hell goes on in that monstrosity CIG is working on, needs an SSD to help try and mask its ghastliness.
 
Procedural generation engine: I imagine a stat matrix that calculates various make-ups, sizes and possible locations of interest on the fly (depending on complexity of the engine) and spits out data that the engine can use to "create" objects (this isnt a random process but allows for enough variation to help coming up with multiples planets of different design. These calculations must be persistent enough to allow for identical results on different/all clients). The complexity must be high enough to avoid "impossible" results (like a flat earth) but allow for sufficient abnormalities (rings, multiple moons, debris fields etc) all the while staying conform to ranges, sizes and considering simulated data (gravity, movement speed)
It can be all kinds of things. A lot of what they've actually shown in the realm of procedural generation just comes down to tile-laying, similar to how dungeons have been created in Diablo (and many of its ascii predecessors): the algorithm has rules for how to stich together a library of assets; how to include fixed parts in all of that (e.g. the Butcher on level 2); and how to create recognisable features such as rooms, corridors, rows of prison cells etc.

The way it is used in most other games these days (including ED) is almost the opposite: have those recognisable features and structures be pre-baked, and then generate a world around them that they are then placed into, possibly clamping the terrain around each asset to make them fit on what would otherwise be too steep or too noisy slopes. PG does the macro-level; hand-crafting does the micro-level; and various functions exist to blend the two together.

Minecraft is probably the most easily observable example: at the top level, it creates a patchwork of surface (and subsurface) biomes; one level down, each biome then determines what terrain can be generated and what features may show up; yet another layer down, placement of pre-built assets such as houses, temples, towers, and specialty rooms are cobbled together into towns, outposts, citadels etc.

If CIGs goal is to create unique planets and moons then there simply is no need for a PGE or am I wrong?
You'd probably still want PG in your toolset, simply because of how much it can create very quickly. That's why there are such a huge abundance of middleware that does that job (just see the links I posted earlier for the first two I found for Lumberyard alone). The question is rather one of, what do you want to do with that base creation? Do you want to fine-tune every inch of it and have it all be stored as a pre-baked asset of some sort, or do you want to just have certain areas be hand-crafted and then grafted onto a larger world that is still being generated live at runtime?

Since the whole poing of procgen is that it isn't random (which is a common misunderstanding of how it works) but rather uses many of the the same algorithms for pseudo-randomisation to create a strictly deterministic and fixed result, you save a crapton of storage on just letting it build itself as needed rather than constantly loading in all that hand-crafted world data. Even with a lot of "uniqueness" and hand-crafting, letting a procgen algorithm take care of the broad strokes of the world will get rid of a crapton of storage requirements. The example used earlier in the thread (or maybe one of the previous versions) was that a hideously coarse 10m-resolution hand-crafted height map of something as tiny as the moon would require 1.4 terabytes of data, just for the terrain alone, never mind all the actual assets that would then decorate the terrain.

Since that's clearly insane (and was also an early red flag for CIG's level of competence, since they so explicitly eschewed any use of PG at an early stage while also talking about this vast world they wanted to create), you instead limit the hand-crafting to picking parameters for the PG that gives a good base result on the macro level, and then fine-tune a small handful of unique locations and include functionality to let PG-placed prefab locations blend with PG-created terrain. You get the micro-level detail of purpose-built locations with the macro-level vastness of PG. And on top of that, you also let the PG do detail-decoration placement (which is another thing PG is ostensibly being used for in SC). It's still hand-crafted and unique, just not for every single hill, tree, pebble, or even village. Only a few "hero locations" get the full treatment, and even there, you can let good old Diablo-style tile placement to do the brunt work. Uniqueness isn't a matter of making every pixel blue, but of picking and choosing good "tableaus" on top of which each location can be built, and playing with and picking the parameters to achieve those outcomes. The PG still does what it does, but in a very directed manner.
 
Back
Top Bottom