Just wanna give a shout out to the brief mention in the article of Anno 1800. Quite possibly one of the best games I've ever played.
Why Cities: Skylines 2 performs poorly
511–520 of 593 posts
Re: Why Cities: Skylines 2 performs poorly
#512Analysis showed that most frame time was lost due to lack of LOD levels and culling - causing the engine to render insanely high amounts of polygons that weren't even visible on screen.
In conclusion it seems that using the brand new engine feature DOTS (which is a perfect match for this game), successfully solved the CPU bottlenecks the first game had.
But because of Unity's DOTS HDPR integration still being WIP (with several key features being experimental/missing) - they had to implement a lot of stuff on their own (including, but not limited to culling), which cost development time and caused the game to be not quite ready at release (explains missing LODs/optimization).
Re: Why Cities: Skylines 2 performs poorly
#513Earlier quoted context omitted.
This doesn't fly with a one man team and not with a 1000. It's just badly done, there's no sugarcoating. Those meshes should never end up in the game files.
>This doesn't fly with a one man team and not with a 1000 sounds like someone never worked on a 1000 dev team. random quirks either go unnoticed or are de-prioritized all the time. Most are minor, more and more moderate to major ones are getting through. That's definitely a publisher issue.
Re: Why Cities: Skylines 2 performs poorly
#514Earlier quoted context omitted.
>This doesn't fly with a one man team and not with a 1000 sounds like someone never worked on a 1000 dev team. random quirks either go unnoticed or are de-prioritized all the time. Most are minor, more and more moderate to major ones are getting through. That's definitely a publisher issue.
random quirks do. this is not random quirks. it's a systematic and expected issue of underoptimisation caused by releasing a product before it was even slated to be ready. one bad mesh is not the issue, it's never the issue. we're talking of thousands of terrible meshes and a near-total lack of basic optimisations applied at the last stage of development to most games. the manpower was not enough to release within th…
It was expected, yes. It does not mean they weren't trying to fix it in the 11th hour. I woildnt be surprised if some core tech was unfinished or inadequate that lead to this.
>instead of going into valve time, they released it anyway, which means that you skipped the entire polish and optimisation part not only for the game itself but for half the engine as well.
Yup, welcome to game development when you have deadlines and no benevolent (or at least, apathetic) dictator paying your bills. It's unfortunate that we can trace this back to the 80's with ET, but this is simply the business realities. Game code isn't mission critical (and until recently, does not care about maintainability), and also isn't what sells the product.
So it never gets the time to be cultivated like other indistries. And people still buy anyway. It's a two way street of apathy and every publisher hopes it can slip under the cracks and not become the next Superman 64. Most manage to slip.
There's not much you can do about it with the current publishing structure, where most funders don't work in nor care about games. And the ones that do still see their money draining whenever the talk of delays come up. That won't be solved except with time as more industry trailblazers retire and shift to management (remember, Todd Howard is only in his 50's. Gabe and Kojima are 60. So many pioneers are still well under retirement age). Or for more truly indie teams to arise and learn how to scale up projects while staying lean. The latter is what I hope to do.
Re: Why Cities: Skylines 2 performs poorly
#515Earlier quoted context omitted.
I have personally been responsible for optimizing unity games you haven't heard issues like this about ;) This write-up really points the finger at not solving occlusion culling or having good LOD discipline. Give a person a dedicated optimization mandate and you can avoid most of this. One of the first things I do when I'm profiling is to sort assets by tris count and scan for excess. I wonder if they had somebody g…
Yeah I mean regardless of any of Unity’s limitations, this is entirely upon the developer. However, I also find the suggestion that because there are other high profile examples of unity projects with performance issues, it must be a problem with unity. You don’t hear that about Unreal Engine, despite the fact that there are poorly optimized UE games. Such a bizarre set of assumptions.
It definiitely has much to do with how UE's PR constantly shows off and ships new and exciting features that blend in the engine. Meanwhile, Unity has been criticized for some 6+ years minimum for its package management and lack of cohesion.
Re: Why Cities: Skylines 2 performs poorly
#516Earlier quoted context omitted.
Agile shaman took the wheel
Agile done properly is literally the opposite of this. Big Important Exec spouting Agile terms they don't understand and cluelessly forcing top-down crap on the teams, more likely. Normalize your story points, prole! Daddy needs metrics!
Every project managed by a dedicated servant-leader Six Sigma Kanban certified Scrum ninja-coach project has been a bureaucratic shitshow, with constant cargo culting to agile priniciples and forced ceremonies.
Re: Why Cities: Skylines 2 performs poorly
#517Earlier quoted context omitted.
Sure, I should've picked a better word there.
I think half-finished is a good way to describe the state of day-1 releases of games these days. Look back on other games (and non-game software) and measure A. the amount of time between when the developer started and the first release, and then B. the total amount of time it took to get to the final patch. I bet for many, MANY games, A ≤ B/2: They were literally "half-finished" in terms of time, on first release.
unpolished =/= unfinished.
Re: Why Cities: Skylines 2 performs poorly
#518i'm sorry was he benchmarking this at 5120x1440? like seriously do people really game at that resolution?
That's the best resolution, it's the one of 49" 32:9 ultrawide monitors like the Samsung Odyssey Neo G9. Look at images of it from the top, that'll help you understand how immersive it is.
Re: Why Cities: Skylines 2 performs poorly
#519Earlier quoted context omitted.
> It's completely normal in AAA games to have a few imperfect and in-optimal things. No, mate, stop. The state of C:S2 is well beyond anything we should accept as "completely normal". It's a defective product that should not have been released. Stop normalising this crap.
Good grief, I have a mid tier AMD card and I'm having a blast with almost 40 hours in the game already. Can we quit with the "defective" propaganda? The game runs fine and it's really fun. This "controversy" really drives home for me how detached from reality online discourse often is
Case in point: I get 6-10 fps on a 7900XT with the default settings, 17 if I use the lowest preset, all while seeing around 55-ish percent system utilization.
Something is amiss here and the game is definitely not running fine for everyone.
As someone seeing this weird performance issue I wish both sides would focus less on screaming at each other and make it easier to figure out the root cause so everyone can enjoy the game.
Re: Why Cities: Skylines 2 performs poorly
#520"And the reason why the game has its own culling implementation instead of using Unity’s built in solution because Colossal Order had to implement quite a lot of the graphics side themselves because Unity’s integration between DOTS and HDRP is still very much a work in progress and arguably unsuitable for most actual games." This sadly tracks with my own experiences with Unity's tooling, where DOTS did ship but its i…
For example, Godot isn't really build around ECS, but the idea of servers which are mostly autonomous game subsystems that can process their area of expertise (rendering, physics etc.) mostly independently, and are loosely coupled to the general game logic.
ECS architectures originate in the PS2/PS3 era, when CPUs were awful. Tiny caches, horrible branch mispredict penalties, slow memory, fragmented memory spaces and lack of a random access storage forced developers to build their games around predictable memory access patterns, that in general resulted in streaming architectures, where data necessary for the game data to be streamed in tiny chunks to be processed.
While generally this is good practice even nowadays, with the advent of superfast CPUs with amazing speculative execution, great branch predictors, and tens of megabytes of cache, this is no longer strictly necessary, especially considering that most modern games haven't really increased that much in terms of stuff going on on the screen compared to say, a decade or two ago. It's still uncommon for the player to fight more than a dozen dudes in an action game.
And in games with thousands of things on screen at the same time, often specialist logic and handling is necessary.