Friday, January 12, 2018

terminology - What is the difference between a library and an engine?


I am working on a library to help 2D game development with Scala. So far, it is a collection of helpful classes, file loading, collision detection, images, sprites, etc.


So when does it stop being a class library and start being an engine? Where exactly lies the difference between useful framework and a game engine?



Answer




I think the confusion people get into here is that one is generally made up of the other, so what people really want to know is when you have enough of one to be considered the other.



So when does it stop being a class library and start being an engine?



Never.



Where exactly lies the difference in a useful framework and a game engine?



There is none.


Now let me explain the answers. A game engine is made up of class libraries. They do not stop being class libraries simply because they are within a game engine. A library is a useful framework to tackle a specific need within a game engine. A framework that entails the needs for a complete game is a game engine.



Here are some examples of game engines:



  • Unreal Engine

  • Reality Engine

  • Source Engine

  • Quake Engine

  • Unity Engine


And some examples of libraries




  • Novodex (Physics)

  • FMOD (Audio)

  • Havok (Physics)

  • Ogre3D (Rendering)

  • BINK (Video Library)

  • Direct3D (Graphics)

  • OpenGL (Graphics)

  • DirectSound (Audio)

  • XInput (Input)



Hope this helps


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...