Live data from Hacker News

Unreal vs. Unity Opinion

gist.github.com

221–230 of 319 posts

Re: Unreal vs. Unity Opinion

#221
post #213
post #191

Earlier quoted context omitted.

> Performance is never a positive as much as a disqualifying negative. Features are what sell the software Except we're talking about video games, where time and time again performance was crucial in achieving new breakthroughs, from Mario's side scrolling, to Carmack's advances in FPSs, to... FFS, we're talking about Unreal 5, this version's selling point is mainly being able to do in realtime what was previously on…

> Except we're talking about video games, where time and time again performance was crucial In that domain speed is pretty important, but even there it's not as crucial as you might assume. I'm not saying discount it altogether, just good gameplay will trump good performance. They aren't completely unrelated, but there are diminishing returns. What are the titles that need to be that much performant? AAA titles are j…

> What are the titles that need to be that much performant?

Nearly every single game no matter what it looks like makes performance trade offs.

Number of enemies on screen, ai search depth, world size, world granularity, whether to allow partial transparency, number of lights, number/complexity of systems etc…

Even for something that may look like just another indie side scroller.

Sometimes these constraints breed creativity. But if you use game maker/unity, you will find yourself regularly running into performance issues that will require problem solving.

The same is true when making an engine, but the problem space is far, far more nuanced than just: some types of games don’t need to worry about performance and so are fine using game maker/unity.

Re: Unreal vs. Unity Opinion

#222

In this critique of unity they say that the back half of making a game is the half of suffering. In my experience, it highlights something else that is a massive problem in the game dev space. The game dev community is stuck in software practices of 2005, leading to naive implementation patterns. As a hobbyist game developer of ~1year, one thing that struck me was how I have not found many good sources of teaching th…

As a game developer, there are two main reasons we don’t write tests: A. because the game design is constantly changing, so any tests would slow down iteration time. B. because the game has so much state it would be very hard to accurately recreate it.

Re: Unreal vs. Unity Opinion

#223
post #213
post #191

Earlier quoted context omitted.

> Performance is never a positive as much as a disqualifying negative. Features are what sell the software Except we're talking about video games, where time and time again performance was crucial in achieving new breakthroughs, from Mario's side scrolling, to Carmack's advances in FPSs, to... FFS, we're talking about Unreal 5, this version's selling point is mainly being able to do in realtime what was previously on…

> Except we're talking about video games, where time and time again performance was crucial In that domain speed is pretty important, but even there it's not as crucial as you might assume. I'm not saying discount it altogether, just good gameplay will trump good performance. They aren't completely unrelated, but there are diminishing returns. What are the titles that need to be that much performant? AAA titles are j…

That's a gross simplification of how the market of games works and why people buy them. Plus, you're claiming that both AAA and mobile are money-grabbing schemes where performance and features affected by performance don't matter, which couldn't be further from the truth.

Not to mention that very often good gameplay also requires appropriate performance. This is still critical in titles not targeting high-end hardware, but also in AAA. Frame render time matters, and lack of performance can affects the work of not only developers, but also artists.

Even in mobile games performance could make a huge difference: something with low performance might not run in some mobile phones and you'd lose a huge chunk of audience (and no, before you say it, it's not just people with iPhone 16s that are a target to make money).

Re: Unreal vs. Unity Opinion

#224
post #98

One thing that wasn't mentioned: (realtime) multiplayer. What's the story here for Unity these days? There's still a lot required in Unreal to implement things like bullet or projectile latency-correction unfortunately, but the base infrastructure they provide here is huge. Last I used Unity, there was essentially nothing. There were some third-party things but nothing you'd ever want to use in a shipping multiplayer…

I'm aware of some fighting games in Unity. These are real-time games but by convention they derive game states from sequences of input states from the players and use time travel to amend entire estimated game states (rather than e.g. estimated positions of individual objects). These games still face some unnecessary trouble imposed by Unity: it's not possible to handle all inputs and networking on a thread that's entirely separate from the thread that does rendering.

Re: Unreal vs. Unity Opinion

#225
post #219
post #74

