Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Indie developer blames game journalists for widespread Unity Engine hate

Unwanted

Wehraboo

Unwanted
Joined
Jun 28, 2017
Messages
544
Location
The age of the Golden Baby
There's two serious problems with Unity engine.

1. It's shit. It's super slow and its API is scripting-based dog shit.

2. The people using it are all shit and having them involved with your project guarantees doom.
 

Thane Solus

Arcane
Joined
Apr 29, 2012
Messages
1,684
Location
X-COM Base
Unity got a bad rep from shit programmers, or non existent programmers. I know several experienced programmers that enjoy Unity and they do very complex shit with it, but they are actually programmers, not snowflakes... or script kiddies.
 

Quatlo

Arcane
Joined
Nov 15, 2013
Messages
942
If a tool is only good when wielded by the best users, then it's a lousy tool.
But Unity is relally easy to use, even my programming alergic self managed to fiddle with it pretty easily, so you get a bunch of hipster idea guys that fuck it up as hard as they can, thats why it has such a negative stereotype surrounding it.
 

Roguey

Codex Staff
Staff Member
Sawyerite
Joined
May 29, 2010
Messages
35,798
If a tool is only good when wielded by the best users, then it's a lousy tool.
But Unity is relally easy to use, even my programming alergic self managed to fiddle with it pretty easily, so you get a bunch of hipster idea guys that fuck it up as hard as they can, thats why it has such a negative stereotype surrounding it.

And Logic Artists, Limbic, Daedalic, Harebrained Schemes, inXile, and Obsidian.
 

Bester

⚰️☠️⚱️
Patron
Vatnik
Joined
Sep 28, 2014
Messages
11,100
Location
USSR
If a tool is only good when wielded by the best users, then it's a lousy tool.
As easy as gamedev has become compared to before, it's still not comparable to using a hammer on a nail. It's more like if you want to make a good game, you have to be an Olympic fencer at programming. Anyone can swing a stick, but only a very highly skilled person can wield it at that level of skill. And what you see is a lot of dumbasses swinging the unity-rapier with doubtful degrees of success, and then you blame the rapier.

In case of inXile, Obshitian, Harebrained, etc you can attribute their problems to time and budget constraints, so it's a producer/CEO fuckup. Fargo is a gigantic fuckup in general, considering it took them how many years to make Torment etc. And it was a well known fact that Pillars was understaffed on the programming side of things.
 
Self-Ejected

Davaris

Self-Ejected
Developer
Joined
Mar 7, 2005
Messages
6,547
Location
Idiocracy
2afncpg.jpg
 
Last edited:

J_C

One Bit Studio
Patron
Developer
Joined
Dec 28, 2010
Messages
16,947
Location
Pannonia
Project: Eternity Wasteland 2 Shadorwun: Hong Kong Divinity: Original Sin 2 Steve gets a Kidney but I don't even get a tag. Pathfinder: Wrath
LOL, keep hating on Unity guys, meanwhile I play games like Wasteland2, PoE, Ori, Shadowrun, Kerbal Space Program without a problem. Maybe you should check your shitty PCs before you complain about the engine.
 

HoboForEternity

sunset tequila
Patron
Joined
Mar 27, 2016
Messages
9,202
Location
Disco Elysium
Steve gets a Kidney but I don't even get a tag.
LOL, keep hating on Unity guys, meanwhile I play games like Wasteland2, PoE, Ori, Shadowrun, Kerbal Space Program without a problem. Maybe you should check your shitty PCs before you complain about the engine.
it really depend on the devs really. Also wasteland 2 the original, and kerbal ran like shit.

Unity 4 is legit crap, and with 5 it actually become better, like the w2 dev cut and divinity enchanced.

But yeagmh, aside from unity unique hiccuo, nost newer unitt games run good, like expeditions vikings actually ran better than conquistadorss.

While UE4, also have some shit too. Obduction stopped working for me. It started laggy everytime i use the cart, the loading time was horrendous, ans after a while the game just stuck on loading screen. I wantvto like the game, but the technical issue stopped me from playing
 

DeepOcean

Arcane
Joined
Nov 8, 2012
Messages
7,395
Who was born first? Unity or cheap shovelware programmers? That is a pretty important question to answer.
 
Self-Ejected

Davaris

Self-Ejected
Developer
Joined
Mar 7, 2005
Messages
6,547
Location
Idiocracy
Who was born first? Unity or cheap shovelware programmers? That is a pretty important question to answer.

