define game engine, recommend any books


What is the definition of a FPS ‘game engine’? Is it the collection of rules that handles what should be drawn to screen, user movement, etc?

Are there any decent books on game development using opengl that experienced programmers have found valued?


Definition? I’d say you’ll be hard-pressed to find a proper definition.

But I’d say it’s roughly all of the FPS without the content (levels, objects, textures, movies, sounds, scripts, shaders).

FPS = “first person shooter”.

Basically a game where you run around at eye level in the first person (you can’t see yourself except for your gun & hands), and you shoot stuff.

There are no particularly special graphics rules for this type of game although some things like spatial partitioning of enclosed spaces can help a lot. An engine is typically a data driven program where you can load levels that describe a world or combat arena. The engine handles input, computes the motion of the characters, the collision and interraction with the world, the weapons firing and networking code and of course the rendering. Depending on the engine each element may be reconfigurable and data driven in itself.

A programmer and maybe even 3D artists and script writers can take an engine and change the data add a few code tweaks and come up with a new game. This is commonly called modding, the more flexible an engine the easier it is to mod.

I always looked at a game “engine” as being a created “api” of sorts that is used to run the game. Someone can use the “engine” to create a game. The more robust the game “engine” the more that it will handle. Some can handle just the rendering portion and so a programmer is required to handle any UI, AI, or network code themselves. Some handle all of this plus more. But I could be wrong on my interpretation. I think nowadays the term game “engine” is used much more loosely.