Sign up ×

I am a student C++ developer, and while I like game development, I don't like making games. Instead, I like developing the "tech" behind the games, like game engines, tools etc. The reason for this is because it enables me to code without having to worry about creating art resources, sounds, storylines, etc.

I started working on a game engine, but I am having a hard time starting from scratch. I would much rather be given a template to work off of and modify/add as I go. What are some good open source game engine I can fork?

I would rather fork an engine, as I truly want to make it my own, but I need a base to start from.

Please let me know.


share|improve this question

closed as off-topic by Byte56 May 12 '14 at 19:07



You didn't post any real requirements for the engine other than implying you want to work in C++. Look at gpwiki ( find a few that look promising (like Ogre, Irrlicht, Horde3D for some 3D examples), look at their architecture and pick what you like. –  michael.bartnett Dec 16 '11 at 20:17
-1, This question is pretty subjective, and fundamentally I think your direction is misguided. Until you actually make a game with an engine, you don't know how flexible and useful your engine actually is. –  Tetrad Dec 17 '11 at 0:38

2 Answers 2

up vote 8 down vote accepted

In my experience the people who are capable of writing their own engine from scratch are likely more technical than the people who can't. That being said, you may be hard pressed to find features that you can add to their code on your own and be of any use.

I would take one of two approaches to this:

  1. Join their open source project. This seems obvious, but instead of forking and adding random features to someone else's architecture which can be tough. Look at their issues they have listed and offer to help on them. Submit small fixes and eventually work into doing new features.

  2. Work on small elements of a game engine. Instead of writing the rendering, scene, ai, physics, etc. Just work on small projects that are separate from a central engine. If you want to expand your expertise, get one of the Game Development Gems books and work on implementing one of the gems and blog about it. Or find a research paper on a topic and implement it, then blog about it.

I think either or both of these are the common approach to preparing to be a core team developing one from scratch.

share|improve this answer
Thanks for the comment. See, my issue is that I am in a sense firing at random. I'm just making an engine, but I'm not making it around a game. So I'm having trouble figuring out where to start, since there are so many branches within a game engine. –  QAH Dec 16 '11 at 20:12
If you want the path of lease resistance, I would do both of the above suggestions. My answer is basically if you don't know where to start, it's because you haven't worked in the core of a game engine enough yet. A very common issue, but the quickest path to making your own engine is working through the learning process. Look up a book called "Game Engine Architecture" by Jason Gregory and you may realize why trying to jump straight into your own engine is counter productive to your end goal of making one. –  brandon Dec 16 '11 at 20:16
Great looking book. Thanks for mentioning it. –  QAH Dec 16 '11 at 20:22
I second that, "Game Engine Architecture" is the best game development book in my collection,and I've got quite a few of them. –  David Gouveia Dec 16 '11 at 20:27

Pick OGRE if your not afraid of digging through large code base or just a rendering engine. I would also suggest jMonkeyEngine if Java is not a problem for you. Horde3d is pretty well known for its high profile code base. You can try to look that one too. ID Tech engines has been released open source, you can fork those too.

I would stay away from those engines that has been abandoned by the developers, i.e. Irrlicht

Most importantly, rather then looking into one and recreating/cloning one for yourself, its better to contribute to one of these open source project. I think that way you'll learn more and everybody will be happy. :)

Also you might wanna go through DevMaster Game Engine list to check other engines.

share|improve this answer