Before Unity they at least had to be able to program. Now the asset flippers don't even need to know that much. Actually I'm glad that Unity exists, because it gives these people a place to go.
 
Self-Ejected

Davaris

Self-Ejected
Developer
Joined
Mar 7, 2005
Messages
6,547
Location
Idiocracy
Who was born first? Unity or cheap shovelware programmers? That is a pretty important question to answer.

Before Unity they at least had to be able to program.

You mean before the unity store.
Yep. Unity is the store and the store is Unity. Without it they would be just another engine.



People here blame Unity for the stuttering and slow load times. I don't know anything myself, but some time ago an engine programmer I used to follow, pointed the finger at the garbage collector that comes with C#, because it does its thing not when the programmer tells it to, but in its own sweet time. So you can expect stutters on any engine that uses C#. Slow load times I really wouldn't know either, but I suspect its from loading text files, instead of binary files.

I think the problem is there are no languages created for game development. There is only one person I know of that is doing something about that. Johnathan Blow. But he says he isn't creating his language for the worst programmers, he is creating it for the best programmers.
 
Last edited:

Roguey

Codex Staff
Staff Member
Sawyerite
Joined
May 29, 2010
Messages
35,798
LOL, keep hating on Unity guys, meanwhile I play games like Wasteland2, PoE, Ori, Shadowrun, Kerbal Space Program without a problem. Maybe you should check your shitty PCs before you complain about the engine.

Record videos featuring both an fps counter and hardware temps.
 

J_C

One Bit Studio
Patron
Developer
Joined
Dec 28, 2010
Messages
16,947
Location
Pannonia
Project: Eternity Wasteland 2 Shadorwun: Hong Kong Divinity: Original Sin 2 Steve gets a Kidney but I don't even get a tag. Pathfinder: Wrath
LOL, keep hating on Unity guys, meanwhile I play games like Wasteland2, PoE, Ori, Shadowrun, Kerbal Space Program without a problem. Maybe you should check your shitty PCs before you complain about the engine.

Record videos featuring both an fps counter and hardware temps.
FPS was smooth, and I don't give a rat's ass about hardware temps as far as they are in the acceptable range. And they were, otherwise my PC would have alerted me.
 

RatTower

Arcane
Developer
Joined
Apr 24, 2017
Messages
470
Who was born first? Unity or cheap shovelware programmers? That is a pretty important question to answer.

Before Unity they at least had to be able to program.

You mean before the unity store.
Yep. Unity is the store and the store is Unity. Without it they would be just another engine.



People here blame Unity for the stuttering and slow load times. I don't know anything myself, but some time ago an engine programmer I used to follow, pointed the finger at the garbage collector that comes with C#, because it does its thing not when the programmer tells it to, but in its own sweet time. So you can expect stutters on any engine that uses C#. Slow load times I really wouldn't know either, but I suspect its from loading text files, instead of binary files.

I think the problem is there are no languages created for game development. There is only one person I know of that is doing something about that. Johnathan Blow. But he says he isn't creating his language for the worst programmers, he is creating it for the best programmers.

You can force C# to run the garbage collection - much like in Java (even the same system command iirc). The question is rather if that command is synchronized with the automatic one, which currently escapes me (also depends if the guys at unity put GC into the engine's core itself or whether they let the .NET framework handle that).

In either case you'd still have automated garbage collection but its effect would be pretty miniscule. As it is already to be honest. Of course if you instantiate/discard new objects on each Update() (so pretty much every frame) you are in trouble. Then the GC needs a while to work and it will definitely have an impact on performance.

There's actually a nice official unity article on that: https://unity3d.com/de/learn/tutori...ion/optimizing-garbage-collection-unity-games

The real trouble of Unity/Unreal probably lies here:
https://en.wikipedia.org/wiki/Entity–component–system#Cost_of_iterating_through_entities

Which nicely ties in again with the problem of triggering elaborate functions on the Update() method.


I'd be careful with Blow's argument though. I don't really see anything that'd support it much, beyond structuring a language purely into the form of objects and handling them asynchronously much like most parallelized Entity-Component architectures already do. But that'd basically be a pure OOP language with threading and those do exist. People just aren't using them because the trouble doesn't really pay off. You can make some fine games with any language. I mean Rollercoaster Tycoon was written in x86 assembler. The real advances come with proper architecture design. And color me impressed if Blow actually outperforms the entirety of Looking Glass/Origin Systems there. Because that's where all the Entity-Component noise originally came from. And they had some really fine engineers.
His time would probably be better spent if he solved the problem mentioned above.

