Sign in to follow this  
Just Chris

What constitutes a game engine?

Recommended Posts

Just Chris    142
I have a basic idea of what a game engine is, but is there a definite boundary where supplemental headers or .cpp files, for instance, become more than just that and more of an important component of the game code? Does the size and scope depend on this, as well as the flexibility? Guess my question is, if you have written some code that helps put text on the screen easily, and you can port it to use in a different game, can it be considered a font engine for your games?

Share this post


Link to post
Share on other sites
Ravyne    14300
As Sneftel said, there isn't really a solid term. However, people generally use it in the following ways, corresponding to the level, or abstraction, at which said "engine" operates.

1) A "Game Engine" created to make a specific game or games very close in nature to that specific game. EG- The Doom 3 Engine, while it could probably be modded into all sorts of other games, is primarily intended and suited to FPSs and was of course created for Doom 3. These kinds of engines are almost always modified to support a specific game, however. For example, a game based on Doom 3's engine may need a different culling approach if it were to be used to render large outdoor scenes. This is a certain type of game stripped of all game-specific content and behavior.

2) A "Game Engine" created to make a game of any type. In general, these types of engines provide functionality common to many game types at a lower level of abstraction with little or no fucus on features related to a specific type of game at its core. Often times a "Game Engine" such as #1 will be built on top of an "engine" such as this. EG- Torque, a general purpose game engine: It doesn't know what kind of game it will be, but it will be a game.

3) "Game Engine" is sometimes used to refur to a set of common software which can be used to facilitate the building of games. SDL is a good example of this (Although I disagree with the terminology myself, I just call it a library.) SDL has a lot of stuff useful for games and is also usefull for other types of software, say a paint program. Again, this also is often used as a building block for #2, which in turn can be a building block for #1.


Use it however you like, but these have been the most common usages in my experience. I would recomend not calling everything an engine though, because as you have seen it is a very vague term and its miss-use/abuse is sometimes associated with one being a newbie. For instance, If a class magages something its generally a manager, not an engine.

Personally, when speaking about components of a game, I use engine or System to refur to logical groups of components. Take, for example, a "Particle Engine" or "Particle System" which might consist of various Particles and Emitters, a manager class, and some factory classes.

[Edited by - Ravyne on November 10, 2005 1:26:52 PM]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this