10 Replies - 1071 Views - Last Post: 30 May 2012 - 06:42 PM Rate Topic: -----

#1 Benzoate  Icon User is offline

  • D.I.C Head


Reputation: 51
  • View blog
  • Posts: 233
  • Joined: 29-February 12

What is a game Engine?

Posted 29 May 2012 - 10:18 PM

I suppose this is the proper forum to post this in. I was wondering what exactly a game engine is and how is it used in game development? I tried looking it up, but I didn't really understand what was being said so I was hoping if someone here could possibly help me understand better. Thank you :)
Is This A Good Question/Topic? 0
  • +

Replies To: What is a game Engine?

#2 modi123_1  Icon User is offline

  • Suitor #2
  • member icon



Reputation: 8964
  • View blog
  • Posts: 33,624
  • Joined: 12-June 08

Re: What is a game Engine?

Posted 29 May 2012 - 10:52 PM

It takes input, processes the data (which includes input translation, sprite movement, counters, etc), and then renders all the updates to the screen.

Posted Image
Was This Post Helpful? 1
  • +
  • -

#3 Benzoate  Icon User is offline

  • D.I.C Head


Reputation: 51
  • View blog
  • Posts: 233
  • Joined: 29-February 12

Re: What is a game Engine?

Posted 29 May 2012 - 10:56 PM

So basically, a game engine reads the user input, processes what to do with the input, updates the game, then displays the new game screen?
Was This Post Helpful? 0
  • +
  • -

#4 modi123_1  Icon User is offline

  • Suitor #2
  • member icon



Reputation: 8964
  • View blog
  • Posts: 33,624
  • Joined: 12-June 08

Re: What is a game Engine?

Posted 29 May 2012 - 11:14 PM

Yes.. it is the heart of any 'game'.
Was This Post Helpful? 0
  • +
  • -

#5 anonymous26  Icon User is offline

  • D.I.C Lover

Reputation: 0
  • View blog
  • Posts: 3,638
  • Joined: 26-November 10

Re: What is a game Engine?

Posted 30 May 2012 - 03:23 PM

This question comes up so many times. In essence the game engine IS the game; there is no separate game entity independent of what constitutes the 'game engine'.

The game engine is also a superset of all its component 'engines', like the graphics engine, physics engine, audio engine, etc. In fact anything that drives the core logic and general aesthetic experience of the game. There is a part of the game that isn't really and engine, and that is the frontend (splash screens and menus) because they do not influence the core logic of gameplay.

Hope that clears it up!
Was This Post Helpful? 0
  • +
  • -

#6 BBeck  Icon User is offline

  • Here to help.
  • member icon


Reputation: 567
  • View blog
  • Posts: 1,264
  • Joined: 24-April 12

Re: What is a game Engine?

Posted 30 May 2012 - 05:06 PM

View PostBenzoate, on 29 May 2012 - 10:18 PM, said:

I suppose this is the proper forum to post this in. I was wondering what exactly a game engine is and how is it used in game development? I tried looking it up, but I didn't really understand what was being said so I was hoping if someone here could possibly help me understand better. Thank you :)


A game engine is the "common" code of the game. It's the "guts" of the game that are not specific to the game. It's what makes the game function but not the actual game.

So think of it this way. Modern video games are very complicated. They have sound. They draw things on the screen. They take input from various controllers such as the mouse, keyboard, or game controller. They do physics equations to make things move realistically. They annimate objects to make them move. There's just a whole lot of tasks involved in making a modern game do what it does.

Technically, the game just described has no "engine". Where the engine idea really comes in is when the programmer says "Hey! You know what? I've written 23 games, and all of them have sound, physics, models, annimation, controllers, and other code that's basically exactly the same for every game I write. What if I were to take that code out and seperate it, then reuse that code for every new game rather than rewritting the exact same code over and over for every game that I put together". So, the programmer seperates out the common code that makes the game work so that he can just reuse it for every game he creates and VOILA! you have an "engine". Next he gets really smart and realizes that EVERY game programmer writes this same code for every game they make, and so he sells it to people and VOILA! you have "Torque", "Unity", "Havok", or whatever they want to name the engine.

So, an engine is basically the core code that gets used over and over for every game you make. Actually, it's a little bigger than that because an engine has so much code in it that it gets locked down to almost a certain type of game. Usually, to really make use of an engine you will go in and rewrite sections of the engine to make it do what your game needs it to do. But the general idea of an engine is to buy 90% of the basic game code so that you don't have to write it yourself. All games have controllers, sprites, models, sounds, lighting, shading, etc. The idea of an engine is to let someone else write that code for you, buy it off the shelf, and modify it to handle the specific needs of your game.

That allows you to focus on writing the game as opposed to writing code that defines gravity, or writing code that allows you to import models into the game, or writing code that deals with game controllers. Instead, you can go directly into writing the code that defines your game.

The "downside" on using an engine is that you almost need to know how to write your own engine in order to modify the engine, and you will almost certainly have to modify it in order to make a game that's not a cookie cutter image of everything else out there.

I played with Torque for awhile. I hear good things about Unity but have never tried it.

Technically, if you write a game, the core code of your game could be considered the engine of your game, but the true idea of an engine is "seperating out that core code to make it reusable over many games".

This post has been edited by BBeck: 30 May 2012 - 05:22 PM

Was This Post Helpful? 1
  • +
  • -

#7 BBeck  Icon User is offline

  • Here to help.
  • member icon


Reputation: 567
  • View blog
  • Posts: 1,264
  • Joined: 24-April 12

Re: What is a game Engine?

Posted 30 May 2012 - 05:17 PM

Oh. I should also add that engines, like Torque or Unity, are often sold with level editing tools as well. Those aren't really part of the "engine", but that type of tool needs to be created for almost all serious 3D games or large scale games. So, it makes sense to sell those tools along with the engine, especially since the tools and the engine almost have to be designed specifically to work together. Those engines are all about saving developers time by writing the basic stuff for you so you can get directly into creating the "game" part of the code.

But again, you almost have to know how to write the engine and the tools to really make full use of them.

So, I would recommend learning to make game in C# with XNA before getting serious about buying an engine. Unity has a free version and that might be worth downloading and playing around with. You will learn a whole lot by working with an engine and making it do it's thing. It gives you an oppurtunity to see how games are built even if you aren't ready to actually build your own commercial game with the engine.

I never built an actual game with Torque, but I learned an enormous amount of game development stuff just by seeing what they did and how they did it. You learn a lot by just playing around with game engines and it's kind of fun too, because playing around with one is a whole lot easier than writing an actual game.
Was This Post Helpful? 1
  • +
  • -

#8 Benzoate  Icon User is offline

  • D.I.C Head


Reputation: 51
  • View blog
  • Posts: 233
  • Joined: 29-February 12

Re: What is a game Engine?

Posted 30 May 2012 - 05:46 PM

@BBeck
Thanks a lot! That has really cleared a lot up and was really helpful. ^~^
Just for an example to make sure I understand what exactly you are saying:
Let's take the Pokemon games for example.. Basically their engine is how the character can move, the battle system, how sounds are played, and random battle events, then the actual "game" is where they place the images, what sounds they play, and the npc's talking?
Was This Post Helpful? 0
  • +
  • -

#9 BBeck  Icon User is offline

  • Here to help.
  • member icon


Reputation: 567
  • View blog
  • Posts: 1,264
  • Joined: 24-April 12

Re: What is a game Engine?

Posted 30 May 2012 - 06:09 PM

View PostBenzoate, on 30 May 2012 - 05:46 PM, said:

@BBeck
Thanks a lot! That has really cleared a lot up and was really helpful. ^~^
Just for an example to make sure I understand what exactly you are saying:
Let's take the Pokemon games for example.. Basically their engine is how the character can move, the battle system, how sounds are played, and random battle events, then the actual "game" is where they place the images, what sounds they play, and the npc's talking?


I think you're getting the concept. I'm not familiar with the Pokemon games, but I think you're on the right track. I would assume that the battle system and random battle events would not be part of the engine. Remember, engines are about reusability. You want to exclude things that are specific to one game or even to two or three games. The engine is all about being reused in 100's or even 1000's of games.

But perhaps the battle system could be part of a game engine for a very specific type of game. For example, First Person Shooters are different from Role Playing Games in 3D. The engine would probably allow you to create either of those. Certainly Torque, is designed to support either of those. But it could be an engine that is specifically a FPS engine and doesn't support RPGs without extensive modifications. Most commercial game engines are generic enough that they can support a FPS or an RPG. Of course there are 2D game engines out there as well, but I mostly work in 3D and have a lot less experience with 2D engines.
Was This Post Helpful? 0
  • +
  • -

#10 Benzoate  Icon User is offline

  • D.I.C Head


Reputation: 51
  • View blog
  • Posts: 233
  • Joined: 29-February 12

Re: What is a game Engine?

Posted 30 May 2012 - 06:22 PM

By battle system and random battle events I mint that it would generally only be used by that franchise, but could easily be reused in that franchise of games over and over again. The random battles could be a series of calculations that determine rather or not there is a battle and could use those same formulas in all the games and as almost all loyal Pokemon players have noticed, the battle system has generally stayed the same, having the choice to fight, then given 4 moves to chose from, run, to escape from the battle, to use an item from your inventory, and change Pokemon. So would that be counted as part of the game engine or no?

I've worked with Torque a little bit in the past, but at that point I didn't really understand what exactly I was working with and how it was really supposed to be used, but now I understand a lot more of how it could be used "universally." But basically what you are trying to say is that a game engine can be used to create more than one kind of game, like a FPS or RPG, or it can be focused only on making one kind of game such as a RPG?
Was This Post Helpful? 0
  • +
  • -

#11 BBeck  Icon User is offline

  • Here to help.
  • member icon


Reputation: 567
  • View blog
  • Posts: 1,264
  • Joined: 24-April 12

Re: What is a game Engine?

Posted 30 May 2012 - 06:42 PM

View PostBenzoate, on 30 May 2012 - 06:22 PM, said:

By battle system and random battle events I mint that it would generally only be used by that franchise, but could easily be reused in that franchise of games over and over again. The random battles could be a series of calculations that determine rather or not there is a battle and could use those same formulas in all the games and as almost all loyal Pokemon players have noticed, the battle system has generally stayed the same, having the choice to fight, then given 4 moves to chose from, run, to escape from the battle, to use an item from your inventory, and change Pokemon. So would that be counted as part of the game engine or no?

I've worked with Torque a little bit in the past, but at that point I didn't really understand what exactly I was working with and how it was really supposed to be used, but now I understand a lot more of how it could be used "universally." But basically what you are trying to say is that a game engine can be used to create more than one kind of game, like a FPS or RPG, or it can be focused only on making one kind of game such as a RPG?


Again, I think you've got the idea. "Game Engine" is one of those words that can kind of mean slightly different things to different people and definately can have slightly different meanings in different situations. It's kind of like "What's a business?"; other than making money a "business" can be a lot of different things to a lot of different people. Game engine just goes back to "reusability". What one person or company deems "reusable" may be a little different than what someone else does. I don't see any reason why you couldn't come out with a Pokemon engine, or a FPS engine, or an RPG engine. But a lot of commercial engines really try and stay away from anything that's specific to one type of game. Generally, they seem to fall into the catagory of 2D engine and 3D engine.

Using Torque 3D as an example, Torque didn't have any ability to fight in the engine that I found. They had a demo where you could shoot orcs, but that was a demo that "I believe" was extended beyond just the basic engine. It supported putting players, orcs, terrains, and huts into the 3D world of the engine. But whether the game you created with it was about shooting terrorists with an assault rifle, or whether it was shooting orcs with a cross bow, or whether it was about racing formula race cars around a track, or whether it was 3D Pac Man, was all up to the person using the engine. You could have used it to make a 3D Monopoly game. About the only thing the games you would create with it had in common was that they were all 3D. Still, all 3D games have models, they all have sounds, they all have lighting, they all have some sort of collision detection or physics. And that ultimately was what Torque did; it provided the code for those things that all of that had in common. But even though you could modify it to create 3D Pac Man, it was really designed for 3D terrains and physics like you might have in a First Person Shooter, or even in a 3D RPG.

But I would say that "game engine" is a term that may have slightly different meanings to different people. In the end, it's only about core code that can be used over in over to create many different games. The more the engine includes and the more code it has, the more specific it is going to be to just one type of game, but also the more it helps people writing that type of game get ahead.

So, yes, it could be very generic and support almost all types of games or it could be very specific and only support FPS for example. I mean think of how many FPS there are out there and how they are different. An FPS engine makes quite a bit of sense considering the hundreds or thousands of different FPS there are out there. But most game engines go even more generic than that and don't even include enough "game specific" logic to be classified as an FPS or an RPG.

This post has been edited by BBeck: 30 May 2012 - 06:46 PM

Was This Post Helpful? 0
  • +
  • -

Page 1 of 1