But then again: You got Epic & Unity working on that. And however respectable your ambitions may be, you won't outperform a product that has millions of daily testers and bug reports written in their community forums.
 
Last edited:

Tacgnol

Shitlord
Patron
Joined
Oct 12, 2010
Messages
1,871,745
Codex 2016 - The Age of Grimoire Grab the Codex by the pussy RPG Wokedex Strap Yourselves In Codex Year of the Donut Shadorwun: Hong Kong Divinity: Original Sin 2 Steve gets a Kidney but I don't even get a tag. Pathfinder: Wrath I helped put crap in Monomyth
You can force C# to run the garbage collection - much like in Java (even the same system command iirc). The question is rather if that command is synchronized with the automatic one, which currently escapes me (also depends if the guys at unity put GC into the engine's core itself or whether they let the .NET framework handle that).

Generally in C#, you don't have a lot of control over when the GC runs. There is a command to force it (GC.Collect() followed by GC.WaitForPendingFinalizers()) , but it's usually not recommended.

What you can do to help things, is make sure that unmanaged objects are disposed (either with dispose() calls, or with the use of using statements).

Still, I was under the impression that C# in Unity was used more as a scripting language rather than the engine itself being .net under the hood.
 

RatTower

Arcane
Developer
Joined
Apr 24, 2017
Messages
470
I'd be careful with Blow's argument though.

He means to replace C++. He and programmers of like mindset think its days are numbered. 10 years or less.

Oh boy...
Maybe he and Cleve Blakemore can create that language together and make Grimoire 2 with it.
The best language for the best game! (release date 2040)

You can force C# to run the garbage collection - much like in Java (even the same system command iirc). The question is rather if that command is synchronized with the automatic one, which currently escapes me (also depends if the guys at unity put GC into the engine's core itself or whether they let the .NET framework handle that).

Generally in C#, you don't have a lot of control over when the GC runs. There is a command to force it (GC.Collect() followed by GC.WaitForPendingFinalizers()) , but it's usually not recommended.

What you can do to help things, is make sure that unmanaged objects are disposed (either with dispose() calls, or with the use of using statements).

Still, I was under the impression that C# in Unity was used more as a scripting language rather than the engine itself being .net under the hood.

That could actually very well be.
I was just assuming it under the presumption that GC slowdowns are actually a problem coming from the very core of Unity.
If that is not so, and the engine is written in say C++ like Unreal, then garbage collection itself would only affect the objects instantiated in the C# scripting part (respectively some object space ontop of the the engine).
But then it's again a user problem, not an engine problem. Unless it is somehow tied into the core again.

Guess only the actual engineers know about that.
 

Jigawatt

Arcane
Joined
Aug 13, 2009
Messages
3,409
Location
in a desert, walking along in the sand
I work in a lab doing R&D mostly in VR, human-computer interaction, and computer vision space, and we have a number of projects both in Unity and Unreal (and also a few with are good old pure OpenGL). Needless to say a lot of the time we need things to go fast, so we spend a bit of time thinking about this stuff. Short version is, Unity falls far short of Unreal in performance in nearly any metric you care to measure: CPU usage, memory usage, GPU driver overhead time, disk access / IO trashing - lots of specific techniques also seem to incur huge overhead.

As mentioned by others because it's C# it also comes with considerable baggage there: unpredictable GC pauses, loose control over memory allocation (stack vs heap etc. - affects cache misses), slow-as-hell default algorithms for some data structures (eg hashmaps - what the hell were the language designers thinking here?). The engine design has quite a few quirks too - very few thread-safe APIs, weird hard limits all over the place (can't have more than 2^16 vertices in a mesh lel), a terrible math library (can't even manually set a 4x4 transform matrix of an object - WTF?), the abomination that is ShaderLab language etc. etc.

This all being said, Unity isn't completely off the table for new projects - if we know in advance that the workload will be light and the project is more about exploring interactivity Unity has a pretty nice advantage in very fast iteration cycles, changing some code and hitting play feels pretty much instant compared to Unreal which gives you a chance to get distracted by the Codex. But yeah, any concern about 'good engineering' is an afterthought on those projects.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom