Advertisement

Want to make my engine open source

Started by June 27, 2011 09:18 PM
5 comments, last by obhi 13 years, 4 months ago
Hi,

For quite sometime now I have been working on a cross platform game (currently only rendering + scene management + input ) engine and am considering the idea of making it open source. Currently my project is hosted privately, however, In the near future I would like to make it open source and upload into sourceforge or as such.
I am aware that there is nothing new I would achieve by doing so, but personally I have never worked in any open source project before, nor worked as a team in the area of game development. I have gained quite some experience in graphics and physics (having implented a physics framework before), so am using that skill to make this software.
What I would like to know is given that the engine currently has near to no dependecy (zlib, libjpg, libpng being the only three) and I am the only developer, if I go on and make it open source, how good an idea would that be?
I have not thought out clear about what I am going to do with the engine once done, but right now there are thousands (and thousands) of source files lying around in my computer that I worked out once trying to come up with an engine and as such and never doing anything with them ever (my physics engine for eg, which I plan to integrate into my game engine later, is currently useless). So I am starting to think, may be having a larger set of developers will help me with my cause.

So for the experienced ones, could anyone tell me what general outcome I might expect if I make such a move. Any suggestion would be very helpful.

Thanks,
obhi



What if everyone had a restart button behind their head ;P
Harsh reality? Nobody will care.

The vast majority of open-source projects fail because nobody is interested in working on them; everyone's already more or less busy on something else.


This is not to say you shouldn't release your code; that can be great for learning what other people think of your work, and for getting proof of your skills out there should you want to find a coding job in the future.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Advertisement
I would also add that if you make your code open source, you'll have better success generating interest in it if you write clean and thorough documentation for it. And I'm not talking about just commenting your code well (which you should do anyway) or running a tool like doxygen to generate a reference API. People who wish to make use of your library do not want to have to open up the source code and go through it line by line to figure out how to use it.


http://allacrost.sourceforge.net/wiki/index.php/Code_Documentation


There's an example of documentation we've written for our open source game (which includes its own engine). We regularly receive positive feedback from people who are impressed with the state of our code, comments, and documentation. Plus having this type of documentation makes it really easy for others to come along and help out.

Hero of Allacrost - A free, open-source 2D RPG in development.
Latest release June, 2015 - GameDev annoucement

I really am not looking to be tested or reviewed, after-all we do what we know...and with time we know more and do more/better.
So, yes it could be a pain to make someone even close to interested and convinced in working in an idea which he/she may not have conceived...I look at it from my perspective..I would rather work in my project./idea than someone else's. Which brings me to this question, what does really propel an opensource project anyway. For eg. Ogre3D is pretty successful, its a decent engine considering being opensource. Is it the need of such an opensource engine?
What if everyone had a restart button behind their head ;P

I would also add that if you make your code open source, you'll have better success generating interest in it if you write clean and thorough documentation for it. And I'm not talking about just commenting your code well (which you should do anyway) or running a tool like doxygen to generate a reference API. People who wish to make use of your library do not want to have to open up the source code and go through it line by line to figure out how to use it.


http://allacrost.sou...e_Documentation


There's an example of documentation we've written for our open source game (which includes its own engine). We regularly receive positive feedback from people who are impressed with the state of our code, comments, and documentation. Plus having this type of documentation makes it really easy for others to come along and help out.


Point taken. Currently my code has doxy like comments. I know to get developers interested I will need manuals, more comments probably. Its something I will spend time on eventually. Right now, I am on a run to complete some core features.


Having said that, my code is pretty clean, readable. Sometimes pain with the math code, but notions are very consistent.

What if everyone had a restart button behind their head ;P

I really am not looking to be tested or reviewed, after-all we do what we know...and with time we know more and do more/better.
So, yes it could be a pain to make someone even close to interested and convinced in working in an idea which he/she may not have conceived...I look at it from my perspective..I would rather work in my project./idea than someone else's. Which brings me to this question, what does really propel an opensource project anyway. For eg. Ogre3D is pretty successful, its a decent engine considering being opensource. Is it the need of such an opensource engine?


Its both the need and the community around it, if you want an opensource project to be successful you need to push development hard yourself (If you are driving the project forward on your own others will be far more interested in contributing than if you just dump the code and stop caring about it (its really quite similar to other types of unpaid hobby projects with the only exception being that everyone retains the copyright to their work and are able to fork the project if you fail to deliver in their eyes).

Do you have a game using your engine yet ? (If not, make one, its the only way to properly test the engine (a tech demo is not a game) and if the game is good it will draw attention to the engine aswell) (This goes for proprietary engines aswell), don't try to finish the engine first (Making an engine without a proper game is like making a game without playtesting it)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
Advertisement

Do you have a game using your engine yet ? (If not, make one, its the only way to properly test the engine (a tech demo is not a game) and if the game is good it will draw attention to the engine aswell)


That is what I'm going to do as a start. Eventually all I want to is make games, rather than the back-end. I will do it once the engine is ready to take that leap, until then I will do the silent development.
What if everyone had a restart button behind their head ;P

This topic is closed to new replies.

Advertisement