We need a new, focused, open source, professionally driven 3d Java engine.
It's no one single event that leads me to say this, more a culmination of forces that together drives to a single conclusion. More and more often lately, the idea has come to the fore-front of my mind. Here are the top 5 things that are currently pushing on me:
1. Love for the Niche: Probably most important is my (admittedly biased) view that 3d Java game and rendering technology is an important and valuable platform for current and future entertainment and applications. I have truly enjoyed the nearly five years I've spent developing the jMonkeyEngine, particularly the experiences of discovery, collaboration, community and creativity. And so in a nutshell, I would have no qualms about doing it all over again in some fashion.
2. Dearth of jMonkeyEngine Activity: Lots of anecdotes here I suppose, but you can see in a nutshell what I mean by looking at the commit history over the last one or two years. Official developer activity has been incredibly low. Also, there is no clear, cohesive future direction for the technology. This drags on the joy described in point #1 for me.
3. Ardor Labs and the Future: The software and services company I started back in July depends on the existence of 3d Java technology that is not only great today, but will be great in the world of tomorrow. Tying in with #2, and as a small business owner, I am concerned about the viability of current technology for future needs.
4. Professionalism: Hand in hand with #3 are difficulties I've discovered in the current "branding" and direction of jMonkeyEngine. Branding might sound trivial, but it has been hard to get the technology in the door at some companies precisely because the name does not sound serious enough (I've had to "sneak" it in the door as "jME" in at least one occasion.) Add to this the visible lack of a coherent forward direction, license questions (who is this "jMonkeyEngine" the copyright is attributed to, etc.) and so forth and you end up with a lot of work to assure potential customers that this is the technology they should bet on. The recent shift to give check-in rights to anyone who asks, (a fine idea, given #2) unfortunately only amplifies the issues here, particularly regarding coherent forward direction. Points 1-3 could be possibly solved within jME itself, but I think this point would be a lot more difficult to crack in the current structure. A new project would have a second chance to consider such issues.
5. Direction and Structure: Recent readings of "Producing Open Source Software" have had a big affect on my thinking. jMonkeyEngine was started as a hobby and placed on java.net later. Throughout its lifetime, a lot of development happened behind closed doors and then was dumped into the repo. In an effort to maintain a pure direction, there was a high barrier to entry for folks who wanted to contribute. (Ironically that situation seems to have reversed now.) There were some attempts to formalize processes for contribution, releases and so forth, but most did not bear fruit and largely were forgotten. In summary, the hobby-turned-project never seemed to be able to get fully onto the path of an open source project. I am certainly as guilty as anyone for jME's past direction, but given that past I am not sure the project could be repositioned without a large political upheaval - one that I am not willing to fight through personally. A new engine could start with these principles and expectations on day one.
And so, it is my intention to build a group to move forward with the formation of a new open source engine in this niche, currently called "Ardor3D". The goal of this new engine is to be a professional engine, targeting serious users in gaming, industry, education, and government. By professional, I mean that the engine will be run by coherent and well known processes that conform to generally accepted open source principles. The focus will be on having a solid, small and modular core with an architecture that allows for easily integrated extensions of varying complexity and utility (to get an idea of what I'd like to shoot for, see OSGi.)
By building a group, I mean that this engine will not be the "Renanse" engine or the "Slack" engine or even the "Ardor Labs" engine. Rather, I believe it must be an engine that reflects the combined wisdom of folks who have walked this path already. Without such a foundation, there is truly no hope of "Ardor3D" becoming a solid, general purpose, useful technology. There are several folks who have expressed interest in this idea. One particular individual of note (who has given his nod to being named) is Rikard "MrCoder" Herlitz, a programmer who is well known in our niche for his expertise in areas of shader technology and visual effects. The Ardor3D group is lucky to have him among its founders. I hope to also introduce other folks in the near future as equal members of the group or as contributors as the case may be.
As a final note of clarity, I wish only the best for the future of jMonkeyEngine... after all, I poured a lot of myself into it over these years and there are several individuals I have deep respect for in its community. I do believe however that there are also many in that community who feel the same or similar to me about the needs for an engine with a more focused direction and I hope that those people will find Ardor3D attractive. I would like to see it as easy as possible for these people to get involved. To that end I believe strongly that it will be important to both make the new API as easy to port to as possible and to not reinvent the wheel when there exists code in jME to do some particular feature. Ardor3D will, over time, take the best ideas from other open source projects (as is the tradition in open source) and merge them with ideas and architecture of its own. Work you have done to support another engine will therefore not be in vain at all.
And so, to the future! Expect to see more news and online materials in the near future.