Live data from Hacker News

Why Cities: Skylines 2 performs poorly

blog.paavo.me

511–520 of 593 posts

Re: Why Cities: Skylines 2 performs poorly

#512
The TL;DR:

Analysis 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

#513
post #260

Earlier 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.

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 the deadline, likely due to running into a lot of technical difficulties working with unity. 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. poor performance was not only expected, i'm certain that every member of the team saw it as the only possible outcome.

Re: Why Cities: Skylines 2 performs poorly

#514

Earlier 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…

I'd call 4 examples of "this needed LODs" random quirks in the grand scheme of things. It's not like every single mesh is 100k vertices. Grossly underoptimized, yes. But the devs pre-empting their announcement with "we're not satisfied" tells me they were too busy slaying dragons to worry about the annoying barking Chihuahua in the room.

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

#515
post #287

Earlier 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.

There is definitely a lot of public bias amongst the two engines. UE4 couldn't solve this problem either (UE5 might, but Nanite isn't quite as "it just works" as you'd expect as of 5.1).

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

#516

Earlier 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!

Personally, I've never seen 'Agile' done well. Every project where we made good progress was engineer driven. We talked to customers about what they wanted so see and we created tasks and implemented them.

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

#517

Earlier 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.

Sure, but that's not how consumers measure "finished". By that logic, Binding of Issac wasn't even in Alpha state when it launched in 2011. Since it got its latest update this year. Meanwhile, Sonic 2006 launched once, never got updates, and was buried for 15 years before Sega loosened up. It was by all accounts "finished", in the worst way.

unpolished =/= unfinished.

Re: Why Cities: Skylines 2 performs poorly

#518

i'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.

Author here! That's my exact monitor. I actually started writing a blog post about it earlier this year when I got it, but didn't manage to finish it yet. It also has its own share of technical issues, though overall it is the best monitor I've ever seen or used.

Re: Why Cities: Skylines 2 performs poorly

#519
post #322

Earlier 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

While I tend to agree that there are a few people bashing it just because everyone else seems to be doing it I would also like to ask you to consider that not all the complaints are invalid.

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…

Tbh, there are many ways to skin a cat, using ECS is not necessary to ship a performant game, not is it necessarily the modern thing to do. It's one of the many architectural patterns you can build a game on top of, and has many advantages as well as detractors.

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.

Post reply on HN