My physics and (real) math days are far behind so I’m probably little use, but what kind of help (and hassle) were you referring to?
As I said, I’d appreciate help documenting issues. Fixing them too, if you have relevant skills or are willing to learn.
Other needs I’m aware of:
- check the wiki (and javadoc) for accuracy and clarity, fix any issues
- write more example code:
- an example using GImpact shapes
- an example using simplex shapes
- an example using cone shapes
- an example that clones physics controls
- an example that serializes physics controls
- an example of a simple physics server and client
- set up automated testing to catch regressions (like we have for
jme3-core
) - set up continuous-integration builds of Android natives (like we have for desktop)
I won’t detail the hassles of supporting the physics libraries—lest I discourage anyone or sound like a whiner.
in theory, java’s physics libraries can give the same result in all environments by strictfp. On a well-tuned physics stage of a one-person offline game, it helps creator to reproduce the expected results in any environment.
C ++ physics libraries can not do that.
For me, the binary level cross-platform is the strength of jmonkey.
However, jbullet does not seem to use strictfp. But using strictfp is easy.
If jbullet and bullet native implement the same API, and if jmonkey chooses a library to use depending on whether the native-bullet supports the runtime environment, it will improve cross platform. However, it does not have the exact same API, and jbullet seems too old.
P.S. I’m sorry for disturb veteran chat.
The “downside” would be that you’re losing some precision for more capable platforms. Would that matter if you’re only simulating physics locally? I don’t know, but if I’m only targeting desktops, I don’t want someone’s crappy phone limiting my design. Well I’m sure it already does due to JME support, but it’s not something I’m jumping at a chance to expand on.
Dang kids with all that modern technolergy… and get off my lawn too.
Dang kids with all that modern technolergy… and get off my lawn too.
they need your lawn to catch that pokemon in game! then phone app say them to share photo when they are on your lawn on FB to get more points! and they even dont know GPS send their location into metadata.
Okay, we’ll see where I go with this if anywhere, but maybe I can lend a hand. First finding…
With all these apparent “bugs” turning up in the NB 11 Gradle maybe I’ll have to revert to 10 at some point, but that one looks workaround-able.
For the examples listed above, did you mean for jme3-examples in Git, or “wiki examples”?
I was thinking of jme3-examples when I wrote that.
PR for one out. Let me know if you’ve got any specific ideas and I’ll see what I can do.
@lifeinwild Just noticed this - no disturbance! It’s great to see knowledgeable new users show up! (Love the kitty photo btw.)
Since we keep 2 physics libraries around, we can make one of them the default.
Currently the SDK uses jme3-bullet
in its BasicGame and JmeTests project templates, but the Engine’s jme3-examples
sub-project defaults to jme3-jbullet
.
Unless there are prompt objections, I’d like to make jme3-bullet
the default for jme3-examples
.
In my opinion nowadays native bullet is a better choice. Being actively mantained is a big plus. Also I found it to be more consistent across devices than jbullet, specially from desktop to android (which is my focal point) and also a little quicker
I though someone already did after my last manual compilation… I may help with that
I may help with that
That would be great!
As a side note… is there any reason why openCL is not being used at all for both desktop and android bullet native? I don’t know the inners of the library but if that may improve performance it could be something interesting to look at while minie is not default in jme
Ook I see. What a pity…
Effective today, jme3-bullet
is the default for jme3-examples
:
It’s not difficult to switch back to jme3-jbullet
, if you need to.
The only downside is getting bullet-native to run on arm linux (raspberry pi), for example, where jbullet would just work.
If we had the manpower and wouldnt be years behind, we should have our own jbullet fork maintained. And if it’s only to spot bugs in either implementation
I tried and was unable to reproduce this bug. Has anyone seen it recently?
I had it too. Without that line of code bullet just start acting up after some time. Forces are ignored, collisions don’t happen. It just renders it unworkable.
See and following comments: Questions about character movement/physics engine in multiplayer game - #8 by remy_vd