Jme3 Roadmap

Hey,
is there some kind of roadmap showing what features are currently under development or planned for the medium term future?
I think that would be really helpful in terms for evaluating the engine for a long term project. It might be also help people not to develope the same feature…
On the otherside i can understand that the dev-team is busy, and that this is still a free-time project so planning might be difficult

Gratulations for reaching ‘Stable’ by the way.

No and its also not helpful.

Well, thanks for clearing it up.-

At least to me it makes a big difference if i know:
the engine supports Geometry Shader in the future (And GL > 2 features in general),
the engine’s lighting system will get an update (Eighter deferred or at least partitioning),
i can place 1000’s of objects now and know at some point i can use instancing,
and and and…

It allows me to calculate time needed for implementing the required features myself. If that is not helpful i don’t know.

And additionally i don’t know what problem you have or what pisses you off, but that answer is beneath contempt.

No, if you “knew” that we planned to do something and then bet on that happening thats not good for you. And in the and also not good for us if you would be here complaining about that feature still missing. On the other hand, contrary to closed source applications, you can come here and ask what it would mean to implement feature X, which should give you a way more accurate estimate on when and how you could get your hands on it, even considering coding it yourself.

And btw for lighting, the ShaderNode system supports deferred lighting already, so in this case the answer would probably be misleading, also not good. So I don’t see why my answer is below anything.

The thing is, a road map usually comes along dates, and what will go in what release…
We have different commitments in the team and that commitment fluctuate over time depending on what’s happening in our lives. So it’s almost impossible to give you ETA, dead lines and so on…
Also we don’t want that kind of pressure on our backs.

That said, I have a list of things I’d like to see in the engine. It’s more like a todo list, but I can’t guaranty everything will be implemented and in what version it will be. Also most of the point on this list haven’t been discussed thoroughly in the core team.
I won’t publish it as is because despite of the above disclaimer, people will take it as granted, but what I can say is that geometry and tessellation shaders are on it along with Deferred rendering.
I don’t know about instancing. IMO it can’t hurt, but there are disagreement in the team about this topic.

Regarding the " It might be also help people not to develop the same feature" IMO that’s the main drawback of having a road map. People take what’s on it as granted and think “i just have to wait to have it”. The point of the community is that people develop the engine through contribution.
There has been several attempts to deferred rendering and tessellation shaders on the forum, and that’s great because I won’t have to start from scratch :smiley:

Hey, it’s happy time right now, isn’t it? The core team just did amazing release and a lot of contributions and projects are out in the mean time. So just relax a little bit.

Talking about the road map, for a project “this big”, people should aware of something like it. The issues tracker can also help at some situations but a clear view of what going to be next are more than agog.

About project management, I’ve saw today “git & sourceforge & googlecode” projects are everywhere. Big teams, small teams, even one man army try to do open-source and try to get attention. You guys are near the center of it: thousands of download, users, questions, topics… but a clear vision? Of course you can write up a article talking about what you want to do, to try or how you want to drive this project and the community. You know, you ARE the owner; you have the right and the reponsibility to do it. And no one judge about what you DID say but not doing it. Even big company forget their users! So??

:google:

My point is: may be when time is right, you can write up a article about future; or making a vote of what features the user want to have. It’s community driven anyway, and you are not alone!

I don’t think there is a “you” who could create a unifying goal and beg, bribe or force a portion of the core developers to work towards it.

The “you” is the “core” team, with no concern about the user yet. And what really help is just a write up about their vision in the future (not necessary about the features but the direction like support GL > 2 for etc…) It’s not my bussiness here I know i just suggest

That might be true but still doesn’t help @zzuegg… And I generally concur with @nehon, if we put it up in a list nobody will attempt to do it and just bug us. Thats not to say that we don’t plan to add this or that feature “some time” but it would be counter productive advertising that.

Maybe a list of “things the core team would like to see happen, contributions welcome”?

Potential contributors would have a better idea what will be met with enthusiasm, what will be met with “meh”, and what will be met with active resistance.
Users will have a better idea what might happen in the future. If a user needs something that’s incompatible with that “nice to have in the future” list, they know they’re not gonna get it. If it’s compatible, they know they can wait for it, and if it doesn’t happen until they need it, they can become contributors (or sponsor contributors).

Just tossing around an idea, fully prepared to see it shot down in flames.

@toolforger said: Maybe a list of "things the core team would like to see happen, contributions welcome"?

Potential contributors would have a better idea what will be met with enthusiasm, what will be met with “meh”, and what will be met with active resistance.
Users will have a better idea what might happen in the future. If a user needs something that’s incompatible with that “nice to have in the future” list, they know they’re not gonna get it. If it’s compatible, they know they can wait for it, and if it doesn’t happen until they need it, they can become contributors (or sponsor contributors).

Just tossing around an idea, fully prepared to see it shot down in flames.

It’s not a bad idea in general but I also don’t think it’s not all that helpful in the long run.

As a community developer, you either need a feature or you don’t. If you need a feature then you will either implement it yourself or someone else will. If you need a feature and no one is working on it then you will either implement it yourself or go without. I’d hope that the core dev’s “excitement” about it wouldn’t matter.

The best additions will be the ones with real world use-cases. A wish list (even if we were conceited enough to think it would be even remotely exhaustive) has no real upsides and a couple side-effect-style downsides.

Personally, my number one wish-list item is to have the core be more flexible so that people wouldn’t need to add things to core just to add something like deferred lighting, etc… I’ll be chipping away at that one as I can. All of these other things become a much different discussion then as we evaluate fully working plug-ins that implement “favorite feature X”.

To the OP, a list like this is hard because we are not a company of guys working on some product where only we write the code. We’re mostly supposed to be gate keepers to the community supplied patches. We have a few areas where we have expertise and/or have taken on as pet projects… but in general, I’d rather see a tight solid core and lots of plugins (included in core or not).

1 Like

if anything has any merit, itd be a “features/community plugins being worked on” list. In order to add an item to the list you must personally be working on that feature and tie your username to it. Which would then be a place for the person to descirbe exactly what theyre trying to do, and if theyre seeking help/and in what areas.

This would tell people whats on the pipeline, and it would tell them what they can do to help contribute.

Though as was stated, this could backfire. people might see a feature they were thinking about making, then decide to just do nothing because it was on the list.

Something I have in mind is similiar to this post here , if I had the relevant experience to work on any of those items I would be willing to help out knowing its a desired feature and my work would likely be used.

@icamefromspace said: if anything has any merit, itd be a "features/community plugins being worked on" list. In order to add an item to the list you must personally be working on that feature and tie your username to it. Which would then be a place for the person to descirbe exactly what theyre trying to do, and if theyre seeking help/and in what areas.

This would tell people whats on the pipeline, and it would tell them what they can do to help contribute.

Though as was stated, this could backfire. people might see a feature they were thinking about making, then decide to just do nothing because it was on the list.

Something I have in mind is similiar to this post here, if I had the relevant experience to work on any of those items I would be willing to help out knowing its a desired feature and my work would likely be used.

Its not as easy as that, its not like people line up to write code they have no current use for. And if they do have use for something they seldom want to immediately write “clean” code “for the public” but rather get on with their project. Add to that the most productive coders seem to be rather special so their build setups, code style or personality don’t really allow a productive exchange. So I’d back @nehons point about “wild” contributions / code being the most fruitful source of engine code.

That thread you pointed at yielded exactly one contribution in two years btw – because somebody needed the Font converter to work better/differently :wink:

And IIRC I did the font creator thing because I needed it then discovered that thread after, not the other way around :slight_smile: