eli5: the differences in game engines like Unreal Engine, etc?

254 views

There’s unreal engine, fox engine, enfusion engine, Frost Bite just to name a few off the top of my head. What makes them different? Why can’t there be a single unifying engine?

I understand the part about licensing and costs, but beyond that is there really any difference and if so, what is it?

In: 12

6 Answers

Anonymous 0 Comments

When writing a computer program you have to do a lot of repetitive tasks – like turning on a specific pixel, or reading when the mouse moves or a key is pressed. Instead of writing this out every time, programmers create a shortcut, so they can just tell the program to run the “check for input” routine. Put a lot of those routines together, and you get a library of routines.

These “Engines” are simply programmer’s shortcut libraries. Instead of having to write out all the code to put a character in a spot on the screen and fill in the background, they can use unreal’s engine to put a character somewhere without having to deal with overlaps, collisions, etc – because all of those things are already in the routine.

Anonymous 0 Comments

The absolute simplest version of this is to think of a game engine like a car (or vehicle).

If you make a race car, it might be great at going fast, but it might not be good at going offroad. An offroad vehicle might not be good at hauling a trailer full of goods across a continent (or might not be efficient at doing so) whereas a truck might be – but it it’s not going to win a race (and so on).

Game engines all have strengths and weaknesses, often borne from specialising at one particular thing or another. Some game engines simply weren’t designed to do certain tasks (like big worlds) but excel at others (graphical fidelity).

A lot of what makes game engines different comes from the needs of the designers and the intended use case – and just like designing a car that could go anywhere, it’s difficult/costly to make a game engine that can do everything, because certain design choices can prevent/hinder other uses.

Making a “do everything” engine is time consuming and costly – and the target “do everything” is a constantly updating goal, as technology/fidelity changes and improves.

Unreal is a good example of a “does mostly everything pretty well” engine – but if you look under the hood of a lot of high profile games that use it, it’s still been modified to some degree for that specific title/production environment.

Anonymous 0 Comments

Just like there is different OS different email software, they are developped by different programmer with different feature and different plus/weakness

Anonymous 0 Comments

I’ve been using Unreal for a couple of years now. The difference boils down to what each engine allows you to do, and how easily it allows you to do it.

Unreal can do a lot of things, and because the programming language that goes alongside it is C++, a developer starts out in a good position to keep things running efficiently.

Some people, however, are intimidated by C++ but not C#, or they find libraries and features of Unity to be a better fit.

It’s like anything else with a lot of moving pieces. There’s not necessarily going to be a “best” way to do everything, so some things end up being better for certain tasks than others.

Anonymous 0 Comments

Same reason why there isn’t one unified photo editing software, or one programming language or one car, or one electric guitar or….

Different ones were developed to be good at different things, and take different approaches to solving similar problems. Which one you use depends on the type of game, the target hardware specs/platform, what the game needs to look like, what kind of UI it needs, what technologies the developers are experienced with, what 3rd party libraries and plugins and content are available for it… etc.

A broad generalization is that Unreal is more focused on high end hardware and looking pretty, and is particularly good for anything first person or photorealistic. It’s very often used for FPS games, Archviz, Film, VR, Car Configurators, showcasing industrial design products etc. (But could be used for anything). It has a super awesome art pipeline, but can be a bit less approachable for hobbyists on the programming side.

Unity is more focused on working on every possible platform, it’s more approachable for programmers, and has a lot more documentation/tutorials/assets/community around it, so is popular for hobby developers and indies. You could use it for anything, just like unreal, but it is generally harder to get it looking quite as pretty, but easier to get it working on all kinds of weird platforms.

Then a lot of AAA companies have their own inhouse engines.. If you’ve got the money it can be worth avoiding engine licensing costs, and also being able to customize the engine for your exact use cases. I’m sure Ubisoft has a bunch of super Assassins’ Creed specific engine tools for example..

Anonymous 0 Comments

A lot of innovation in 3d engines generally comes from throwing everything out and starting again with a different approach. You can only keep iterating on any one game engine design before it becomes an evolutionary dead end. If every company used the same game engine, then the end result would be that every game is exactly the same, because there would be no impetus to try and push for any outstanding innovation. In fact, the desire to make something that no one has seen before is usually what is responsible for creating new game engines.

Of course, once any new innovation happens, it is generally imitated or replicated by competing engines not long after, but it has to take someone to demonstrate it is possible to begin with.