10 ms·
From my limited experience with the Unity engine, I would guess that it has been built with a colossal technical debt that is almost intractable. The foundatio
by stephc_int13 4y ago
From my limited experience with the Unity engine, I would guess that it has been built with a colossal technical debt that is almost intractable.
The foundations were technically weak and they started the reengineering process (DOTS) a bit late.
I've seen that before, with PalmOS and other tech stacks that were hacked together and kind of worked for a while until the competition caught up.
The zombie state can last a few years, but I am pretty sure there are cases where the whole thing can be saved with herculean effort.
- johanneskanybal 4y agoDid you also build one of the top two game builiding engines of the world or just ranting?
- daniel-cussen 4y agoUltimately software becomes medicine, not human or veterinary medicine, but computer medicine. You have all this code, but you can't read it all and can't check if it's right. Then you end up with tumors in the code (Blas Mena came up with this concept) and they can be benign or malignant, and ought to be contained. Tumors can be 500 lines of C#, ballpark, in a 15000 LOC codebase. Yes LOC, lines of code, is a bad metric--compared by Bill Gates to weight on an airplane--but at the end it is still meaningful to the complexity--mass of an airplane. So the whole game in software companies is at some point taking Human Growth Hormone and growing fast, and inevitably getting some tumors, but hoping they are benign and contained. Or they can spread and the software dies.
- no_wizard 4y agoany information with the PalmOS story? I'd be genuinely interested in that!
- jnash 4y agoUnity is the #1 game engine used today. It started from nothing and bypassed Unreal. That's a very impressive feat. Also, it is so much easier to use than Unreal. So I don't see the problems you are talking about.
- brianwawok 4y agoCounterpoint: Windows works with 30 year old code, and somehow managed to manage their piles of tech debt and still work. Still a huge % of the market.
- marcodiego 4y agoBecause microsoft dominated a market segment with mostly no competition for long enough to make people dependent in a way that users couldn't simply choose an alternative. There are idiosyncrasies in windows usage that users think are normal, but are actually legacy behavior which can't be changed because it could break other peoples tools. This makes windows users not only locked on the platform but also expect those misbehavior if they try to change. Also consider that depending on the hardware, software or services you use, there is NO alternative to windows. I don't think the same is true for Unity.
- stephc_int13 4y agoAlso, yes, the user experience is not that bad, especially these days. I love using Linux and Unix in general, but the legacy idiosyncrasies there are kind of worse.
- Ekaros 4y agoI'm kinda sad that we have really ended up with essentially two operating systems or families of such dominating. Unix/Linux/BSD and Windows... Both with their own issues and historic loads... I feel that we could do so much better in modern age if some of the things were just let go, but trenches has been dug and nothing will likely happen.
- philistine 4y agoUhhh ... macOS is exactly what you're talking about. It's unafraid to let some things just go. They just said during the State of the Union this week that Obj-C and UIKit were legacy tools, and that the future is Swift and SwiftUI. They said it, and I promise you they will deliver on this. I predict that within a decade Apple will truly deprecate UIKit and AppKit and stop any new app from using it. Microsoft has never been able to do that.
- 202206241203 4y agoThey have made fun about being relieved that XNA had only been a framework rather than an engine. MonoGame http://www.monogame.net http://www.monogame.net might actually outlive Unity in the end. In any case, the Unity founders will be millionaires.
- cinntaile 4y agoBut Unity isn't just used for games.
- 202206241203 4y agoSure, there are Excel games too.
- cinntaile 4y agoI don't get your point.
- vopi 4y agoI assume the poster is implying that although Unity is used in things outside of gaming, the vast majority of users and development are/is in gaming.
- foobiekr 4y agoUnity is for games. Without the games market, a company like Unity can't exist. Unreal Engine is used for dataviz and media production projects, but it's business is games. His point is that if Excel lost the business world, the fact that people do things like write games in Excel will not save it, and he is asking you to understand that the assertion that Unity is used for more than games is roughly analogous, which it is.
- cinntaile 4y agoMost of their revenue comes from other activities, another commenter mentioned this: https://news.ycombinator.com/item?id=31932162 https://news.ycombinator.com/item?id=31932162 My point was that it is comparing an engine to an engine + more. I do agree that the engine is central, but it is much broader than games.
- atwood22 4y agoI see Unity lasting a long time. There are basically only two companies to consider if you want to make a 3D game: Unity and Unreal. Unity is so much easier to pick up for newer game developers, which means Unity will always have a funnel of new users that will help the company stay afloat. The decision to use C# is a major factor in Unity's success. Not only do you get the benefit of an existing ecosystem, and you also don't need to worry about the insanity that is C++. The biggest threat to Unity is probably Godot achieving a Blender-like success story where Godot achieves parity with Unity but is free.
- acchow 4y ago> There are basically only two companies to consider today.
- golergka 4y agoUnreal has Blueprints that are superior to all Unity's visual scripting solutions, so if you're a beginning indie dev, you don't need to write code at all. If, however, you're a professional game developer who tries to get his game to run 60 FPS on a 6-year old phone (not a hypothetical example, I've led a project that had 60 FPS on iPhone 4 in 2016 with Unity), then you WANT the C++ and engine source code. I've been working with Unity since 2009 and hope to never touch that giant flaming pile of shit again in my life. Having moved to frontend development still, I'm very happy to work with tools that mostly work, and if they don't, you can actually dig in and debug them, with healthy development culture that actually encourages you to do so. Sorry for the emotional rant; 10 years of Unity experience (not really though, I've done other things in this time as well) do that to a person.
- jnash 4y agoNot my experience at all. I prefer Unity over Unreal.
- TulliusCicero 4y agoHopefully Godot can make some progress there once 4.0 is out. They're making some very large changes that are supposed to drastically improve 3D performance.
- stoicjumbotron 4y agoAlluding to this, at what point can such a huge company say that we have technical debt and that we'll be focusing on refactoring and making the base solid instead of releasing new features?
- citizenkeen 4y agoWhen a company finally gets there, we will let you know.
- stephc_int13 4y agoThey are kind of doing that with DOTS and ProjectTiny, while still improving/maintaining the legacy base and adding features. https://unity.com/dots https://unity.com/dots https://unity.com/solutions/instant-games https://unity.com/solutions/instant-games But they have been working on this for 5 years now, and it is still "experimental", also the community response has been kind of lukewarm, many devs don't really understand why this is necessary.
- jay_kyburz 4y agoI read that the dots team went dark over a year ago. People are speculating that the whole thing was either canceled, or they are planning to release a completely separate game engine rather than try and shoehorn it into the GameObject model.
- dudeinhawaii 4y agoI've seen this from both the developer and consumer side of things. The legacy design of Unity encouraged truly terrible code designs which translate into sub-optimal performance on modern hardware. Performance and tooling have historically driven game engine licensing. There's a reason why Unity has a noticeable lack of presence in so-called triple-a gaming. Believe me, if performance was "pretty good" and tooling was "excellent" then every major studio would be using Unity. Instead, they're overwhelming using Unreal or they're using their franchise engine that they've built over 1 or 2 decades similar to id Software whose engines used to be the direct Unreal competitor. As a consumer, I cringe when I run game that is "powered by Unity". They nearly always feature extremely slow loading and sub-optimal framerate on top tier hardware. In contrast, an id or Unreal engine game will run at 4k 60fps while looking beautiful. On another note, Unity's market has always seemed to be indie and double-a studios. I would expect a recession to cause many who would have "taken a year off to make a game" to change their minds as investments or savings drawdown.
- golergka 4y ago> On another note, Unity's market has always seemed to be indie and double-a studios. That's part of Unity's market, but it's bread and butter are mobile free-to-play games.
- jbluepolarbear 4y agoA lot of studios are starting to pick up Unity. It’s not that Unity can’t make AAA games, it’s that most of the workforce is used to C++ and Unreal style engines. Most A and AA games are being made with Unity nowadays. Unity started getting popular in mobile dev where it’s still king and now those devs are slowly moving on to bigger better games.
- deleted 4y ago[deleted]
- spixy 4y agoFun story: once I decompiled some mobile game written in Python I think and they shown Unity logo on loading screen
- 4y ago