Thinking about making my game engine open source


02-07-2010 03:43:05

I've been working on a game part time for over a year now. The ultimate goal is to create a commercial indie game.

Originally I built the game in C++ using various libraries including Ogre, OIS, PhysX and recently IrrKlang for sound. After many months of frustation (mostly because of time constraints) I made the decision to port my entire game engine to C#. It's coming along very nicely and has presented an opportunity to clean up the code and do a bit of a redesign.

I've come to realise that there's a LOT of work going into the game engine and map editor that really has no benefit of being closed source. So what I'm thinking of doing is splitting the game engine out from the game and making it open source. The commercial game itself would remain closed source but would use the open source game engine behind it.

I'm hoping this will be a win / win situation for everyone. The community will be able to use all or any part of the game engine in there own projects and I hope to benefit from the extra help of the community by adding functionality to the engine that I wouldn't normally have time to do myself.

Ultimately, the reason most open source projects die is because of motivation (or lack of it). However, since I'm motiviated to complete my game I don't think this will be as much of an issue. I'm also not expecting people to get involved striaght away (although, your welcome too if you want). After all, I've already been working on this thing solo for a long time now.

This most is more of an announcement than a question, but I'd be interested to hear feedback and perhaps some insight into how you would go about doing this?


02-07-2010 15:59:58

very goog job
thank you


06-07-2010 13:13:03

Do it, Zarfus. Any code is always appreciated!


06-07-2010 13:26:36

It is a good idea like you have pointed out if someone is working on somthing along the same lines they may help out in the engine where you wouldnt' have time normally or expand it in a way that may benefit you.

On going about setting it up best thing to do is get your self setup with source control you could just use the same as mogre that has the benefit that people may already be setup to use that repositry. Other step you need to put licensing information in every source file you need to think on the license if it's restrictive you may not get as much help as they can't use your engine with out permission.


07-07-2010 03:38:01

Good to hear there is some interest. I've made some progress by uploading the code to a Google Code repository.

Currently it's a Subversion server. I tried using Mercurial but had some issues. I'll change it over again if there's a need.

It's unlikely you'll be able to build the projects in the current state, because they rely on a number of dependencies and media. I'm not sure how to go about dealing with that issue yet. Should I include the media assets directly in the source control?

The dependencies probably won't change much. I might be able to have them as a single downloadable zip file, or maybe just provide some links to each website where I got them from? Or both.

I'm still in the early stages of the redesign since I moved all my code over from C++ to C#. However, if anyone wants to download the source and have a play with it that'd be great. It would be a good way to figure out what's missing. I always make sure the code compiles before uploading to the SVN (assuming you've got all the dependencies) so that won't be an issue.

Oh yeah, on the licensing issue. I want to make sure that it can be freely used commercially without too many restrictions (because that's what I want to do with it). Attribution would be nice though. I think the MIT license is the way to go but if there's issues with it that I haven't realised let me know.


07-07-2010 18:40:54

I would make a seperate zip file I think binaries in source control isn't very nice :) just make it so you can copy a folder over the source code folder so it matches the structure it's expecting makes it easier to get up and running then.

As I remember MIT is very open so yeah I don't think there would be a problem (this is why OGRE has switched to the license I belive)


08-07-2010 00:10:22

Will do.