Saturday, January 14, 2012

What is the difference between game engine and library?

What is the difference between a game engine and library. I am looking for a free 2d game engine and I keep running into libraries. Are they the same thing?What is the difference between game engine and library?
They're not really the same thing, but they are also not rigidly defined. But I can still give you a general idea of the difference. The main difference is in how much work is left to be done for the programmer. First let's talk about what an engine is.



It is mostly a programmer's job to develop the game engine. Depending upon the engine, it may very well be that once the engine is done, that's it for the programmers' duties. Everything else is game-specific content. The characters, the levels, the story, the artwork, etc... However many, possibly most, games still have work for programmers even after the engine is done in the form of event scripting that may be done in the same language as the engine itself(usually C++ or C, but other languages like C# are moving in to this territory), but is usually done in a simpler scripting language instead, like python or lua, or one specifically created for the game. None the less, this scripting is not part of the engine itself, it is part of the game content.



Hopefully that gives you a good idea of what a game engine is. Now for a library:



A library is just a set of functionality(classes and functions mostly) that may be useful to a programmer who is creating a game(or a game engine). There is still a lot of work left for the programmer though. A library generally does not impose much structure on the game, like an engine does, and the programmer is usually free to mix and match components from the library, as well as components from other libraries. The main things that game libraries provide are graphics, sound and input, but it may go into other areas as well, like physics.

No comments:

Post a Comment