I’m currently using a copy of master from back in November with a handful of customization’s I’ve made. I use LWJGL3 at the moment although it has given me a ton of headaches on osx. Spoxel has come together over the last 7 years so a bunch of the libraries didn’t really exist when I started. The custom modifications i’ve made to jME include:
Extended the advanced profiler to basically use a varadic string input. This combined with some code changes for when app states are updated allows me to see which app states are causing lag as well as setup additional control points.
There is some weirdness with intel graphics cards on osx with high dpi displays and returning bad data. I’ve added some dirty code to allow me to scale the mouse input and nifty gui size to account for that.
I modified nifty gui to remove the memory leak problem I had found. I don’t use the functionality I disabled so it works for me and drastically reduced time spent when updating nifty components.
I’ve also made extensive use of spidermonkey and written a “Steam” server based on the spidermonkey code. The steam code is one of the Spoxel components I want to break off into a stand alone lib that people can use with jme.
Nifty was the only gui library that existed when I first started working on Spoxel so that’s what i’ve stuck with. The batching has been huge for rendering speed… especially on lower end systems. One of the project’s i’m toying around with is rewriting parts of nifty but i’m not sure if I want to invest that kind of time or start working with lemur since that has better engine support.
During one of my rewrites I moved to use an entity system that was in part based on concepts from zay-es but I wrote it before zay-es was really released. My version allowed by bi-directional modification along with the ability to access all components from sets. In retrospect… the bi-directional modifications was a bad idea but the component access has been nice even though it breaks some of the rules. I would probably use zay-es if I was making that decision today. I went a little crazy breaking things into components.
I also use a custom particle system based on the early code tonegod released. I’ve added code to allow for particle beams as well as the ability to allow gradients for certain particle attributes for better animation control.