Hacker News new | past | comments | ask | show | jobs | submit login
[flagged] Cities Skylines II renders invividual teeth of all human models (twitter.com/tombomp)
21 points by xz18r 10 months ago | hide | past | favorite | 31 comments



Not true. According to an article on Rock Paper Shotgun (https://www.rockpapershotgun.com/stop-blaming-teeth-for-citi...) the developers "have put out a statement denying this "bizarre story."

"Citizen lifepath feature does not tie to citizen geometry and does not affect the performance figures of the characters," the statement reads. "We know the characters require further work, as they are currently missing their LODs which affect some parts of performance. We are working on bringing these to the game along general LODs improvements across all game assets. Characters feature a lot of details that, while seemingly unnecessary now, will become relevant in the future of the project.""


At least from the linked tweet, I don't see how it's "not true".

The tweet reads:

> apparently one of cities skylines 2's many performance issues is that it uses high poly models for each of the thousands of people walking around your city. including their individual teeth

And the screenshot reddit post says:

> The game does DOES render individual teeth with no LOD as far as I can tell.

The "denial" fails to deny that the high-poly citizen characters includes teeth, and acknowledges that the citizen characters do not have an LOD. Those are, like, the only two claims at issue.

> We know the characters require further work, *as they are currently missing their LODs* which affect some parts of performance

That's not a denial. That reads to me like they're agreeing with the statement that there is no LOD.

> Characters feature a lot of details that, while seemingly unnecessary now

While they don't explicitly deny or affirm that these high-quality character assets have individual teeth, this sentence seems...suspiciously close to an acknowledgement that there are "details" included in these characters that "seem unnecessary". I wonder what details they might be referring to, though?


I don't read this as a denial of the issue at all. It has nothing to do with "citizen lifepath" which is the system which tracks individual citizens through milestones like graduation, working life, retirement, death etc. I don't know why they even brought that up.

If anything this statement confirms the issue. We know for a fact that these high poly toothy models are in the game assets. And the statement confirms that citizens are missing LODs, which are the lower poly models which should be used when the camera is far away. In other words, if a citizen is rendered then it's the high poly model which is rendered. The one with the teeth.


sounds like they're saying that the toothy model they use in some lifepath menu is a different model than the walking citizen model


Anyone who plays the game can confirm for themselves using camera mode that citizens rendered on the street have very high poly models and you can even clip into them to see the teeth. If the LOD models are missing then this is what's rendered any time a citizen is visible.


How the hell do you ship a city simulator and neglect to put lods on the character models before release?


It's quite clear that someone, probably the publisher Paradox, rushed this game out for the holiday period. The development studio even rushed out a warning to players ahead of time that basically said "Hey if you're going to play this you should know it's going to be rough".


One day a publisher walks into the studio and says: we’re shipping in 6 months. We need cashflow now, if we sell well you’ll have time for a patch before we start on the DLC.


This blew up on twitter, but i heard a few industry people note that during play this type of object isnt actually rendered unless visible. Still bad, but not why the game preforms so poorly.

Cant exactly remember the phrasing or terminology but worth nothing


That's what I was assuming. Camera is so far away it just wouldn't get rendered.

Aside, anyone else noticing more 'one-shot' posts here? Links to tweets, etc that don't really say much besides 'this is a thing.'

Not necessarily bad, but I don't find myself spending as much time with HN links as I used to.


"Camera is far away is it just wouldn't get rendered" is...not quite right.

If the view-frustrum of the camera includes the model, it will typically get rendered.

What typically save performance in these games is a system called "LOD" or "Level of Detail". This typically means that an asset (say the 3D model of the citizen) might have a few different qualities of 3D model. One "high quality" model that should be used when the character is close to the camera, a medium quality one when the character is kinda-far, and a super low quality one when the character is way off in the distance.

What the tweet and screenshot reddit post are claiming is that this LOD system is not present for these citizen characters, so when one is far away, they are still rendering using the high quality model. The GPU still needs to do all of the rendering work required to draw the high-quality model, even if it ends up being far away.


> Aside, anyone else noticing more 'one-shot' posts here? Links to tweets, etc that don't really say much besides 'this is a thing.'

> Not necessarily bad, but I don't find myself spending as much time with HN links as I used to.

A generation raised on retweets and other one-click shares now walks among us professionals and peers. Stuff is going to change as they becomes a larger and larger share of the community. It’s the same reason we see more video posts with the requisite complaints from my fellow greybeards about how they swear reading is a lot faster and easier.

But the curiosity is still there and good, depthful discussion still happens in the comments, so I think the community is staying healthy through these changes.


it's not even a distance thing. that would be LODs which are apparently not done for human models.

Occlusion culling and frustrum culling are what are used to choose what is outside of the camera's view, because of either obstruction (a model is completely behind another and is therefore not visible) or is simply outside of the field of view of the camera. That turns whole models on or off, though, and not parts of a model.

The teeth are rendered, but because of how draw calls work, the performance impact of the teeth is miniscule compared against the overall performance profile of the entire game.


> The teeth are rendered, but because of how draw calls work, the performance impact of the teeth is miniscule compared against the overall performance profile of the entire game.

I agree as to the individual teeth, but in aggregate rendering the "high quality" model (thousands of triangles) for lots of small characters that usually appear off in the distance instead of the "low quality" model (tens of triangles) could drive a pretty non-trivial performance hit. As far as the teeth go, they're a pretty small factor overall, but I would imagine having no LOD on characters that are usually small and distant is a significant performance issue.


yes it is. I didn't say otherwise.

geometry instancing makes even complex models transfer to the GPU quickly (when measured per instance) when you send them all in the same draw call, but sending a few LODs in a few draw calls will take less time to rasterize, yes.

problems in this space are very fun to work on and think about, to me. that's why I work on completely different things. I'd hate it if I did it full-time.


Sure, I guess I was mostly responding to "the performance impact of the teeth is miniscule compared against..."

I might have just over-interpreted how small you meant by "minuscule". I'm not sure what other performance problems exist in that game specifically, too, which could impact it.


Presumably you're referring to culling because the triangle is occluded by some other object being in front of it. However, that still involves processing the geometry to determine the triangle is being occluded (and thus, can be discarded partially or entirely). Rather, a low LOD object shouldn't even include the geometry in the first place, reducing the amount of work that needs to be done overall and improving performance.


It's dynamic LOD and every modern game has it. These days you're encouraged to make the models detailed so they look good close up. Dynamic LOD will cut back the detail when zoomed out. There's surprisingly very little performance hit over having low poly models from the start.


I know close to zero about this so bear with me, but isn't there a cost to reading the models off disk and deciding if they need to be rendered? Memory bandwidth isn't free.


Models are Kb in size and insignificant to textures though. It's common practice to load up detailed models and let game engine dynamically adjust LOD. It doesn't hurt performance much at all.


In the case of Cities Skylines unfortunately it appears that the full model is in fact rendered with no LOD.


That's not an issue at all! All modern games have dynamic LOD which means the base models are way more detailed than needed but at run time a simplified model is passed to the renderer.

If the game is rendering teeth at a distance that's a bug with their dynamic LOD. Having teeth on the model in the first place is not a bug.


The entire text of the reddit post screenshot'd in the tweet is:

> The game DOES render individual teeth with no LOD as far as I can tell.

So, yes, the lack of LOD for the individual characters is the issue being raised. The development released a statement acknowledging that the citizens don't have LODs at all:

> We know the characters require further work, as they are currently missing their LODs which affect some parts of performance.

So, it seems less of a "bug with their dynamic LOD" and more of a "they didn't implement dynamic LOD for the citizens at all"


Ultra realism, factor in how the air coming in/out of the mouth passing through the shape of the teeth affects the world's weather system.


Get Tarn Adams involved and it would!


Cities: Gumlines


The original game was cpu bound. Makes sence for a simulation.

Second is gpu bound, which is odd as they extended the simulation depth side of the game. There are definitely serious underlying issues.

I was looking forward to getting it, especially after fiasco of Kerbal Space Program 2


Thousands of years from now the world will be covered with servers entirely focused on real time teeth rendering.


It’s not a sim unless it’s rendered down to the Planck length.


did this story get flagged because the top comment says 'Not true.' and links to an article which neither explains nor coherently denies it?


Looks like it, yes.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: