8 ms·
I think it comes down to power in the company. Unity was extremely simple and small before, once they got John Riccitiello it become a management/business focu
by drawkbox 6y ago
I think it comes down to power in the company. Unity was extremely simple and small before, once they got John Riccitiello it become a management/business focused company over engineering leaders in terms of power and direction.
Unreal has Tim Sweeney, and old school guy that understands how to make a game engine and has done it over and over. They learned alot from Unity, and are now doing it better than them once they turned towards simplicity over complexity.
When Unreal 4 swapped out UnrealScript for C++ it went into overdrive in terms of performance and clean.
- troughway 6y agoI recently read that Tim Sweeney still writes code for UE, something absurd - 80% of the codebase is his?
- brobdingnagians 6y agoThat's awesome. Lead from the front. He does it becomes he loves it and knows what he is doing. I really admire those kinds of leaders.
- lgl 6y agoI don't know if this is true but I don't see why it would be absurd. The man is pretty much an absolute gaming and coding legend and from what I've read about him, he's genuinely interested about code and tech so if that's true I find that actually pretty awesome. Absurd would be if he had to just stick to management and bureaucracy just because he has a few billions on his bank account. You do you Tim!
- gentleman11 6y agoSource? 80% of such a massive codebase seems like a stretch. Ue3 alone had over 3 million lines
- Mirioron 6y agoI doubt that's true now, but it could've been something like that when UE4 released. The story went that he'd started work on it almost a decade before the release of the engine.
- DethNinja 6y agoI think UE and Unity has complete different markets. Unity is focused on small mobile game developers, those small shops don’t have expertise to work with UE C++ source code and most of them are new grads themselves. I’m not sure what is the overall strategy of Unity but I don’t believe they care much about the PC/Console space and frankly at this point I don’t believe they will ever manage to capture it from UE.
- drawkbox 6y ago> Unity is focused on small mobile game developers Someone remind Unity of that.
- bluescrn 6y agoThey really do need that reminder. The people making money from Unity-based games are primarily mobile/F2P devs, and smaller indie developers. They need stability and ease-of-use/very-rapid-development much more than they need performance or the latest shiny high-end graphics features.
- kbenson 6y agoI thought I remembered there being some bigger games, but looking at a list[1], they are all pretty indie, or at least small. Not sure I saw a AAA game on the list (which doesn't mean there aren't any, but they seem rare). The equivalent list for Unreal Engine[2] does contain quite a few big titles (along with a plethora of less well known ones). I'm not sure if that's cause, effect or marketing. It could be that using Unreal Engine results in a smoother process and is more likely to result in a AAA target game being AAA. It could be that AAA studios area already predisposed to use Unreal Engine. It could be both. It could be that Unreal Engine is just better at marketing to larger studios given their pedigree. 1: https://en.wikipedia.org/wiki/List_of_Unity_games https://en.wikipedia.org/wiki/List_of_Unity_games 2: https://en.wikipedia.org/wiki/List_of_Unreal_Engine_games https://en.wikipedia.org/wiki/List_of_Unreal_Engine_games
- 6y ago
- switch11 6y agothis is very interesting -When Unreal 4 swapped out UnrealScript for C++ it went into overdrive in terms of performance and clean. why do you think this happened? why was C++ so much better
- fxtentacle 6y agoBecause there is excellent tooling for C++, while they had to reinvent all the tools from scratch for UnrealScript. I believe that ReSharper C++ alone makes me 10-20% more productive. Their refactorings and inferred constants are amazing and produce real-world performance benefits. Plus having const wherever it is warranted makes code easier to read and easier to debug.
- winrid 6y agoWhy ReSharper and not CLion?
- fxtentacle 6y agoMostly habit. I started using ReSharper long before CLion was introduced.
- drawkbox 6y agoC++ is very common in gamedev largely for the performance, less learning another language and more direct. UnrealScript in previous Unreal versions was simple but so is the necessary C++ for Unreal 4. Developers can make pure C++ games, or they have a simpler way using Blueprints that you can add into C++/Blueprint mixed games [1][2], or purely Blueprint that helps for non programmers though they are slower. There was lots of work to keep UnrealScript synced with the engine. Without that middle layer of a DSL, going direct is also important since everything needs to perform on mobile but also be native/AOT compiled. Helps for consoles, desktops and web as well. Fun fact: Unity was going to go to C++ in 2013 during the Apple blocking Flash and other JIT tools, Unity thought they were going to be blocked from mobile publishing. [3] Since you can't run interpreted code Unity was going to go C++, I wish they had with C# as a scripting language maybe. Instead Mono had AOT compiling around that time but since the Mono license was expensive they built IL2CPP which takes byte code and makes C++ from it. About a year later Mono was bought by Microsoft and it would have been free for Unity to integrate. Though I still wish they would have went C++ with C# scripting that creates C++, would have been an easier route. I believe much of their problem is all these complicated legacy/translation systems at the base of the engine, which just going direct C++ would be easier with scripting on top of that that directly converts to C++. Godot you can also use C++ and other languages including C#, GDScript. [4] Early days of Unity you could use C#, Javascript, Boo (Python flavor) or anything that Mono supported. [1] https://docs.unrealengine.com/en-US/Resources/SampleGames/ARPG/BalancingBlueprintAndCPP/index.html https://docs.unrealengine.com/en-US/Resources/SampleGames/AR... [2] https://docs.unrealengine.com/en-US/Gameplay/ClassCreation/CodeAndBlueprints/index.html https://docs.unrealengine.com/en-US/Gameplay/ClassCreation/C... [3] https://blogs.unity3d.com/2010/07/02/unity-and-ios-4-0-update-iii/ https://blogs.unity3d.com/2010/07/02/unity-and-ios-4-0-updat... [4] https://docs.godotengine.org/en/stable/tutorials/plugins/gdnative/gdnative-cpp-example.html https://docs.godotengine.org/en/stable/tutorials/plugins/gdn...
- ethbro 6y agoIt comes down to a truism about generally anything: it's inefficient to figure out how to do a thing without some amount of doing a thing. It's not a huge surprise someone building games makes a better game engine than someone building a game engine. Because they solved the problems they ran into! You see this time and time again with businesses. Dogfood, and you'll have a lot better idea of where the warts are in your product. (And most importantly, waste less time fixing things you're convinced are warts, but nobody ever noticed)