Live data from Hacker News

Why Cities: Skylines 2 performs poorly

blog.paavo.me

261–270 of 593 posts

Re: Why Cities: Skylines 2 performs poorly

#262

Earlier quoted context omitted.

Valve/Steam should really have some policies around unfinished or unpolished games so that they are forced to be marked as "early access" It is absolutely ridiculous that these developers can get away with releasing a beta (essentially what it is) and setting the full release price without the end user knowing they're a guinea pig.

I wonder if releasing a widely anticipated game unfinished is sometimes actually strategically beneficial marketing wise. Perhaps it's a marketing dark pattern? It makes the game stay in people's minds longer because people keep coming back to it asking "is it good yet, have they fixed it yet?". It kind of feels it has worked like that for Cyberpunk. If it's a finished game on launch day people will quickly make up t…

I think Cyberpunk was only able to turn itself around because the studio got so famous with The Witcher and people were willing to give them another chance. If they hadn't been famous already, it'd just have been another rando shitty game on Steam, of which there are thousands...

But then there are stories No Man's Sky too, which had a miraculous turnaround as well. So maybe it can happen sometimes...

Re: Why Cities: Skylines 2 performs poorly

#263

Earlier quoted context omitted.

It makes one wonder what their internal employee incentives are and if they're problematic. Microsoft has a similar problem where nobody gets promoted from fixing bugs or maintaining stuff, everyone gets rewarded for new innovative [thing] so every two-three years there's a completely new UI framework or similar. Although I feel like wanting to start-a-new is a common tech problem, where there are problems and everyo…

> Microsoft has a similar problem where nobody gets promoted from fixing bugs or maintaining stuff, everyone gets rewarded for new innovative [thing] so every two-three years there's a completely new UI framework or similar. Is there any big (or even medium-sized) company where this isn't true? I feel like it's just a rule of corporate culture that flashy overpromising projects get you promoted and regularly doing im…

It seems endemic, especially everywhere that's not a product company. I think it was mythical man month (maybe earlier) that pointed out the 90% of the cost of software is in maintenance, yet 50 years on this cost isn't accounted for in project planning.

Consultancies are by far the worst, a project is done and everyone moves on, yet the clients still expect quick fixes and the occasional added feature but there's no one familiar with the code base.

Developers don't help either, a lot move from green field to green field like locusts and never learn the lessons of maintaining something, so they make the same mistakes over and over again.

Re: Why Cities: Skylines 2 performs poorly

#264
post #151
post #72

> A brief glance at the JS bundle reveals that they are using React and bundling using Webpack. While this is something that is guaranteed to make the average native development purist yell at clouds and complain that the darned kids should get off their lawn, When I first heard of this as being a thing, my initial reaction was indeed something like "wait what? HTML and CSS in a desktop PC game driving the UI? No, th…

All sorts of industries use web tech to render UIs. Even SpaceX used it in Dragon. People just have preconceptions and biases, and gamers are horrendously intolerant of everything and anything that doesn’t fit their world view of “how things should be”.

> All sorts of industries use web tech to render UIs. Even SpaceX used it in Dragon.

When I realized this was performant enough to drive a 747's entire cockpit while the simulator moved along at a high FPS and with incredible visuals, and was now a thing that was being selected for "state of the art" AAA games ... from there I did my homework.

So that led to reading all about SpaceX Dragon UI, as you mention, and all the myraid of other places this is used.

I did feel like I was too far outside the loop, having been a software engineer and working with these technologies for quite a while by that point. "quite a while" being the pre-JavaScript-existing years.

I just wasn't working on projects that such a thing would meet a requirement.

Now? I still have no use for it but I find it incredible that everything in this entire pipeline has become so optimized and reliable. Apparently to the point you can suggest running a spacecraft's user interface and not leave everyone staring at you, blank-faced and not sure how to respond.

Instead, possible responses can now include "sounds good".

Re: Why Cities: Skylines 2 performs poorly

#265

