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.



2 Answers 2


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.

  • \$\begingroup\$ 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. \$\endgroup\$
    – QAH
    Dec 16, 2011 at 20:12
  • 1
    \$\begingroup\$ 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. \$\endgroup\$
    – brandon
    Dec 16, 2011 at 20:16
  • 2
    \$\begingroup\$ I second that, "Game Engine Architecture" is the best game development book in my collection,and I've got quite a few of them. \$\endgroup\$ Dec 16, 2011 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. :)


Not the answer you're looking for? Browse other questions tagged .