Live data from Hacker News

What Unity Is Getting Wrong

garry.tv

231–240 of 306 posts

Re: What Unity Is Getting Wrong

#231

Earlier quoted context omitted.

I definitely support making your own game engine if you enjoy it as a programmer. But it shouldn't be a surprise that it's not the best choice for the most developers. Every moment you're debugging and improving the engine is another moment you could have been working on the game itself, because almost all engine improvements are orthogonal to improving the game experience. So given a limited amount of time, you will…

In my experience, it was easy... until I got to the part of my game that makes it unique. Then it went from easy to very very hard. That's the thing about engines. They'll get you up and running quickly for basic stuff, but you'll be tearing out your hair when you need to do anything non-basic.

The way I put it is, "the engine isn't really done until the game is." So many polish features in games lead to new categories of assets, which in turn need new methods of rendering.

This is one of the multitude of reasons that so many older game devs reach for the C++ compiler; they don't know what the game will need, but they do know they can make the necessary modifications to ship if they approach it bottom-up.

Re: What Unity Is Getting Wrong

#233
post #81

Earlier quoted context omitted.

Requiring Mac OS to build binaries is unfortunately an Apple restriction. Apple has a large number of both technical and legal barriers allowing cross compiling.

Mozilla cross-compiles Firefox's macOS (and Windows) builds on Linux. Build times are much faster on Linux and build scripts for macOS, Windows, and Linux can share more common code. https://bugzilla.mozilla.org/show_bug.cgi?id=921040

This doesn't account for all the Mac-specific graphics tooling like the Metal compiler, metal-al, metallib and such.

Re: What Unity Is Getting Wrong

#234
I once tried using Unity for creating a little game during a game jam of approximately 8h. The team wanted to make a small game, where one could mix ingredients and create magic potions. Initially I suggested we could simply use some JS and make it a web app, specifically, because I anticipated problems, if we relied on some software like Unity, but no, unfortunately the team majority decided they wanted to use Unity.

For the Windows users it apparently worked. However, one friend and me, this choice excluded us. Here is why:

Unity did start the first time, but then crashed, resulting in some lock file being there, so that I could not start it again. Took a while to figure that one out. After figuring that out, I was able to remove that lock file manually, enabling me to start Unity again. That alone in itself already seems ridiculous. However, I could still not use it, because it kept crashing and not working. So my friend and I could not participate at all. She was running some Mac laptop, where it also had issues. I tried reinstalling multiple times, updating graphics card drivers, switching between proprietary and Nouveau, all kinds of shenanigans, I tried for at least 2 hours to get this stuff working before giving up. Of course I searched online for solutions. None to be found.

This was a few years ago, so the situation might have changed, although many comments here lead me to thinking, that it might be just as bad. However, that is why I stay clear of using Unity. What I've seen of Unity makes me think it is a huge bloated thing. I'd rather choose some small 2D game engine and write a lot of code myself than trying to use Unity again. Once bitten ...

Re: What Unity Is Getting Wrong

#235
post #230

