Are You a Game Developer or Game Engine Developer

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.

Juuso Hietalahti


  1. I think a game is nothing but a specifically stripped game engine. I was building games but soon realized that each game would require huge coding with some basic common routine about sprites, fonts sound etc.

    So i developed whole game engine with focusing my games and running them simultaneously. So i built game and released it to a competition. Now taking engine for new games is quick.

    Making Engine and making games are common upto the basic routines. Then we should focus on game not just engine because up-gradation never ends.

    Example every game needs particle effects, font system, collision, sound, sprite loading etc. So these basic coding go for engine.

  2. This distinction is important. Especially for hobby and independence game developers. Because engine people seldom finish games. A game person would do anything to get the game out of their head into a computer. If there are engines available, they use them, efficiently, with minimum fuss.
    In a professional team you need to know, who is who. Never let the game logic be programmed by an engine enthusiast and try to not put the game focused person to program the perfect sky.
    Graphic, sound and library programmers need to be engine focused. Game logic, AI, UI and Tools programmers should really like to participate in game design. Because you have to. In these you can open up new creative possibilities for the game designers. If you are ready to think about the game, not the technicalities.
    Engine people are often deep, they are perfectionists in detail and can endlessly obsess about them. Game people often are more broad, they have to take the whole game into consideration.
    Mostly people have a natural tendency to one and not the other. In one of the companies I worked, they wanted to put me in R&D, an engine job, because I am a scientist and somebody has to write the math library. But I didn’t want to, I am a game person.
    In modern game developement with a lot of engines available (Unreal, Farcry …) the need to develop an engine dimishes. More and more middleware gets bought and used, it saves time and money and lowers the risk. And you do not need the hard to find specialists.
    So having finished a game and knowing how to use third party tools looks equally good on a resume, like having programmed an engine. Sometimes even better.
    For tools you can use as a hobbyist or indie (not as links but google will tell you these) : ogre, nebula engine, irrlicht, torque(not free), panda 3d, sdl (in any flavor), blitz basic (not free), game maker (not free), rpg maker(not free), ode and hundreds of others.
    The good part is, you do not need to know everything yourself. Most people talk only of the graphic engine. But what is with sound, pathfinding, UI framework, network, input, math (especially the collision stuff), databases and physics ? Can you do these too, alone ? Nothing of these will have anything to do with the game, these are basic, generic modules. But without these, there is no game.

  3. Here’s an analogy which I think will clarify the post a bit.

    Take the example of a construction contractor and an architect.. The contractor actually builds the house, he doesn’t necessarily design the house or say what materials are used. That job is usually left to an architect, or land developer.

    These jobs are very well defined, and I think the same applies to game developers and engine developers. Some people however do both, which I think is where the line can get pretty blury.

  4. When im interested in creating an engine…. i create an engine to my game. My game needs X, Y and Z, then i will build an engine that have X, Y and Z to supply my game needs.

    For example, if i was going to build one FF remake, what should i do? i would use an ready-to-use framework as Pop Cap Framework(that haves only the basics: image, sound, music, and GUI) and then build an engine that have all the code necessary for fight systems, map editors, and scriptting, inventory manager, party leader swapper, and things like that. Then…. every game that the mechanism sounds equal to FF, i can use that game engine..

    I recommend for people to see what the game needs, use one basic framework/engine and then build mechanisms based on what the game needs, and only….

  5. After developing a few mini-games and commercial games in BlitzPlus I ended up with a code library that was a sort of game engine/framework anyway. Then when I moved to BlitzMax I duplicated and improved the game framework and made a mini-game to test it, but it took me 3 months! Then I made a couple of games with it and the engine improved naturally some more. I actually sell the game framework to other BlitzMax developers and some of them have used it for their own commercial games (less than 5% though as most people never finish anything). The joke is, it’s made more money than most of my commercial games put together! So anyway I guess I’m saying that engines are important but it’s best to make them along with a game and keep improving them as you need to otherwise you’ll never get a game out there.

  6. I agree with your post juuso. I am a professional engine programmer but when I work on my own project I try to not touch the engine side (it is hard but otherwise my progress is close too none). It is massively time consuming to develop a game and too many people spend too much time recreating the wheel. In fact when you start having a working version of your game, you have probably only done 50% of the work. Finishing the game to good standard is about 50% of the work: polishing/balancing/tutorial/installer/frontend/testing….

    I could almost say that none of the indie games (succesfull or not) requiere a home made engine. You can obviously spend more time on 1 area and improve it but at the end of the day all the game engine are doing the same things at the end. Even a game like Gish could be done with any game engine (obviously you need to concentrate your work on the physic area/deformable character).


  7. I also think that Juuso should point out the advantages of creating an engine as well. Of course he’s right, some people waste their time with developing an engine, because they’re not doing too well in programming, and they should rather concentrate on a fun game.
    But if you’re a good programmer, it can have many advantages and the only big disadvantage will be the time and effort you have to put in it.

    In my case, I’m trying to develop a new game engine that’s versatile and scriptable with Python, so that I can create several games out of it by just scripting and (hopefully) without touching the C++ code anymore. Of course that’s the perfect case and I shouldn’t focus too much of it, since it could be that it will never get finished – I’m aware of that ;) and of course the games won’t get completed too soon, but during the time of engine development, I can also get new ideas for the game and won’t implement them directly, which is a good thing because I will tend to overthink that idea a little more ;)

    So, in my opinion, one should really decide what he wants to do and maybe take an existing engine – but he should also think about all the advantages he might get when he builds his own engine (of course with a realistic effort-estimate and a healthy relation to “is it worthy”).

  8. I completely agree with both sides, it all depends on the circumstances involved. I should have noted in the e-mails that I’m making the engine not only for the fun of it but because I would like to eventually make this in to a career.

    If being an independent developer doesn’t work out I think it would work to my advantage to be able to say not only did I create these games but I created the engines that power them. Since I don’t have any formal education in the matter and as of right now don’t intend to. I’m just looking to get the most I can out of this experience so that I can be a well rounded developer. If I end up applying at an already established studio I’ll have a good background in game programming, design, and production which will hopefully give me 1UP on the guys fresh out of college with little experience. Thats the plan anyway.

  9. I think your distinction between the two is a little more severe than it needs be. While I wholeheartedly encourage game devs to explore the market and find the excellent tools which are available to them (the FOSS community has many great tools), there are times where wrestling a 3rd party engine into doing what you need is not cost effective and actually decreases the impact of your final product.

    I’m a storyteller/game developer who finds that I must create an engine if I hope to make the type (and scope) of game I intend to.

    I’d also find that your stance would be stronger if you cited concrete examples of existing tools and engines you’ve used and provided us with examples of the strengths and weaknesses of the platform.

    After your 100% relaxing weekend of course. Enjoy it!

Comments are closed.