Some days ago I exchanged a few emails with one of the GP readers. He mentioned that he has been creating a game engine and is going to develop some games. I pointed out that it might be beneficial for him to concentrate on creating the game, rather than the engine. He said that creating the engine was part of the fun, so that was a good argument where I would have no further comments – for his case.
Even though I didn’t comment case more than that, I really think that most programmers are making a mistake in this. Many programmers call themselves “game developers” when in reality most of their efforts concentrate on creating the game engine. There’s a major difference between game developers and engine developers: game developers make games. I’m not saying that creating a game engine is bad move. I’m simply saying that game developers make games and game engine developers build engines. It’s up to you which one you want to be.
It might sound like semantics, but if you think about this bit further you might notice that there’s a big difference. About 7 years ago I didn’t knew how to create 3D games and the first advice I received that “I needed to create a game engine”.
Nobody told me that there are free and inexpensive game development tools available for 3D development as well.
Today whenever I can, I concentrate on making the game rather than the engine. Naturally you might need to program game engine for some parts, but my guideline is buying external parts whenever it seems right. I’m way past the thinking that I would need to do everything by myself – I can buy libraries and parts when needed.
For a beginner developer understanding this difference can greatly speed up your game development. You can google or look for game development articles for more help.
The bottom line is: If you want to be a game developer then I really recommend focusing on creating the game, not the engine.