Live data from Hacker News

Why Cities: Skylines 2 performs poorly

blog.paavo.me

441–450 of 593 posts

Re: Why Cities: Skylines 2 performs poorly

#441
post #358

Earlier quoted context omitted.

If SimCity was good, gamers would have held their nose, and played it, DRM or not, just like they did with a million other DRM-heavy AAA titles. It wasn't.

SimCity wasn't just "DRM heavy", it was totally unplayable for the first week after the launch because a ton of people were trying to play it at the same time and being stopped by its overloaded DRM servers. https://www.wired.com/2013/03/simcity-outage/

Other AAA titles have also had horrible, show-stopping launches. If the core game is good, the players will tolerate a lot of bullshit.

Re: Why Cities: Skylines 2 performs poorly

#442

Earlier quoted context omitted.

It's honestly a bit insane. Just the other night I wanted to know what it'd take to do some AR development for the Quest 3 using Unity. 10 minutes in I was straight up confused. There's AR Foundation, AR Core, AR Kit, and I think at least one other thing. I have no idea the difference between those, if they're even wholly separate. That's on top of using either the OpenXR or Unity plugin for the actual headset.

AR Kit is Apple's thing. AR Core is Google's thing. Neither of those are Unity's fault. AR Foundation is a Unity layer to present a common interface. Which of my books is a good thing. Open XR is also an an attempt to make a cross platform layer for vendor specific APIs. Again not Unity's fault. The Unity plugin system is a common interface for all XR devices. I'd generally support your sentiment but in this case you…

This comment made things more clear to me than the documentation that I saw, perhaps because I was looking at it from a Quest 3 perspective and their main page about it doesn't mention that at all.

I know what Open XR is all about but again, it's not clear which you should actually use for development if you're only targeting Quest devices, for instance. A little extra documentation would go a long way.

The same goes for all of the other things so frequently mentioned like their renderers.

Re: Why Cities: Skylines 2 performs poorly

#443

Perf issues also basically killed the SimCity franchise on PC. Hope they are able to fix things up

That's not entirely true.

SimCity 4 was the last of statistical city simulators. That is to say, if you put down something like a distressed Ong Condos, the game would go "okay, here's 20,778 people in this node in the transportation network, do some network flow and figure out where they work." Newer titles, including the ill-fated SimCity (2013), are agent-based, where they essentially drop in a person and tell them to figure out where they can go or something like that.

As for why SimCity (2013) was a series-ending failure, it was essentially that at every single juncture, EA choose the stupidest possible option, the one that would most guarantee the failure of the series.

The first failure was in the engine itself. AIUI, the developers who came up with the modeling engine knew it wouldn't scale, and never intended for it to actually power a full-fledged SimCity mainline title. EA decided to tell them that it was going to be that anyways. The simulation just didn't scale; the desultory size of the cities was meant to prevent people from attempting to build anything that would cause the simulation to keel over and die--although it's also clear that the max size limit still was too large for the simulation. This is probably where you're getting your idea of perf issues from.

The most famous issue, though, is EA's requirement that the game have multiplayer features to justify being always online (and thus having more intrusive anti-piracy checks). SimCity doesn't lend itself well to multiplayer functionality, and many people correctly assumed that it was a gimmick to justify anti-piracy. Bizarrely, EA tried to claim for a while that one advantage of always-online was to be able to use more powerful servers to do the simulation calculations, but this was never implemented, and the lie was discovered extremely rapidly.

But the single stupidest decision was that EA never put in place enough server capacity to handle the launch. The game would be EA's first always-online flagship release, which meant it would strain their capacity like nothing else they had released ever did. The lack of capacity was repeatedly highlighted as a potential issue in prerelease, and yet was repeatedly ignored. Problems were reported during beta testing and the press preview period, and were still ignored. And launch day came, people experienced several issues, and it still EA like a few weeks to begin to address the issue.

Oh, and you can't forget all the other regular video game release issues like games being released because they need a release date rather than because they're done and things like that.

Re: Why Cities: Skylines 2 performs poorly

#444

i'm sorry was he benchmarking this at 5120x1440? like seriously do people really game at that resolution?

To me, that seems like an absolutely amazing resolution for many games. Very rarely do you need more pixels in the vertical direction (most games will just end up rendering sky or ground) when left to right are all you really need.

