Top SDK features

Most important feature:
Good CLI interface that covers common needs (project initialization, build tool setup/integration, etc)

What it must have:
Solutions to common needs that save me time, robustness (I shouldn’t be able to break it easily), and ease of use.

What I would like:
A template project for modern Java/Gradle - separate assets & resources handling, options for jlinking a minimal JVM, options for jpackage-based native installer builds.

What would turn my head to give it a try:
A modernized cross-platform distribution setup. Modern Java is great at this, but tooling is still lagging behind - if I could build minified, native, distributable packages for all supported platforms with nothing more than a few one command CLI invocations in a GitHub Actions (or other CI/CD tool of choice) file, that would be more than enough to pique my interest.

1 Like

There are some bugs in the SDK, but they will not affect the development of a complete game. I think we should consider fixing some serious bugs, such as the vehicle editor not working properly.
The main functions of the SDK:

  1. Scene editor (scene, terrain, vehicle)
  2. Material editor (shader+material)
  3. Animation editor (read skeletal animation, edit editing, visual adjustment, etc.)
  4. Particle Editor
  5. GUI editor (what you see is what you get)
  6. Light baking (I developed one myself, but it is not perfect, so I didn’t publish it)
  7. Some additional kits…
1 Like

I’ve done some research on this today and my conclusions are that the only real way to allow users to:

  • create projects with a template
  • create android projects
  • create mobile/desktop projects (multi-project)

in a manner that is considered acceptable is through Android Studio. By “acceptable” I mean not having 3 different external apps. Just a single app that “does the thing”. This would mean developing an Android Studio plugin, but it would support all of the requirements.

Using the Android SDK through command-line is a royal PITA - not only for the end-user, but to try to automate that using a third-party application is futile. There are hoops in hoops that rely on a spaghetti junction of configurations that is pretty darn gnarly. Android Studio of course does this all out-of-the-box.

I’ve developed IntelliJ plugins. My concern is that if I develop this - it would mean that Android Studio is the SDK and IDE for Android.

After that, the DevKit SDK would work as normal.

1 Like

Android Studio is just a flavor of IntelliJ. You can install all the android plugins right into IntelliJ. I really like the idea of a IDEA plugin, but that does not give all the Netbeans users something to use. (Although I personally left the Netbeans scene after apache took over it)

Yeah I like intelliJ, too, but some don’t. I can run my devkit in Android Studio. So maybe the best way to go about this is to create an app that just clones template repositories.

If you want to develop an android app, it will clone the repo for you and you open it in Android Studio. If you want a simple basic non-android app, it will clone that repo, and you can open it in whatever IDE you like. Others can add more repo templates for Android that maybe don’t need Android studio(like you said). We can also add things like “basic shooter”, etc… And nothing would be tied to an IDE except where the template was explicitly designed for it (e.g. an Android Studio template).

3 Likes

Keep in mind BootMonkey or how nehon’s App was called.
There were several attempts at a Gradle Template Application

2 Likes

Is there any way that we can get an alpha release of the sdk as it is now with the latest jME engine.
It can be without android build system.
I have tried multiple times to build the current branch but no success.

2 Likes

I’ve started to write an app that creates projects:

In a nutshell it lists repositories, and the user selects a folder to clone that repository. a JSON file can be stored on the software store or wherever, so the list can be updated without having to push and update to the application itself.

We can push things like a basic-shooter and all the other types of repository, as well as categorize them. We can even have a raspberry pi project - because that has had very little love.

The majority of projects will be IDE independent (use whatever you want) but some can be IDE specific (Android Studio for example) if the situation warrants it.

The repositories will be stored here: jMonkeyEngine Templates · GitHub

4 Likes

The best hint would be where you are stuck with when building?
If you rely on the SDK to provide you jars, you can, however, download them manually and add new “Libraries” rather easily.

The problem is the SDK has a few oddities (i.e. reapplying changes causes corruption for gltf files, javadoc and sources are not shipped for ant projects) where I’m kind of stuck as well as untested features (i.e. in theory a 3.3 nightlies system, but the versioning is kind of broken as well).

I’m giving this a thought, given that we could use the nightlies to progress fixing, but there are a few broken things and stuff like support for the new animation system is rather untested.

2 Likes

The problem with the SDK that it’s netbeans based so many features that exist in idea does not in Netbeans like quick usage shortcuts , better auto completions , plus the important stuff which I really miss that is the docs & the JMe code , currently I have to stuck to netbeans as well because I use it to handle swing better than idea , so it’s better to advance the work on one place which is the SDK
-add the docs
-add core code
Mainly …

3 Likes

that’s a gradle problem I cannot fix, because I don’t know better.

Shortcuts could be doable from our side I guess, what auto complete would you want?

1 Like

Auto completions is a problem with the whole netbeans IDE , I listed that to compare with IDEA .

But could you maybe give an example? I use Visual Studio, Rider, Netbeans and IDEA all almost daily and they all work very similar in that regard. At least to me it is not very clear what you mean. Maybe a screenshot comparison?

2 Likes

If you type :

Obj.translate 

In IDEA , you will get code suggestions like setLocalTranslation() , translate() & anything that’s related to translation

But in Netbeans you will get translate() only ! That’s sometimes seems simple but in complex code , it matters ! , You may have misunderstood me because I said that its code completion , it’s suggestions accurately !

It’s like netbeans uses String.startsWith(s) to check your snippets & IDEA uses String.contains(s)

if you still need more clarification :slight_smile:

if i am a beginner jmonkey user , i will simply want to show up what controls do jme offers to me , so here no jme controls are actually appearing , inspite of i am importing the AbstractControl .

2 Likes

Thank you, now I understand what you mean, I guess I never really noticed. Downside for copying everything from stackoverflow :slight_smile:

Let’s see what we can do. At least meanwhile you can enable this feature from Netbeans also. It at least gives some more options than the default behavior. Toggle the Subword completion on.

4 Likes

Thanks for the hint!
I didn’t even know “Subword completion” is a thing in Netbeans, very useful.

1 Like

Me either, so I looked it up but then there’s more,

https://netbeans.apache.org/kb/docs/java/editor-codereference.html#_smart_code_completion

like chain completion. Where you can see chain of commands. Nice.

2 Likes

Thanks @tonihele , i will activate it

I will try that one too :slightly_smiling_face:

Perhaps the SDK needs an integrated stackoverflow search menu :smile:

This would be a game changer! :slight_smile: