I see people asking questions about this. What is it? Is it neccessary for game dev? Is it game specific? Thanks.
--Garfield
I see people asking questions about this. What is it? Is it neccessary for game dev? Is it game specific? Thanks.
--Garfield
1978 Silver Anniversary Corvette
a 3d engine is a game engine specific for 3d games...what is a game engine?
a game engine is a library of functions and classes used in the production of a game. It is the backbones behind the game. It is what makes the game run.
For example, a unit class could be PART of a game engine:
class UNIT
{
public:
UNIT();
~UNIT();
void Attack();
void Flee();
void GatherResource();
private:
UNITTYPE myUnitType;
int myNumHitPoints;
};
just a small example.
Thanks, I understand!!!
1978 Silver Anniversary Corvette
So, do you build a separate game engine for each game that you are programming? They, I assume, aren't reusable, right?
1978 Silver Anniversary Corvette
actually you want to make the engine somewhat generic so you can make more than one game with it. making a complete engine takes quite a long time, so you really don't want to do it often. or you can add features to an existing engine or make modifications. if you're going to make a few games of the same kind, then it might be benificial to stick with one engine.
http://www.gamedev.net/dict/search.asp?Term=3D+engine
The GDNet dictionary gave this : A set of code that creates graphics that looks 3D. An engine would have all the necessary components from loading the models and data to drawing them on the screen.
A 3D graphics engine is different from a 3D game engine. The 3D game engine includes the graphics engine, but it has the code for the game logic (how the game creatures act, how interactive the environment is, ...etc)
3D engines (and game engines) are reusable, once you make your engine you - usually - don't start once again from scratch. You take some parts or components of the engine without any changes, you modify some stuff, completely rewrite some other stuff, ...etc
The Quake2 engine was based on the Quake1 engine, the Quake3Arena engine is another update. The DOOM3 engine however, is being written from scratch to adapt with the new technologies available with nVidea's and ATI's cards (Geforece3 & Radeon) and their new capabilities.
UnrealTournament's engine is an update for the Unreal engine, they modified some of the rendering code, added AI code (for the bots).
Age of empires II engine is also built upon the Age of empires I engine, and so on.
For example, when you write an excellent pathfinding algorithm for a game, you can just port it to the next game (in case you haven't found any better algorithm, or it just suits the game) without any changes.
Engine reuse is more clear in games like half-life (modified quake1 or 2 engine, I don't recall), aliens vs predator (I think it's based on the Quake2 engine), Elite force (Quake3Arena engine, as is), Quake IV (DOOM3 engine).
Muhammad Haggag
There is a pretty good article on what a game engine here