Cities: Skylines

Cities: Skylines

View Stats:
This topic has been locked
Will Jul 3, 2019 @ 11:45am
Another game ruined by the ♥♥♥♥♥♥ Unity engine
This game is already the golden standard of optimization for Unity games, no other Unity game is this well-optimized yet it's still pure ♥♥♥♥, getting bogged down by performance issues when it has so much more potential.
I've been saying this since forever, Unity is a plague, it's cheap, it's easy to use, and it runs 2 to 4 times slower than real game engines.
On the graphics side, this game is essentially a miracle as far as Unity games go, that it can handle so many buildings. However, his game is completely two-thread, in a time everyone has at least 4 CPU cores. Because of this ♥♥♥♥♥♥ way Unity is, all your simulation can only run on one thread, again it's a miracle how much simulation this game packs into one thread, compared to a normal Unity game like Parkitect or RimWorld, This game can handle maybe 20,000 citizen city at 60FPS if you're running a 5Ghz processor today, and 10,000 for more normal processors.
Problem is, 10,000 is only a single block of land out of 9 you can purchase. So what's the point of being able to purchase additional land if there's no CPU that can handle such things? Imagine what would've happened if this were built on a real game engine that supports multi-threading? What if it could utilize 8 cores? Then you'd surely be able to run a 1,000,000 people city with decent frame rates and actually utilize 9 tiles of land!

The list goes on, potentilally good games ruined by Unity....

KSP
Cities: Skylines
Two Point Hospital
Simple Rockets 2
RimWorld
Parkitect
...
...
< >
Showing 1-15 of 25 comments
ebrumby Jul 3, 2019 @ 12:01pm 
Simple solution: if you don't like it, play something else.
Pirazel Jul 3, 2019 @ 12:53pm 
Developing a game engine is expensive. Many small studios can't affort it and have to use Unity.
Meanwhile there's a thread on the front page about a guy that's already reached 500k population, and is now shooting for 1 million.

Maybe upgrade your potato? I have no problem running this game, or any of the others in your list.
Will Jul 3, 2019 @ 2:13pm 
Originally posted by LittleBlueDuneBuggy:
Meanwhile there's a thread on the front page about a guy that's already reached 500k population, and is now shooting for 1 million.

Maybe upgrade your potato? I have no problem running this game, or any of the others in your list.
So you can run this game at 60FPS with 500k population?
And what about KSP? 60FPS with 300 parts?
Rimworld, 60FPS with 60 characters?

you can stop lying, it's very obvious.
Last edited by Will; Jul 3, 2019 @ 2:14pm
Originally posted by Pirazel:
Developing a game engine is expensive. Many small studios can't affort it and have to use Unity.
Unreal Engine isn't exactly expensive.
Originally posted by Will:
Originally posted by LittleBlueDuneBuggy:
Meanwhile there's a thread on the front page about a guy that's already reached 500k population, and is now shooting for 1 million.

Maybe upgrade your potato? I have no problem running this game, or any of the others in your list.
So you can run this game at 60FPS with 500k population?
And what about KSP? 60FPS with 300 parts?
Rimworld, 60FPS with 60 characters?

you can stop lying, it's very obvious.

Lying? lmfao. I never said any of the things you just said. You're the one wanting 60fps at the extreme end of all these games. If you could get 60fps with 500k pop, I guess you would ♥♥♥♥♥ if it dropped to 59fps at 500,001?

All of these games are very playable on a good rig. First thing you need to do is stop playing with integrated graphics.
Will Jul 3, 2019 @ 2:42pm 
Originally posted by LittleBlueDuneBuggy:
Originally posted by Will:
So you can run this game at 60FPS with 500k population?
And what about KSP? 60FPS with 300 parts?
Rimworld, 60FPS with 60 characters?

you can stop lying, it's very obvious.

Lying? lmfao. I never said any of the things you just said. You're the one wanting 60fps at the extreme end of all these games. If you could get 60fps with 500k pop, I guess you would ♥♥♥♥♥ if it dropped to 59fps at 500,001?

