@louhy I am back home. Finally getting settled back in for a little bit.
So the next big support level for the JDK will probably have to be JDK11 as it is the next long term release after jdk8.
There will be a LOT of problems attempting to fully support JDK11 at the same time as JDK8. We have already seen this just getting jme3 to work with jdk11.
I think the best approach is do full support for JDK 11 in JME 4. At the same time it would be best to cut JDK 8 support. For people that absolutely require JDK 8 support they will still have jme3, but it probably wont get updated anymore.
With the migration to JME 4 it will be a good opportunity to address many of the large hangups.
There are two major hangups that need to be addressed:
- Internal VS External library support.
- Should we continue to package things like Nifty as part of JME, or let the community support things like that as an external package.
- jBullet has had a long life, but is now having major problems. Physics has mostly moved to native bullet and community packages. We should remove it from JME 4.
- We will need to cut support for LWJGL2, moving forward it would be ideal to only maintain one LWJGL library, and version 3 is the only one that supports Vulkan.
- Rendering Engine
- JME is designed to be integrated with openGL, we need to create an abstraction layer to allow for other rendering engines to be used. An example of this is having the ability to add support for Vulkan.
Those are the big topics we need to address for JME 4. Once these are addressed, we can start working on the plan for executing them. I already have gone though and re-branded JME3 to JME4 in a private project just to see how hard it would be with all the packages. I think moving forward, we should just use
com.jme as the package structure instead of
com.jme4 as to make large upgrades easier. But re-branding will be the easiest of all the things we have to do here.
It would be great if we could get some people to take on different roles in the process of doing JME 4. I know nothing about how Vulkan works, so we will need someone(s) to tackle that. As for moving things to JDK11 modules, I can work on that. I am not sure how to create the abstraction layer for the rendering engine, after looking at the core jme3 code, many opengl things are hard coded, this will make the abstraction difficult to do.
Wow, that was a lot! OK, now I am ready to get roasted here
EDIT: @pspeed JME4 would also be a good opportunity to rebuild the spider monkey serializer. I know you have worked on it a lot and are not super happy. Not sure if you would be interested in rebuilding it…?