jME: Professional contributions
As most of you know, my day job as of early this year is working on game technology over at NCsoft Austin. In terms of jMonkeyEngine contributions from me, this is good and bad. The upswing is that I no longer have to split my time between a boring job in financial software and my true passion. jME is also getting a whole lot of experience in a professional environment and subsequently a good deal of polish.
On the down side, my employment at a professional game company means I am developing and working with a lot of cool stuff that - for competitive reasons - may never get contributed to jME. That is fine and makes a lot of sense to me from many angles... Some technology is very game specific and does not really belong in the jME core. Other technology is company goal specific and is essentially the trade secrets that allow a company to achieve specific goals ahead of other people. I'm all for that because it provides incentive for a company to risk the large amounts of money required these days to produce a top quality game.
All that said, I do have a certain philosophy regarding contributions from commercial companies - including the one I work for. It is my belief that with the Java Game Engine market currently in its infant stages, it is beneficial to everyone involved to cooperate on core java engine technology. There are still a good deal of features that are common to other professional game engines that jME lacks. These features are not trade secrets or necessarily advanced, and by developing and contributing these features a company can get many benefits in return.
First off, jME is a very active and - in most cases ;) - intelligent community. Donated features are always being freely bug tested and improved upon by community members. Secondly, donating a new feature gives a company the ability to set a direction or a standard in the community. Assuming the donated code is high enough quality and is accepted into the core, the donated code is now the "jME way" of doing things and improvements will likely spawn from that base. Finally, companies donating code reap good will from the community and influence others to consider contributing code as well.
At work I've personally stuck my neck out several times to push this strategy. We are a very small team and I believe the benefits I mentioned above could offload some bugfixing and polishing while also just being "a good thing." In the next week or two you should see the results of my pushing with the contribution of a Collada importer and a Bones/Skin system. Other companies using or considering using jME, I invite you to likewise participate. You'll be glad you did.
I'll definitely look back at this in a future blog post, so stay tuned.
Labels: jMonkeyEngine, work