All of these games are very playable on a good rig. First thing you need to do is stop playing with integrated graphics.
Sorry I'm playing on a 2080ti, not that it's anywhere near GPU limited.
Zelektra Jul 3, 2019 @ 2:52pm 
Lmao at the logic behind this guy. Unity does support multi-threading up to 8+ cores and compute shaders on the GPU, it takes time to upgrade the entire project to support it as they'd have to rewrite it all since the Job system and ECS has made multi-threading much easier to implement. If you're complaining at Unity engine and saying that "real game engines" are better, care to name any? Oh I can just hear you already saying UE4, tell me what strategy games on this scale have been achieved in that engine? None exactly. You also say Unity is "too easy to use" WHAT?! You'd rather people have a really difficult time making a game? Give me strength. Jesus.

Tell me have you ever made a game? and please for everyone here show us it. We'd like to see. let me guess you're one of those dumb soy boys who think they're all tough and manly for being an UE4 developer.

But you're obviously so dumb that you didn't even bother to do any research and just hopped on the "lets all hate Unity" band wagon. But of course you're blaming the engine and not your rig or anything else because you're a stupid ♥♥♥♥ with an anime profile picture and a private account so you're either trolling or an imbecile with no brain. You have my pitty.
Fel Jul 3, 2019 @ 3:08pm 
You also are not going to get great FPS in dwarf fortress, minecraft or factorio when you push the games to their limits and they are not using unity.
Pretty much any game that allows the player to go way beyond the basic things will start slowing down, but blaming unity or unskilled devs is easier than making a concurrent game and proving that it's not only feasible but also at least as fast and as cheap.

EDIT: I'd like to point out that most of the games you cited would not even exist without unity being fairly "easy" to learn.
Last edited by Fel; Jul 3, 2019 @ 3:12pm
Will Jul 3, 2019 @ 3:15pm 
Originally posted by Fel:
You also are not going to get great FPS in dwarf fortress, minecraft or factorio when you push the games to their limits and they are not using unity.
Pretty much any game that allows the player to go way beyond the basic things will start slowing down, but blaming unity or unskilled devs is easier than making a concurrent game and proving that it's not only feasible but also at least as fast and as cheap.

EDIT: I'd like to point out that most of the games you cited would not even exist without unity being fairly "easy" to learn.
Minecraft is another one of those lazy ass games with ♥♥♥♥ optimization, thanks for bringing it up.
If only they can write that thing in a low level language, the simulation part can be at least 10x faster.
Last edited by Will; Jul 3, 2019 @ 3:21pm
Will Jul 3, 2019 @ 3:18pm 
Originally posted by The Real Mon:
Lmao at the logic behind this guy. Unity does support multi-threading up to 8+ cores and compute shaders on the GPU, it takes time to upgrade the entire project to support it as they'd have to rewrite it all since the Job system and ECS has made multi-threading much easier to implement. If you're complaining at Unity engine and saying that "real game engines" are better, care to name any? Oh I can just hear you already saying UE4, tell me what strategy games on this scale have been achieved in that engine? None exactly. You also say Unity is "too easy to use" WHAT?! You'd rather people have a really difficult time making a game? Give me strength. Jesus.

Tell me have you ever made a game? and please for everyone here show us it. We'd like to see. let me guess you're one of those dumb soy boys who think they're all tough and manly for being an UE4 developer.

But you're obviously so dumb that you didn't even bother to do any research and just hopped on the "lets all hate Unity" band wagon. But of course you're blaming the engine and not your rig or anything else because you're a stupid ♥♥♥♥ with an anime profile picture and a private account so you're either trolling or an imbecile with no brain. You have my pitty.
If they could they would've because even in 2015 quad core was already the norm.
On top of the fact that no Unity game ever can utilize more than 2 threads?
You clearly have no idea how Unity works, the fact that every simulation routine must reside in that same dll file in the same main loop makes multithreading absolutely impossible.
leftbehind Jul 3, 2019 @ 3:39pm 
The actual issue is that you can't use Unity stuff outside the main thread (Unity APIs are not thread safe). That being said, the physics engine in Unity spreads well across cores, and so long as you don't need to directly access Unity stuff you can create your own threads just like any other C# project (preventing lad due to thread locking then becomes the main hurdle).

If I'm not mistaken, the Loading Screen Mod uses multiple threads to farm off some of the workload to other cores. However, each time it needs Unity API that has to be done in the main thread for aforementioned reasons.

