Gamasutra: The Art & Business of Making Gamesspacer
3D Engines for Games: A Broader Perspective
arrowPress Releases
October 18, 2017
Games Press
View All     RSS

If you enjoy reading this site, you might also want to check out these UBM Tech sites:


3D Engines for Games: A Broader Perspective

October 13, 2000 Article Start Page 1 of 5 Next

You've developed an object viewer, a Quake level viewer, a radiosity renderer and a patch tessellator. You know 3D math, OpenGL and the 3DS file format by heart. Now you want to go further -- you want to use this knowledge to develop an entire engine.

Does this seem like a large task for you? Well let me tell you, it is. Anyone who has developed a complete game will agree with me. Many people give up or start over along the way. But there are a number of things you can do that will increase your chances of reaching your goal.

I will not try to tell you how to make a good, playable game. Nor will I tell you how to program any specific parts of an engine. In fact there won't even be a single line of code in this article. Rather, I want to encourage you to think beyond shadow volumes and dotproduct3. Think about what it will all be used for, and work with this goal in mind.

Even though this article talks about the development of a 3D engine, the same techniques should be applicable to, for example, 2D or playing-card game engines. The main goal is to enable you to quickly and (relatively) painlessly develop an engine and a game that uses it.

What to Consider

There are three steps that I undertake before beginning work on an engine:


  1. Set the goals for the engine. What will it actually be used for? Who is going to do all the hard work? And does it seem feasible at all?
  2. Define the feature list. When you know the goals for the engine, and the possibilities of the team, you can define what the engine must be able to do.
  3. Define the overall structure and the subsystems required. Knowing what an engine is required to do, you define how it should do it. This is how you determine which subsystems to create, how they should interact, and the order in which to program them.

These three steps might require a few days at the beginning of the project (when you're eager to get busy with your compiler), but I guarantee you that the time will be well spent. It is entirely possible to develop a game without any planning at all, but the further you get in development, the more you will wish you had devoted some time to planning in the beginning.

Article Start Page 1 of 5 Next

Related Jobs

Firebrand Games
Firebrand Games — Merritt Island, Florida, United States

Firstborn — New York, New York, United States

Game Developer
Square Enix Co., Ltd.
Square Enix Co., Ltd. — Tokyo, Japan

Experienced Game Developer
2K — Novato, California, United States


Loading Comments

loader image