It's kind of stunning that a game of this magnitude is able to go out the door without model LOD. I suppose the fact that it runs at all is stunning -- surely you could not get away with this a decade or two ago -- but perhaps it speaks to the incredible capabilities of modern hardware. This feels a bit similar to the Electron criticism, where convenience ultimately trumps performance, and users ultimately don't care…

Can someone expand on exactly what is meant by "model LOD" in this context? Does the commenter mean they should have implemented a system to reduce texture resolution or polygon count dynamically, eg. depending on what's in view or how far away it is? That the artists should have made multiple version of assets with coarse variants removing things like computer cables from desks in buildings?

There were already some great explanations in the replies, but here are a few videos too:

Basic overview: https://www.youtube.com/watch?v=mIkIMgEVnX0

Or a more detailed one: https://www.youtube.com/watch?v=TwaS5YuTTA0

It's been a standard technique in video games for... decades now.

Re: Why Cities: Skylines 2 performs poorly

#266
post #72

> A brief glance at the JS bundle reveals that they are using React and bundling using Webpack. While this is something that is guaranteed to make the average native development purist yell at clouds and complain that the darned kids should get off their lawn, When I first heard of this as being a thing, my initial reaction was indeed something like "wait what? HTML and CSS in a desktop PC game driving the UI? No, th…

Just wait for Boeing to start making real cockpits in React...

Re: Why Cities: Skylines 2 performs poorly

#267
Unity has been stalling on it's DOTS and network stack re-implementation for like 5 years now.

There is no excuse other than leadership are cashing the checks and squeezing the juice out of the company until they close it, which would make sense looking at their semi-recent merger and poor behavior by the CEO.

Seriously, I was looking into Unity at the start of Covid while laid off, and DOTS was "around the corner" even THAT far back!

They still don't have an answer for a network stack, and now LOD is broken? LMAO.

Unity has been a dirty word for me for a number of years. This is the pay-off for dismissing people's concerns and insisting it will buff out eventually.

Re: Why Cities: Skylines 2 performs poorly

#268
post #77

It sounds like these issues are relatively fixable. It's a classic victim of the Unity engine's tech debt though. I use Unity myself and they desperately need to decide on how they want people to make video games in their engine. They can't have three rendering pipelines and two ways of adding game logic that have a complicated matrix of interactions and missing features. And not great documentation and a bad bug rep…

Honestly, automatic LOD generation would solve at least some of the performance issues: add the functionality, make it opt-out for those that don't need LODs and enjoy performance improvements in most projects, in addition to some folks getting a simpler workflow (e.g. using auto-generated models instead of having to create your own, which could at the very least have passable quality).

Godot has this: https://docs.godotengine.org/en/stable/tutorials/3d/mesh_lod...

Unreal has this (for static meshes): https://docs.unrealengine.com/5.3/en-US/static-mesh-automati...

Aside from that, agreed: the multiple render pipelines, the multiple UI solutions, the multiple types of programming (ECS vs GameObject) all feel very confusing, especially since the differences between them are pretty major.

Re: Why Cities: Skylines 2 performs poorly

#270
post #192

Earlier quoted context omitted.

Intuitively, "fixing life-or-death disasterss is more visible and gets better rewards than preventing them" doesn't seem like it should be a unique problem of software engineering. Any engineering or technical discipline, executed as part of a large company, ought to have the potential for this particular dysfunction. So I wonder: do the same dynamics appear in any non-software companies? If not, why not? If yes, hav…

Outside of software, people designing technology are engineers. Although by no means perfect, engineers generally have more ability to push back against bad technical decisions. Engineers are also generally encultured into a professional culture that emphasizes disciplined engineering practices and technical excellence. On the other hand, modern software development culture actively discourages these traits. For exam…

That's a very idealistic black-and-white view of the world.

A huge number of roles casually use the "engineer" moniker and a lot of people who actually have engineering degrees of some sort, even advanced degrees from top schools, are not licensed and don't necessarily follow rigid processes (e.g. structural analyses) on a day to day basis.

As someone who does have engineering degrees outside of software, I have zero problem with the software engineer term--at least for anyone who does have some education in basic principles and practices.

Post reply on HN