Game Development Community

Programming a Game Engine

by Bryan Walters · in General Discussion · 11/05/2001 (6:47 pm) · 3 replies

Hey Guys,
After looking at the Torque engine and many others I have thought about making my own game engine. There are a few problems though. First off I have never built one before and have no clue how to? So basically if anyone out there made a game engine or knows how and maybe can write a few tutorials or guide me through the process I would greatly appericate it and I'm sure many others will too. If you can help please write in this forum or contact me through my email address in my GG profile.


Thanks,
Bryan

#1
11/06/2001 (12:47 am)
Hi Bryan,

having written a complete a few games myself, including the game Avoyd, I thought sharing a little of my thoughts might help.

First of, a full game is more than just a graphics engine. There are quite a few people exhibiting graphics engines, but it still takes a lot of effort to make games out of these. I would be tempted to argue that the best way to start is to get into the internals of Torque, write something useful with that and learn from the experience. Since you are interested in the game engine side, then making a Torque engine modification which allows another genre to be made, such as space combat, would be useful. However, if you want to go it alone, here's what I'd do.

Start small, and build complete projects. Focus on your talents and knowledge first to get going. If you start a big project and never finish you will reinforce your tendency to quit projects before they're over, so take it a step at a time and ensure that you get completion.

First off, build a simple 2D ASCII character game. If your using an object oriented language, try to use design patterns to get to grips with them. Make sure it's a full game, and that it has an element of fun.

Next, make the step to simple 2D graphics using a 3D api, such as OpenGL, using either the same game or a new game if you are interested in game design as well as engine design.

Here you can decide to focus on graphics, by making the move into isometric 3D before the plunge into full 3D, on AI by making tougher enemies, on networking by adding multiplayer, or on game design by making more games. There are lots of routes to take.

Even if you've programmed 3D graphics before I'd advise you try the ASCII approach first. A simple game is the easiest to learn how to make the engine, and many of the fundamental patterns are the same.

I've not mentioned any of the internals in the above, as there are many resources out there which could help. It's also a useful exercise to think about how to make something. In many cases people are stuck because they cannot envisage where they would start to make Tribes 2, when they should be thinking of something simpler than pac-man to start with.

Good luck. [edited for spelling miss steaks]
#2
11/06/2001 (2:07 am)
I agree completely with Doug. Most of us started off with tile based scrollers. My first attempt was a laughable galaxian clone on an atari.

Got into PC programming doing first a platform scrolling game, then an 8 way scrolling space game. From there Ive gotten into the industry and done 2D and 3D games for a good few years now.

Start small, learn to finish, once you finish, learn what you did right and what you did wrong.

Phil.
#3
11/06/2001 (3:22 am)
Weirdly enough my first game was a scrolling racer on the ZX81. I'd made a few almost games before that, and after learning Z80 machine code I wrote a scroll algorithm which I used to make the racer. I don't recommend you repeat the machine code experience (especially as it was hand coded hex, not assembly langauge), but scrollers are fun.

Finishing is good. Or is it 'Finishing is God'?