A thread to introduce yourself


#1

Hi, mates!.
I’m a new and excited JME developer (for android and desktop) and I was looking for any thread where the people introduce themselves. As you can imagine, I didn’t find it, therefore, here we go:
I’m eager to start learning JME to create my first game for android.
Any good books or resources?. I’m an Idea / eclipse user; but I can try any IDE (like JMonkey IDE) if it’s needed.


#2

Hello Ethiel. you can use other IDE using gradle build, but it will have lack of JME IDE functions that are IMO nice.(asset related)

sub-wikis:
https://wiki.jmonkeyengine.org/jme3.html#tutorials-for-beginners
https://wiki.jmonkeyengine.org/jme3.html#documentation-for-intermediate-users
https://wiki.jmonkeyengine.org/jme3.html#documentation-for-advanced-users

anyway if you will have questions after read wiki, then write then just in forum so we will help.


#3

Many thanks.
I have bought this book Jmonkey 3.0 a beginner’s guide. Would you say this is a good book to start from?
BTW: I’m not an english native speaker, so, please, sorry if I say some “barbarism”.


#4

im also not native speaker, so dont worry :wink:

i did not have this book, so i cant say, but i belive its a good book.

myself i learned from all online wikis and all forum posts.

you need to know that also some of knowledge is not engine related, but just Java or Shader or Rendering related itself. Most basic is you to know what is SceneGraph, how to cast Spatial to Node or Geom, what are controls and what are appstates, what are RenderBuckets, materials, partileEmitters, etc etc. i think good way to learn would also be participate in some forum events like:
https://hub.jmonkeyengine.org/t/february-2019-one-game-a-month-optional-theme-arcade/41369/2

starting from simple game and solving simple engine/Java knowledge problems you will have during creating it, will be good way to learn, but only if you read wiki/book earlier to know what is possible to use/do.

if you did not made games before, than i belive learning everything will take longer than just month. for a very good knowledge you might even need years.

also my tip: never surrender :slight_smile:


#5

Many thanks, mate.
I have developed a couple of games before and I worked in Project Wonderland (JMonkey engine based application) for a few months; but that was almost 10 years ago.
I’ll start reading monkey’s wiki today :).
Thanks for your help.


#6

There is a specific tutorial series on the wiki which gets you through the process of a first small game.
What you need as IDE is Android Studio, so unfortunately you’d have to use both: The SDK and AS, because the SDK can’t build for Android anymore or at least people found it easier to use AS.

But as pointed out you can use a gradle based Android Studio and just do the Assets inside the SDK (you can even use the same Project Folder without copying I guess)

For the book: Some things may have changed since then but I guess the principiles behind it still hold true. So I would read the Tutorial as a Getting Started and the book as the concepts behind it and how and why to do this and that.


#7

Oh, thanks.
I’m trying to make it work using Idea, Gradle and Android SDK. I have it working but using ant, which is not my favourite tool for coding.


#8

Oh note: SDK means the “jMonkeyEngine SDK” (The IDE), see https://github.com/jMonkeyEngine/sdk and IntelliJ with Android is the “Android Studio”


#9

@Ethiel

its easy,

  1. use any IDE that can use Gradle for code.
  2. use JME IDE for assets
  3. use Android Studio for android building, right? (i understand it can work with 1) IDE - im not android game developer, but i belive its similar to virtualizing android like ios have)

like @Darkchaos said.

how to do it:

in gradle build setting use something like(test purpose, if Android Studio is required then use it, not below):

apply plugin: 'java'
apply plugin: 'application'

mainClassName='mainpackage.yourgameclass'

ext {
   production = false
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    if(production){
        runtime project(':ProjectAssets')     // production - build/package all assets
    } else {
        runtime files("..//DirOfProjectAssets/assets")  // developer - no build each time
    }
}

in config like this you can use AssetsProject in JME SDK using all its asset features and use code in ANY IDE that can use gradle build. Both code/asset projects should be in same dir in this case.

“compile fileTree(dir: ‘libs’, include: [’*.jar’])”
this line mean i add jars from lib folder. i use it to maintain packages version + have it working when internet is off and gradle would be unable to download package itself.

REMEMBER TO USE ANDROID LIBS - for android

(like below but replace android alternative libs)

if you dont want manage libs yourself then use some of code from commented code i have here:

//dependencies {
// //compile “org.jmonkeyengine:jme3-core:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-desktop:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-lwjgl:$jmeVersion”
// //runtime ‘org.jmonkeyengine:jme3-testdata:3.1.0-stable’
// //compile “org.jmonkeyengine:jme3-plugins:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-android-native:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-android:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-bullet-native-android:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-blender:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-bullet-native:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-bullet:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-effects:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-examples:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-jogg:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-jogl:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-lwjgl3:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-networking:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-plugins:$jmeVersion”
// //compile “org.jmonkeyengine:jme3-terrain:$jmeVersion”
// //compile “org.jmonkeyengine/jme3-testdata5:*”
//}

all jars were already somewhere in source zip of: https://github.com/jMonkeyEngine/sdk/releases

please skip info that you already know, i write everything, even if something might be certain.

myself i only did not found how to add JME docs to gradle(JME IDE dont see JME function docs for me even if i add docs libs), so someone might help with this.


#10

I do it this way in Netbeans

It will download java docs and source files into gradle caches (by default it is in USER_HOME/. gradle / caches) and I suppose will be used by IDE automatically. At least it does for Netbeans.

I guess there should also be a way to do it in build.gradle file but I do not know how.


#11

Thanks for your help, my friends.
I have my first JMonkey project working in Android and in desktop environment, using gradle, in the same project. :).
Now, next step: create my first game and become a millionaire.