Not to tone police that much but I really don't get people like Casey. Like his whole thing is spending a billion years writing his game engine, and then whining about all these "bloated" tools. Just completely dismissive of everything that doesn't align directly with his values (which don't include actually shipping game!) I like people who write their own engines and make bespoke things for fun. Just really dislike…

So which engine is this guy working on? I checked his twitter and his website but there is no mention about the actual engine (only that he is working on one).

He's not currently working on an engine per se (at least not publicly), but he's has a streaming channel where he teaches the fundaments needed for understanding and potentially being able to build one.

Re: Unreal vs. Unity Opinion

#226
post #198

Earlier quoted context omitted.

Even in Blueprint you can push out code fairly quickly if you are familiar.

Before Blueprints there was Kismet. My last kismet project looked like an ER diagram for a government database. Kismet had decent grouping objects to where you could organize your Kismet, but even my largest and most complex kismets could have been replaced by about 100 lines of unreal script. It's just not as expressive as code. I miss unreal script.

I used Kismet for years and fought with its limitations on a daily basis. By far the biggest limitation of Kismet was that every graph was tied to a level. If you wanted to do any general purpose programming, such as mechanics shared across every level, you had to duplicate your graph for every single one of them. It was a very tedious and error-prone process.

Blueprint is leaps and bounds ahead of Kismet. It's built for general purpose programming out of the box. You can write your own classes, components, enums, and more. You can expose parameters to the Details panel so that designers and artists can easily tweak classes on a per-instance level. You can still write a graph tied to a level a la Kismet — this is called a Level Blueprint — but I find it's rarely necessary, if at all.

I remember trying UnrealScript because of Kismet's limitations. It was certainly more powerful and expressive, but shutting down the editor every time I wanted to compile was a real drag. These days I've gotten used to the fact that Blueprints are compiled on the fly by clicking a button in the editor, with no interruption to iteration. I can't imagine going back.

Re: Unreal vs. Unity Opinion

#227
post #74

Not to tone police that much but I really don't get people like Casey. Like his whole thing is spending a billion years writing his game engine, and then whining about all these "bloated" tools. Just completely dismissive of everything that doesn't align directly with his values (which don't include actually shipping game!) I like people who write their own engines and make bespoke things for fun. Just really dislike…

Roughly 600 episodes translates to roughly 600 work hours. That's 15 weeks. And now it's a full 3D game engine. Because he's not doing it contiguously and instead doing it once a week or so (there are breaks sometimes), it's continued over many years. So by episode 40, he's done about 1 normal work-weeks worth of work (and in truth, constantly starting and stopping affects the productivity, as does doing it live and…

So he powers off after every video? And doesn't think about it until the next video?

Re: Unreal vs. Unity Opinion

#228
post #216

Earlier quoted context omitted.

Sure, software of the past wasn't that much better, but relative to hardware it ran on it was much more performant. I think the main point of his view is that with current hardware advances we should be able to have a cake and eat it too. We can have both the features and the speed, but we don't care about that. The only thing that matters is to be first.

> The only thing that matters is to be first. To quote a famous asshole: "Real artists ship." Or another "Perfect is the enemy of Good Enough™" Network effects are real and being first to (idea) market has its own benefits. Who would have thought, speed of development has its own merits.

It is possible to have the cake and eat, meaning: have performance and be first, as has been shown recently by Casey Muratori himself in a very public debacle.

People who care about performance also care about speed of development. The only people saying it's impossible to reconcile both is the people who religiously dismiss the need for performance in modern software.

Re: Unreal vs. Unity Opinion

#229

Earlier quoted context omitted.

Why does every game engine seem to write their own language? Why not choose an existing one - in this case C# seems like an obvious choice because it's already used in another major game engine and seems to be well liked.

First of all, you need to understand that all current (serious) game engines primarily use C++, in order to provide maximum performance at the low-level. But C++ is incredibly unproductive as a language for actual high-level game development, since C++ takes ages to compile and has more weird and dangerous footguns than any other language. So developers often end up binding a scripting language onto their C++ core, s…

> The problem is that C# isn't a language intended for embedding

It has always been intended for embedding, since netfx 1.0: https://docs.microsoft.com/en-us/dotnet/framework/unmanaged-.... Microsoft used it for Office, MSSQL, and probably much more. Netcore has been trivially hostable since 3.0: https://docs.microsoft.com/en-us/dotnet/core/tutorials/netco.... Both can be done under 50 lines of code, that couldn't be further from "not intended for embedding."

You'd still need to export your internals to the CLR, but you'd have to do that with any embedded language anyway.

Re: Unreal vs. Unity Opinion

#230
post #178

Earlier quoted context omitted.

Roughly 600 episodes translates to roughly 600 work hours. That's 15 weeks. And now it's a full 3D game engine. Because he's not doing it contiguously and instead doing it once a week or so (there are breaks sometimes), it's continued over many years. So by episode 40, he's done about 1 normal work-weeks worth of work (and in truth, constantly starting and stopping affects the productivity, as does doing it live and…

I think the point here is that he has some really spicy takes that one can not call balanced or objective by any measure, while not doing anything that's impressive enough to actually deserve to be taken seriously when it comes to such sweeping claims.

He was a programmer at RAD game tools, which is industry standard for game tools. He also was the principal game engine engineer on The Witness, and has probably worked on other 3d games in the industry.
Post reply on HN