SDK Maintenance Plan

More docs never hurt anyone :wink: Are you talking about adding a new page or just editing some of the SDK docs? In any case, just run it by @Darkchaos since heā€™s heading up the SDK maintenance effort.

Hi All. Can I make a suggestion?

Going forward, it might be a good idea to extract the framework functionality in commandline utitlities that the GUI just calls. Especially for things like deployments to android and converting blend to j3o and stuff like that. That way other people wanting to make their own game specific editors dont have to re-invent the wheel.

Hey,

Yes it is, though the build process isnā€™t really complicated.
The thing is, I donā€™t really have the time to build nice documents, however Iā€™ll try to answer every questions you could have.

This indeed is a good idea however it adds another abstraction layer and is quite some work.

This however is easy: You could load .blend files from the assetManager and then serialize the Spatials as .j3o
On the other hand others are already working on those tools.

Basically the only tools that arenā€™t part of the Engine are the Material Editor, Shader Nodes, etc.
Those are all tools where a command line utility isnā€™t needed though.

Iā€™d like to get some more info on how the SDK builds the android application. I do a lot of work on the android platform.

It just uses the project creation tool supplied by the android sdk and some additional ant tasks.

@Vortex and all the others:
I started adding some docs to the repo which then will ultimately be added to the Wiki, however this is some additional work (editing the wiki, removing deprecated parts, etc pp).

see https://github.com/jMonkeyEngine/sdk/tree/master/docs:
It already contains Building Instructions and Information about how to report Issues (just in case :wink: )

2 Likes

Yes I was just looking at the source code how you guys write out the android manifest, etc.
It would be cool to be able to add plugins with manifest snippets. Say you provide the android manifest snippet and it gets written in at build time.

Well editing text files is no problem, just add the GUI elements in

and the code logic in

I did a quick look at the documentation and it looked very good.

I take better look later. I will also look if I can find what you described in the SDK.

Working with controls in scene composer gave me a thought: Could there be a button to pause all controls in the scene composer?
My use case:
I created a control that moved a hover tank 0.5f along x and z axes each frame. When I applied that control to the tank in scene composer the tank started to move (obviously) and ran away from the position that I have set himā€¦ It would be awesome to have a pause button.

Iā€™m not sure if itā€™s possible to do it without digging really low into the engine thoughā€¦

The hardest part will be deciding where the button should be :stuck_out_tongue:

Idea A:
for each (Control c) { c.setEnabled(false);}

Idea B:
getApp().setPaused(true);

A seems better if you want to re-start single controls.

Feel free to create an issue for it, I have to look into the Scene Composer anyway

The button should be right next to the light bulb for adding light and the thing that enables filters.

Just got another idea for a really useful feature.
Considering amounts of SDK relases lately it would be cool if we had an internal SDK updater instead of having to manually unistall old SDK, download new SDK and then install it. I think that functionallity is already built into netbeans so we would just have to somehow tell it to download new sdk instead of new netbeans (I mean that pesky ā€œNew version of NetBeans is availableā€ message with a button for download).

3 Likes

Yes I have voted there and Iā€™m not using Ubuntu on my main PC for now.

Yes this is possible without doubt.
We need to set it up though and it might be that it doesnā€™t work automatically

I am quite busy right now, but I will definitely keep it in mind!

Also: Usually updating should work without manually uninstalling the old sdk but I couldnā€™t find out where that error (wizard.xml incomplete) comes from and googling didnā€™t really help me out :frowning:

The updates work fine automatically, they did so since 3.0 alpha and during 3.0 ā†’ 3.0.10, just need to update the update folder and the updates.xml. The issue with the installer is probably due to the fact that the actual version number of the SDK never changed during 3.1 alpha.

1 Like

What I meant was they donā€™t work automatically with our CI (Travis).
Weā€™d need to set up that upload process I think.

Iā€™ll look into changing the version number, can we ā€œjustā€ change it?
Also: Even when it would be the same version it should offer some reinstall support.
But I have no clue what that missing component in wizard.xml means and netbeans installer is meh :stuck_out_tongue:

Yeah, even NetBeans itself doesnā€™t use its installer ^^ You can change the main version number of the app, I think my build scripts should distribute that down to the installer, otherwise you can change only the version of the installer, see this line / comment: sdk/build.xml at master Ā· jMonkeyEngine/sdk Ā· GitHub

Actually it looks like somebody already made a nbm_revision variable for that purpose.

You could probably take advantage of the infrastructure we already have in place to upload maven artifacts to our updates server.

For 3.0 the NBM files were uploaded here: https://updates.jmonkeyengine.org/stable/3.0/plugins/
For 3.1 you would want to have the NBM here: https://updates.jmonkeyengine.org/stable/3.1/plugins/

Essentially once you have the NBM files generated locally, you would perform an SCP using a key registered on the updates server. Look into how the engine uploads maven artifacts:

2 Likes