EDIT: TM:PE dev team are currently sniffing around for threading possibilities and have started profiling bits of the game to find likely candidates (-1 means "not profiled yet"):

Audio avg time: 0 ms
Building avg time: 22 ms
Citizen avg time: 38 ms
Coverage avg time: 0 ms
Economy avg time: 0 ms
Electricity avg time: -1 ms
Info avg time: 0 ms
Instance avg time: -1 ms
NaturalResource avg time: 2 ms
Net avg time: 2 ms
Path avg time: 0 ms
Prop avg time: 0 ms
Render avg time: 31 ms
Statistics avg time: 0 ms
Tool avg time: 0 ms
Transfer avg time: 8 ms
Transport avg time: 0 ms
Tree avg time: 0 ms
Vehicle avg time: 53 ms
Water avg time: -1 ms
Weather avg time: 0 ms
Last edited by leftbehind; Jul 3, 2019 @ 3:42pm
Will Jul 3, 2019 @ 4:16pm 
Originally posted by aubergine18:
That being said, the physics engine in Unity spreads well across cores

You mean PhysX, the physics engine created to sell a gimmicky "physics card", bought by Nvidia and modified to run as slow as possible on the CPU so that they can advertise their GPUs as being superior in physics acceleration, and now it's in Unity with GPU acceleration totally disabled so it's running on the slowest possible mode?

Could they have possibly bought a worse physics engine? Unity was never ever meant to do any of the things we're using it for today. They can bolt on as many bloat gimmick as they want, the core will always be rotten.
Last edited by Will; Jul 3, 2019 @ 4:19pm
Remote Jul 3, 2019 @ 4:46pm 
Yeah it really is, i ♥♥♥♥♥♥♥ hate unity and how it ruined Rust
MarkJohnson Jul 3, 2019 @ 4:48pm 
Originally posted by Will:
This game is already the golden standard of optimization for Unity games, no other Unity game is this well-optimized yet it's still pure ♥♥♥♥, getting bogged down by performance issues when it has so much more potential.
I've been saying this since forever, Unity is a plague, it's cheap, it's easy to use, and it runs 2 to 4 times slower than real game engines.
On the graphics side, this game is essentially a miracle as far as Unity games go, that it can handle so many buildings. However, his game is completely two-thread, in a time everyone has at least 4 CPU cores. Because of this ♥♥♥♥♥♥ way Unity is, all your simulation can only run on one thread, again it's a miracle how much simulation this game packs into one thread, compared to a normal Unity game like Parkitect or RimWorld, This game can handle maybe 20,000 citizen city at 60FPS if you're running a 5Ghz processor today, and 10,000 for more normal processors.
Problem is, 10,000 is only a single block of land out of 9 you can purchase. So what's the point of being able to purchase additional land if there's no CPU that can handle such things? Imagine what would've happened if this were built on a real game engine that supports multi-threading? What if it could utilize 8 cores? Then you'd surely be able to run a 1,000,000 people city with decent frame rates and actually utilize 9 tiles of land!

This game will easily max out 8 cores/threads. You seem to think that nit should use them all even on a small city. I mean, do you expect your system to use all 8-core at max to watch a vidoe, listen to songs, play tic-tac-toe?

The game uses what it needs, nothing core. as all games do.

Here is a stress test city I created for bench marking/testing. Load it up and report how long it takes for a single day to expire at x3 speed.

655k population, 80k active agents, 25-tiles (100 sq. km.) mostly full, no workshop nor DLC required. It may be lagging a lot since you only have 4-cores. Any workshop will add to the load and make lag worse. but it should load without issue.

https://steamcommunity.com/sharedfiles/filedetails/?id=723204559

It would help if you at least research a little before posting. Although Unity isn't the best choice for a simulator, it isn't that bad at all. How many of those games did you list actually use 8-full cores? I mean it is equivalent to tracking 80,000 other player simultaneously. How many other games can track even half of that? Besides Simcity 5 (2013)

Most resources are from the active agents (16,000 vehicles and 64,000 pedestrians) roaming the map. (not parked vehicles). As you can see for yourself, this game is very optimized. Not perfect, but very efficient for a small startup company.
< >
Showing 1-15 of 25 comments
Per page: 1530 50

Date Posted: Jul 3, 2019 @ 11:45am
Posts: 25