Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about "how to get started," "what to learn next," or "which technology to use" are discussion-oriented questions which involve answers that are either based on opinion, or which are all equally valid. Those kinds of questions are outside the scope of this site. Visit our help center for more information." – Byte56
If this question can be reworded to fit the rules in the help center, please edit the question.

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
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

Not the answer you're looking for? Browse other questions tagged or ask your own question.