10 ms·
> This mesh of a pile of logs is similarly only used in the shadow rendering pass, and features over 100K vertices. But… why?
by vGPU 3y ago
> This mesh of a pile of logs is similarly only used in the shadow rendering pass, and features over 100K vertices.
But… why?
- Tijdreiziger 3y agoHey, ya gotta have logs /s
- clnq 3y agoBecause 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 development times short. Plus, it's a hit-driven industry where payoff is not guaranteed. There are some things you can do (which are usually management-related and not dev-related) to make the game a success, but estimated bookings are rarely on-point. So trade-offs have to be made to de-risk - corners cut where possible, the most expensive part - development - de-prioritized. These are much bigger trade-offs than a single mesh being unoptimized. A single mesh is nothing. It's a fun fact that this mesh is LOD0, and so is the teeth mesh. But that alone doesn't tank the performance of the game and is probably unlikely to be addressed in lieu of actual performance fixes. The fixation on these meshes in the thread is kind of excessive. A lot of these comments are quite galvanized so I don't want to add to that - just giving more context.
- deleted 3y ago[deleted]
- eloisant 3y agoI get that you can leave a bunch of things unoptimized, as long as it works fine. What I don't understand is - how did they not notice that the performances was horrible even high end hardware? How did they not decide to take the time to investigate the performances issues and find the causes we're talking about now?
- tbillington 3y agoI _guarantee_ they knew about it. They even posted on social media 1 week before launch warning people to expect lower than expected performance, and raised the system requirements. If companies have to decide between prioritising features that they've advertised, show stopper bugs, and performance, guess which one always takes the back seat :)
- clnq 3y agoSo you know the saying “premature optimization is the root of all evil?” Producers love that statement because it removes half of the complaints around work being rushed. Optimization is not done throughout the process and later there’s not enough time. Assets are made with bad topology and it would take time to redo them. Or it would take time to write a tool that retopologizes them automatically. What I’m saying is by the time it’s “time” to optimize, there’s not enough time to optimize. It happens very commonly. But the alternative is taking development slower to do things right. And you simply don’t get investment for schedules like that in most companies. Not to mention that it’s goddamn hard to do when the execs lay off people, ask them to RTO, and induce serious attrition otherwise. Sometimes the team just can’t settle into a good process as people leave it too much. So you’re between a rock and a hard place — on the one hand: attrition and low morals, on the other hand: a tight schedule. This doesn’t apply to Colossal Order from my knowledge, but it does apply to many AAAs. There is a problem at the root of this - extremely over-ambitious production schedules as norm. Most other things are symptoms. Most of what I described is a symptom.
- athrow 3y agoExcept there really isn’t a better product to back up these issues. There were some important improvements made to the gameplay, traffic system, certain things were reworked, nicer graphics etc. It feels like an iteration and not a ground-breaking game rhat would justify the performance issues we’re seeing.
- clnq 3y agoThe design was iterated, but the game assets are redone almost completely, and the systems appear largely reworked, too. This is evident when you play the game. The scope of work done for this game was exceptionally large for a company with 40 employees, assuming it was done within the usual AAA timeframe.
- smolder 3y agoYou're right that this kind of stuff is sort of par for the course. As in other cases, it's indicative of (IMO) a bad development process that they didn't budget the time to polish before shipping. I save my games budget for stuff that is "done when it's done", not rushed out, mostly out of principle. If you aggressively min-max development cost & time vs features, there are big external costs in terms of waste (poorly performing software carries an energy and hardware cost,) end-user frustration, stress on workers, etc., which is how I justify voting with my money against such things.
- mvdtnz 3y ago> 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.
- Retric 3y agoTheir point is that specific mesh could be left alone and the game still be playable as long as other issues were fixed. Chances are a nearly complete version of C:S2 was playable and they “broke it” at the last minute by not finishing the optimization process.
- mvdtnz 3y agoThat's speculation based on nothing but vibes.
- Retric 3y agoIt’s speculation based on these mesh sizes being so arbitrary in the game development process and what’s broken being unnecessarily window dressing for gameplay. It’s the kind of thing that could be delayed to the last minute with some simple placeholder. “Now you might say that these are just cherry-picked examples, and that modern hardware handles models like these just fine. And you would be broadly correct in that, but the problem is that all of these relatively small costs start to add up, especially in a city builder where one unoptimized model might get rendered a few hundred times in a single frame. Rasterizing tens of thousands of polygons per instance per frame and literally not affecting a single pixel is just wasteful, whether or not the hardware can handle it. The issues are luckily quite easy to fix, both by creating more LOD variants and by improving the culling system. It will take some time though, and it remains to be seen if CO and Paradox want to invest that time, especially if it involves going through most of the game’s assets and fixing them one by one.” IE: The the game would have looked nearly complete even if none of these meshes where in use. Meanwhile the buildings themselves are optimized.
- dimgl 3y ago> Because it is one of the 1,000,000 things to pay attention to in game development. This is a cop-out. This doesn't seem like an oversight but rather blatant incompetence. You don't just "not pay attention" to this.
- johnnyanmac 3y agoyou call it incompetence, devs call it "publishers told us to ship now". You'd think a technical community like this would sympathize with such mandates given across the industry.
- mook 3y agoCall it incompetence on the part of the management, then?
- Aeolun 3y ago[flagged]
- acdha 3y agoWhat if we’re more charitable and consider that maybe the modelers assumed that they were doing the most detailed models and someone else would be processing them to produce derivatives for lower zoom levels? It’s rare that something like this happens because nobody knew it was a problem but rather that there is a management dysfunction around priorities and resources.
- hwillis 3y agoI mean, you shouldn't be charitable. Those clothes drying aren't 20 subdivision wide because they're detailed. The logs have five sides they don't have all those segments along their length because they're detailed. At absolute best, they didn't go back and fix the topology. At worst those were development assets that were thrown together in 5 minutes and then never replaced.
- Aeolun 3y ago> rather that there is a management dysfunction around priorities and resources That’s never only a management dysfunction. You also need a large group lacking either common sense or a backbone (ask me how I know).
- acdha 3y agoThat sounds like a failure to set the right culture in the company, though? I’m not saying that nobody else is to blame in that situation but in general responsibility starts at the top where people are paid enormous sums precisely to handle problems like that.
- Dylan16807 3y ago> 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".
- jiggawatts 3y agoThis 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.
- johnnyanmac 3y agoHappen more than you think, despite the absurd metaphor. Maybe there was an inferno in the neighbohood and no time to worry about the fire in the corner of the apartment. Maybe your publisher doesn't care if your house burns down but wants to make money now for their own earnings. I don't think it's uncommon even outside of gaming for modern software to have these sort of "hidden fires". Games just get a lot more conversation and a lot of niche problems as a 3D real time application.
- 3seashells 3y agoBut gamedev usually means, all new faces teams, as the old one quits in lockstep. So it's very likely a bunch of youngsters running around yelling "premature optimization" is the death of all good things. Mistaking that with needing no optimization plan at all until game is almost done.
- clnq 3y agoNo, friend, poly counts are rarely a raging fire these days. Not 10k poly counts. That was in the 90s.
- account42 3y ago> It's a fun fact that this mesh is LOD0, and so is the teeth mesh. But that alone doesn't tank the performance of the game and is probably unlikely to be addressed in lieu of actual performance fixes. The fixation on these meshes in the thread is kind of excessive. So I assume you have a better explanation of the excessively slow G-buffer and shadowmap passes?
- deterministic 3y agoNope. 15 years game industry veteran here. Good game engine engineers focus on performance from day one and will analyse everything top to bottom all the time to make sure the game runs smoothly. This is an example of a company that doesn't have competent engine devs working for them.
- matsemann 3y agoIt could have been like a hundred vertices and a clever normal map. Just insane.
- ripper1138 3y agoThe studio that made this has like 30 devs.
- harrid 3y agoThis 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.
- dimgl 3y agoThank you! This is what I was getting at in another comment. This isn't just a case of "oh no, I forgot to switch a button".
- johnnyanmac 3y ago>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.
- kamray23 3y agorandom 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.
- johnnyanmac 3y ago
- jameshart 3y agoWell, because when you’re modeling a pile of logs, each additional log you add doubles the number of vertices. This is a well known property of log scaling.
- function_seven 3y agoI’m too dumb to know if you’re making a math joke or if this is a real 3D modeling thing. Or both?
- Aeolun 3y agoIt’s a joke
- deleted 3y ago[deleted]
- amluto 3y agoIf you make natural looking logs, it’s a factor of 2.7 or so.