Game Engine Design  An Introduction

I often see request on message boards, from newer programmers, asking how to design a game engine. The usual response is ā€œgame engines are very complex systems and you should be making games rather than enginesā€. That response is correct. If your goal is to create a game, create a game. Creating a game engine will not save you time creating a game. In fact, it will probably cost you time.

If you shouldnt make game engines, why am I writing these tutorials?

First, the topics I cover will be useful for many games and projects, not just game engines. I will try keep the tutorials as independent as possible. If you just want information on collision detection, you wont have to read three different tutorials on keyboard input, artificial intelligence, and textile manufacturing.

Second, I will provide many practical code examples. Code reuse will come up often in these tutorials. That is, after all, the whole point of a game engine. It is my goal that most of the code provided can be copied into another project and used ā€œas isā€. At the very least (assuming you actually read the tutorials), you should be able to quickly implement a similar system.

Finally, regardless of what anyone says, you are probably going to try and make a game engine anyways. I know I did.

Many people fall into the trap of trying to make their game engine do everything. If you are working alone or in a small team, there just is not enough time to do that, but a game engine does not need to implement every feature to be useful.

The final goal of these tutorials is to create a game engine, but that is not what we will start with. Instead we will be creating a simple game. Each of the components of this game will be designed with flexibility and code reuse in mind. By building the engine for a particular game, we can keep it much more focused and manageable.

In the next tutorial, I will describe the game that the engine will be designed for. I will also outline each of the major components and their function.

-Eric

Leave a comment ?

0 Comments.

Leave a Comment

* Copy this password:

* Type or paste password here:

976 Spam Comments Blocked so far by Spam Free Wordpress


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Performance Optimization WordPress Plugins by W3 EDGE