What do folks here think of Panda3D ( https://www.panda3d.org )? Its just a game engine without any IDE. So the typical workflow would be to build your assets and scene in Blender (or Maya, etc.) and then code up the game mechanics in Python or C++. I am tinkering with it for non-gaming (Reinforcement Learning) use cases and I was curious what game devs think of it.

Now there's a name I haven't heard in a very long time... I'm not in game dev right now, though, so grain of salt and stuff. But I did play around with Panda a long time ago, and thought it was fine for getting some 3D stuff going quickly without dealing with the headaches of OpenGL. Similar to PyGame but for 3D. It's neat that it's still seeing development.

Besides the old Pirates of the Caribbean game, which I can't even find mentioned on their site anymore, have there been any commercial games developed with it? I was always under the impression that it was primarily targeted towards CMU students in their game design curriculum. (DigiPen, a school most known for game programming, has in its main degree program students building their own engines from scratch, but there are at least 3 in-house engines that have been developed over the years meant for freshmen and game design students.)

I tend to treat the "commercial use" barrier as the key one to initially evaluate "niche" engines. Like, Ogre3D is fairly "niche" too, but it's been used in many commercial games. That says nothing directly about the relative quality, but it does imply some good things if people were willing to risk a business product on it.

Personally I'd consider Panda again for a game jam or as you mentioned a non-game-but-3D-needing thing, but where for both I'm also expecting to use Python. But I'd want to check out Python bindings to Ogre and whatever else is out there now these days too. (Godot has been top of my "if I ever want to just make a game and not spend time in the weeds doing things from scratch in a non-mainstream language, use this" tools.)

Re: What Unity Is Getting Wrong

#236
I've spent the last three years working in Unity. By the time I've learned enough to make honest-to-goodness good quality games with it, I've reimplemented so many things that are supposed to be core features of Unity, that I would have just been better off starting from scratch on my own.

So that's what I'm doing now. There is a .NET Standard 2.0 library called Veldrid that gets you open source graphics code. There's another netstandard2 library called NAudio that will get you most of what you need for audio. Xamarinn will get you the platform-specific stuff for user input. Networking can be done with just regular, ol .NET sockets. If you care about VR (which I do), there are C# wrappers around all of the major VR APIs; you'd have to do a lot of platform specific and conditional compilation wrangling to get good VR working on Unity anyway.

And you can use a sane build system, with a sane dependency management system.

It's just so much better than constantly fighting Unity's stuff that was all designed for demoing at Unite and then never finished.

Re: What Unity Is Getting Wrong

#237
post #228

Earlier quoted context omitted.

Java SE 8 (LTS) March 2014 December 2030 Java may have a new LTS every few years, but they support their LTS releases for much longer.

That is the old model, the new LTS model is three years. Oracle just extended it due to Java 9 being our Python 3, which is kind of pointless because all the packages that matter have migrated already. But enterprise being enterprise, there are plenty of projects only now migrating to 8, and then there is that little robot that isn't even fully compliant with 8.

Not that I really know much about Java stuff, but it looks like maybe Amazon/OpenJDK are providing longer support lifetimes? [1]

And here's an official Oracle doc regarding Java support where they show Java 11 (LTS) being supported until either late 2023 or late 2026 depending on your support level. I'm not sure they provide free support anymore, or maybe that's limited and what you're referring to?

1: https://en.wikipedia.org/wiki/Java_version_history

2: https://www.oracle.com/java/technologies/java-se-support-roa...

Re: What Unity Is Getting Wrong

#238
post #3

Unity has gotten so painful I've sworn off ever taking another Unity project. Since mid last year I am 100% exclusive on Unreal Engine. Unity wants you to think this instability is temporary. It is not. Unity has been unstable since at least 2014 when I first worked with it. Every year there is a new-new thing, "please stop using the old-new thing". Meanwhile those upgrades are always painful, not sometimes painful,…

> Unity has more engineers than Epic. It's funny. I see it (anecdotally) all the time. More engineers doesn't mean a better product. In fact at my old shop, things (product, quality) really started declining once we 'rapidly' scaled the team. Communication and consistency really suffered from lack of solid processes among other things.

> More engineers doesn't mean a better product.

But it often means higher overhead...

Re: What Unity Is Getting Wrong

#239

Earlier quoted context omitted.

One of my on-boarding tasks at my first tech job was to evaluate the merits of upgrading to a newer version of unity. I installed the new version, imported our code base, fixed a few bugs, and everything worked. We gained a few niceties, we could remove some of the hacks we had to program in to bypass unity weirdness, and we could start keeping our product up to date. I gave a presentation, we went over the pro/con l…

We are a tiny dev team using Unity on a non-gaming project and we basically have to dedicate 2-4 weeks of the year to updating Unity and all the mess that it entails. But if you don't update then you have to spend even more time the next year catching up. Then we end up being too scared to use their new features cause they aren't supported well or cause bugs. Its lose-lose.

I'm in game dev and have been responsible for doing Unreal Engine updates for medium-sized teams (50-150) on AAA games.

Our updates have taken one full-time engineer for 2 weeks plus an additional 2 weeks total of various people's time for each upgrade. It's worse if we skip a version.

We dedicate probably 3-4 person-months per year to staying updated, but it's well worth it. As an investment its ROI is easily 100x.

Re: What Unity Is Getting Wrong

#240

Earlier quoted context omitted.

We are a tiny dev team using Unity on a non-gaming project and we basically have to dedicate 2-4 weeks of the year to updating Unity and all the mess that it entails. But if you don't update then you have to spend even more time the next year catching up. Then we end up being too scared to use their new features cause they aren't supported well or cause bugs. Its lose-lose.

Just get to the LTS release and stay there.

[deleted]
Post reply on HN