: How are game engines made and why are they necessary for games and why are there so many of those?

613 views

: How are game engines made and why are they necessary for games and why are there so many of those?

In: Technology

12 Answers

Anonymous 0 Comments

Not an expert but I’ll take a shot. Physics in games are very hard to code so some companies specialize in just creating the physics “engine” while game developers can focus on other aspects of a game like game rules, maps and textures.

Anonymous 0 Comments

The game engines are sort of like the operating system for the game.

Think of all the Java programs and such out there. Java would be the engine all that software is written on and needs to execute the program.
Game engines are the software used by the game makers to make the game. The largest studios have the talent and funds to create their own engines to add exclusivity to their software, and the engine itself can be sold for other companies to use to make games.

An example would be Ubisoft and their Snowdrop engine which was used for The Division.

Anonymous 0 Comments

Let’s say you have a game that has objects. Well you generally don’t want your objects passing through each other so you want the game to detect when two objects have “collided” so you can have them do things like explode or bounce off of each other. So you write some code for this “collision detection.”

Well, just about every game in the world has objects for which we need to detect collisions. So rather than every game studio in the world independently coming up with their own collision detection code from scratch, I’m just going to sell them mine. Saves them time and makes me money.

But just doing collusion detection wouldn’t be efficient. So we add in just about all the stuff that’s common to all games, or all games of a certain genre. Like applying gravity to objects, code for rending objects into the images you see on the screen, determining line of sight, etc. etc.

Take all of those common and ubiquitous functions that are applicable to lots of different games and package it up and now you have a game engine.

Now, buying a prepackaged game engine isn’t *necessary* in the sense that you can still build a game without one, but in the end you’d just have to code all that stuff yourself anyway (basically building your own “game engine” piece by piece). Now if you want to build a game and not go insane doing it, and also maybe do it within your life time and to make a profit, then yes, using established game engines is pretty much a necessity.

There are many different game engines for two main reasons:

1. Some game engines are tailored for specific kind of genres. A game engine tailored for racing games will include different kinds of code than a game engine tailored for side scrollers or one tailored for first-person shooters.
2. People have different ideas of what kinds of functions or capabilities should be included in a game engine or how those functions or capabilities should be written in code.

Anonymous 0 Comments

I mean it’s essentially like action figures. The engine provides a blank prototype of characters, objects, the environment and the interaction between those things and ways to modify those. And the game designers than dress them up nicely write a story and populate the world to stimulate your fantasy and guide you on your quest. But under the hood a lot of games that involve you moving around with a character talking to other characters or shooting at stuff are really similar and it’s just the makeup and the interaction between the objects that makes them be different.

Why are there so many. Well from time to time advancements are made require an update. Sometimes you don’t want to reskin a carbon copy of something else and really like to reinvent the wheel because you want to build a game on a specific mechanic. Maybe you’re trying to make a 2-D game and don’t need all the 3-D stuff.

Anonymous 0 Comments

Game engines haven’t always been a thing. They were created to reduce the complexity of developing every game from scratch. Sometimes games will want to do some cool new feature, so a studio will make a new engine, or modify an existing one to meet that goal.

Anonymous 0 Comments

I want to add one extra point: Most game engines are basically reusable pieces of code that every game needs, but there is one extra thing game engines usually ensure: Platform interoperability

Kind of like how a web browser ensures you see the same webpage no matter what operating system you use, an important responsibility of a well designed bigger game engine is to ensure that the game looks, feels and acts the same on all platforms the game ships on (PC, Console, Mobile, etc.) without the game designers or the developers having to write a single line of code to achieve it.

Anonymous 0 Comments

When you sit down to actually code a video game, you’ll quickly realize that there is a *lot* of groundwork that needs to be placed before you even get to anything specific to *your* game. Especially if you want to design your game in such a way that it’s easy to continue to develop and iterate on. Even for games in entirely different genres, there is a lot of work that will essentially be needed by all of them. Stuff like:

* Physics/Collisions
* Low-level graphics programming
* Input handling
* Animation Systems
* ( For really nice engines) A graphical editor for designing levels and other game elements
* Entity management
* and more!

Since all that is a lot of work, and people don’t want to redo it for every game they make, a market formed for people making *just* the groundwork stuff and then selling it (or open-sourcing it if you’re cool like Godot) so other people can use it and jump straight into making their own game without having to worry about all that stuff. Those products are “Game Engines”. To be clear, one isn’t *necessary* to make a game, but it sure does take out a lot of busywork.

Of course, every different engine brings with it the opinions of its designers and enforces a particular way of working with it. When people disagree with those, they might decide put in the work of designing and developing their own, which is why we get so many different game engines. There are loads of engines out there that most people have probably never even heard of because they are made by a studio strictly for their own internal use.

Anonymous 0 Comments

Suppose you want to make a game.

You have a cool story, you’ve drawn some cool character designs, your notebook is full of great ideas!

Now, write the computer code to make all that magic happen on the screen.

But! You’re a designer, not a coder. You don’t know how to code. Or, more realistically, you’re not interested in learning to code or building the HUGE team necessary write all the code. So, you license the code from someone else, who has written the program.

That’s the game engine.

This story also works the other direction.

Suppose you’re a coder.

You have figured out a really clever algorithm – perhaps a very, very fast way to computer the inverse square root. (John Carmack actually did this.)

This super quick algorithm is now a core element in some software you’re written that draws 3D objects on the screen.

This software would make a really cool game!

But! You’re a coder, not a game designer. You don’t know how to design games. It doesn’t really interest you. So, you offer up your software for other people to use to design their own games.

Anonymous 0 Comments

A game engine is a lot of reusable code that different game studios can use to make their games.

Game development teams do not want to spend a lot of time reinventing the wheel with each game. Rewriting code on how to handle physics, how to handle a hitscan bullet, how to handle a projectile weapon, etc. This code is essentially going to be the same in every game that uses them, so why spend a lot of time writing it for each project?

This leaves the game developers the time to actually code the stuff that makes their game *different* from others.

Anonymous 0 Comments

Game engines are essentially the “laws of physics”.

Almost any game you care to design is going to have the laws of physics apply in some sense.

Now it’s really hard work to write the entire laws of gravity and motion and how waves work from scratch. You could spend months just to make it get brighter when the sun comes up.

Luckily someone else has already done that hard work, and will let you use it as a foundation to build your world upon.

All the background stuff thats common to many different games, but is really laborious to do, is already available conveniently packaged for you in a “physics engine”. So you can focus on the things that make your game unique. Art, story, characters etc.

Much like designing a car. You know it’s going to need an engine, but engines are really bloody complicated and hard work, someone has already done all that hard work to a better standard and cheaper than you could. Letting you focus on the things that make your car unique.

If you’re a huge company with the money to do so, you may find it’s worth the investment to make a new engine catered specifically to your requirements, that will let you do things an off-the-shelf engine might not.

Whether it’s cars or games, a good engine is a significant investment, so once you’ve done all that work, you’ll want to use it in more than one car/game, and probably even sell it to other companies.