That resolution is still fewer pixels than a simple 4k display, which modern games seem to drive at 60fps quite regularly if you buy beefy hardware. A graphical gore fest like Doom runs at over 100fps on 4k on the card the author has, so a mostly static city builder should also operate fine at a resolution like that.

Re: Why Cities: Skylines 2 performs poorly

#445

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

>Bevy's ECS implementation is really good, and I want to see it succeed here, in addition to Godex.

Godex is ultimately putting lipstick on a pig. it can improve performance a bit, but ECS isn't some magical optimazation to slap on as a plug-in. cache coherency in the gameplay layer can't fix engine level bottlenecks.

Re: Why Cities: Skylines 2 performs poorly

#446
post #212

Earlier quoted context omitted.

That's a huge misrepresentation of what happened to SimCity. EA released a incredibly user-hostile version of SimCity (always online, microtransations and more) that almost no one liked, and Cities: Skylines was released around that time too.

I bought both when they came out, and the user hostile stuff didn't bother me at all. What killed sim city was most definitely the performance issues. Unless they had a better reason for restricting the maximum city size. And then the fact that skylines had both a larger play area and more fancy city building features was just the killing blow. EA got caught out, thinking they could leisurely bring out an inferior pr…

> Unless they had a better reason for restricting the maximum city size.

They did! EA wanted you to play the game online. They encouraged you to connect your city with other players by making it difficult for cities to be self-sufficient.

I.e., user-hostile design.

Re: Why Cities: Skylines 2 performs poorly

#447

This is my favorite video using the poor rendering in the game to make cool art effects. Full disclosure there may be an artistic license and post processing but it’s hilarious you can get these visuals in a modern game. https://www.youtube.com/watch?v=FQ13OFmRF-4

Wrong video? I think that one is using Mirror's Edge Catalyst

That right there is the city from the original Mirror's Edge (2008). I can tell from having played it a lot. And what a great idea for a music video.

Re: Why Cities: Skylines 2 performs poorly

#448

For a bit of reference, a full frame of Crysis (benchmark scene) was around 300k vertices or triangles (memory is fuzzy), so 3-10 log piles depending on which way my memory is off and how bad the vertex/triangle ratio is in each.

Author here: I never bothered counting the total vertices used per frame because I couldn't figure out an easy way to do it in Renderdoc. However someone on Reddit measured the total vertex count with ReShade and it can apparently reach hundreds of millions and up to 1 billion vertices in closeups in large cities. Edit: Checked the vert & poly counts with Renderdoc. The example scene in the article processes 121 mill…

“If you’ve used more triangles than there are pixels on the screen, you’ve messed up.”

I call this kind of thing the “kilobyte rule” because a similar common problem is shoving tens of megabytes of JSON down the wire to display about a kilobyte of text in a browser.

Re: Why Cities: Skylines 2 performs poorly

#449
post #221

Earlier quoted context omitted.

Because it is one of the 1,000,000 things to pay attention to in game development. Someone or some software probably just made a mistake in setting up its LOD. Or some dynamic LODding code didn't properly cull the LOD0 mesh. Or that code couldn't be finished in time. Or it was something else. It's completely normal in AAA games to have a few imperfect and in-optimal things. Budgets are always limiting, and developmen…

> Because it is one of the 1,000,000 things to pay attention to in game development. Finding objects with ridiculous triangle counts is one of the easiest things to do when you have known performance issues. If they didn't have time to do the first, easiest chunk of the work, then something was far more dysfunctional than "it's one of a million things to deal with".

This is on par with: “Sure, there’s a raging fire in that corner of the office, but it’s just one of a million things I had to deal with that day. That’s why I didn’t call the fire department, okay!?”

Staying on top of poly count budgets is like game dev 101.

Re: Why Cities: Skylines 2 performs poorly

#450
post #102

> This mesh of a pile of logs is similarly only used in the shadow rendering pass, and features over 100K vertices. But… why?

The studio that made this has like 30 devs.

I'm solodeveloping a game, and there's no fucking way a 100,000 vert mesh is getting in the game without a LOD. My game is running on the Quest 2 at 72 fps stable
Post reply on HN