Game Engines

Started by
4 comments, last by jbadams 18 years, 8 months ago
Ok what are game engines used for and how are they made? I am still just making console games, but I am just wondering. Please help ;) Final
Advertisement
For a quick definition of "engine", an engine is something that produces some effect from a given input. Now, for games, our engine is the underlying code that does a lot of the work for us. Things a game engine will often handle include:
- Rendering
- Physics (collision detection!)
- Networking
- Sound/Audio
- File I/O

So a game engine provides the functionality to do some or all of those things, or sometimes more, and we then add game logic - code that sets out the rules of the game - to that in order to make our actual game. This article discusses engines somewhat, and the Enginuity Series, the first part of which can be found here discusses design and coding of an engine somewhat.

Engines can be made by programming all the functionality yourself, which is a long and fairly difficult process, or by adapting existing libraries and single-purpose engines and combining them, which is also quite a task, but can sometimes save you some work. The other option is to purchase an existing engine, or use one that's freely available, such as Irrlicht for example. Torque is an example of a relatively cheap engine that's quite popular.

Hope that answers your question somewhat. [smile]

EDIT: Added a small list of a few rendering and/or game engines:
- Crystal Space
- Torque
- C4 Engine
- OGRE
- Irrlicht

[Edited by - Kazgoroth on August 11, 2005 7:45:24 AM]

- Jason Astle-Adams

So what is DirectX classed as?
DirectX is an API. It allows you to easily interface with various hardware components in your code for audio, input, and graphics.

I know only that which I know, but I do not know what I know.
Basically the render-module of your engine would call DirectX,OpenGL or both functions/classes.
For the beginning try only a DirectX engine (or whatever API you prefer)
Just for a bit of additional clarification, and API, or Application Programming Interface is a library of code that provides a level of abstraction for the programmer, usuaully between hardware or the operating system, and the higher level programming.

What this means for you is that you're spared the effort of writing different code to interact with each individual piece of hardware. Take a graphics API (such as DirectGraphics (a DirectX component) or OpenGL) for example -- you write code that makes use of the API, and for the most part don't have to worry overly much about what graphics card your end user has, because the API knows how to interact with most of the different cards out there, and presents you with a single set of functions that it will use to interact with whatever the user happens to have.

- Jason Astle-Adams

This topic is closed to new replies.

Advertisement