Submitted by Griffinkeeler t3_1256lmv in explainlikeimfive
Comments
Brian-_S t1_je2qmd5 wrote
A game engine is the base that the entire game is built/ran on.
It's like a computer program game devs use to make and run their game.
Example
A game engine is like a painters canvas.
You need the canvas to create and display your work.
If I'm wrong someone will correct me.
XsNR t1_je2uouo wrote
Imagine you're making furniture, you can build it entirely yourself from scratch, or you can buy something from IKEA and modify it how you want, paint it, add draws, do what ever you want, but you bought the base pre-made which saved you time, and tools required to make the IKEA part.
A game engine is similar, its the base of a game which you could create yourself manually, or you could use something else and modify it. With a lot of engines it can be as simple as "painting" it, or as complicated as using it for an entirely different genre of game.
Examples, are things like
- Source engine, which is primarily an FPS engine used for mostly FPS games
- Unity engine, used for all kinds of things, primarily made for cross-platform compatability
- Unreal engine, originally made for Unreal Tournament as an FPS engine, now expanded to be mostly a 3D environment engine, so can be used for all things from FPS/RPG games, to strategy games, and even Film creation
OneNoteToRead t1_je2w7pd wrote
A game engine contains all the common tools used to make video games. Among the bigger components are - graphics/rendering engine, which draws the game world onto the screen in real time; a physics engine, which simulates real world physics for objects in the game, including detecting collisions; and other software-related modules that are commonly needed by games, like a domain specific scripting, asset (textures, levels, etc) management, networking, etc.
These are typically things needed by most games. If a developer didn’t use a game engine they’d have to code it specifically for the game. For example if you wanted to write a game without using a pre-canned rendering engine you’d have to figure out the graphics math, communicate with GPU, and optimize for running in real-time.
If the innovative feature of a game is unrelated to any of the standard components, it usually is beneficial to just pick an engine off the shelf (and pay licensing fees). This is why a lot of modern games look and feel the same these days; they get to reuse the basics and really invest into the idea that makes that game unique. It’s only rarely that a game requires a totally different renderer or totally different physics engine.
[deleted] t1_je2ys60 wrote
[removed]
jezvin t1_je332dg wrote
With computers you need to tell them everything you want to do. If you wanted to draw a picture you would need to tell each pixel to turn on in a way to make the picture you wanted.
That would take a lot of effort so someone made a program that would draw a line when you told it to draw a line. This moved into another level. Drawing a 3D environment where you could draw a ball by just telling this program to draw a ball. It would handle everything to make it look like a 3D ball on your screen with just a sphere equation. This was the foundation of a 3D engine.
Now these were used to make games, but some people went father and started making game engines where you can tell it to animate characters or do other game related tasks without telling the computer to do every step along the way. Things like real world physics were added so you could just tell the engine to make said ball and turn on, the ball would just drop and hit the ground and roll all without any extra programing required.
So a game engine is comprised of multiple different types of engines and programs that allow a game designer to focus more time and effort on designing games rather than other tasks.
csl512 t1_je37vun wrote
A chess set is designed to play chess. The game and the stuff are tightly tied to each other. Uno is a card game that uses a specific deck. A standard deck of cards can be used to play a lot of different games. New games can be made by making rules around that common deck of cards, like numbers go on the same number, or black goes on red.
The very first games were like chess games. To input controls and output the game state they had to write it from scratch because it didn't exist yet, both for text-based games and graphical games. Eventually instead of rewriting the entire game from scratch every time, developers made flexible systems that could take the parts that make their game unique and reuse common elements, like taking and interpreting input, managing the state of the game, etc.
Game engines are also used in text adventure games. You tell it what rooms there are, how they're connected, what objects are there, and what you can do with them.
As you get more complex and graphical, you start adding animations, images, sound, physics, and so forth.
flyingcircusdog t1_je3cveg wrote
A game engine is a program that has blank worlds, pieces, and character models. It's the equivalent of an empty stage or empty film set. The game designers fill it with backgrounds, objects, and characters. The game engine also has some basic physics built in, so if two objects bump into each other they will behave in a certain way.
[deleted] t1_je3f3sa wrote
[removed]
[deleted] t1_je3qptv wrote
[deleted]
Griffinkeeler OP t1_je3qydz wrote
What’s the big deal behind unreal engine then?
OneNoteToRead t1_je3rpr4 wrote
It’s a popular game engine developed by Epic. Lots of AAA games use it as it’s quite sophisticated and powerful. It has a lot of features and incredible realism out of box; it’s capable of close to state of the art photo realism.
But if you play enough of these AAA games you’ll begin to notice the similarities in Unreal based games.
GalFisk t1_je3vd7z wrote
Both Unreal and Unity (another popular game engine) are free to hobbyists and tinkerers, meaning anyone can play around with them.
Ruadhan2300 t1_je4jlmu wrote
You can think of a Game Engine as a framework of common things that are needed to build most games.
Before Engines were commonplace, any company that wanted to build a game would have to do things like learning to talk to the computer's graphics systems and writing huge swathes of code to make that work. Basic stuff. And they'd have to do that for every game they built, which was massively tedious and complex.
So any established company would probably have a whole load of engine code they re-used for every project to save time and effort.
Then some bright spark got the idea to market that engine-code to other companies.
Wrap it up in a nice user-interface, provide all sorts of tools, and now you have companies using Unreal or Unity or whatever other system they like. The complex deep-code is done, and rarely needs to be touched.
Nowadays very few games companies bother to roll their own engine-code, it's way easier to buy a licence for Unreal and just build off that well-established and understood framework.
Sparky81 t1_je2pwj6 wrote
Think of a game engine like 'The construct' from The Maxtrix. It's the tools, physics, and rules a game is built around. Think Ocarina of Time and Majora's Mask. They used the same engine (and some assets like character models) so they kinda feel the same. Another example is Half-Life 2 and Portal. Same engine, similar feel.