JME3, frustrating me

This site, it’s navigation, the program’s installation… what are my alternatives?? Why does this JM3 install and not having the files needed to even run the beginner tutorials which are packaged with it?? How come barely any of the syntax is explained and I feel like I have to goto a forum to have each constructor laid out because all the documentation has are the variable types to pass it? In summation can someone tell me what I’m missing? Why I don’t have any of the terrain tutorial packages? OR please tell me the name of an engine that I can learn that doesn’t have these constant annoyances?

I’m sorry to hear you’ve been having such a hard time with jME. It’s hard for us to read your feedback analytically and try find a solution for your problems when you’re packing them all into one big ball of fury. Pick one, tell us what’s wrong and, if possible, we’d very much like to know how to do better.

Maybee you only have the nightly build?

Get the source from the svn, there are mso stuff explained with java docs, or you can see how it works.

@erlend_sh sorry… my issues most recently are these;

    1) I don't think I've ever had it explained to me how to use the svn repository except to go through manually and download each raw file and place it into a directory on my machine, is this how it's supposed to be used??
    2) Several of the tutorials for JME3 do not work as shown on the site. Currently I am trying to experiment with the HelloTerrain which had a few issues;
      a) the syntax for the TerrainQuad constructor was inaccurate
      b) the texture IDs (m_Alpha, M_Tex1, etc) weren't valid anymore and moreso it was not explained in the tutorial what they correlated to
      c) even after fixing these it does not load textures correctly (I have the right ones, in the right directory, and moved it to the assets folder as advised by Normen). I simple have a black landscape with some red text along one side of the word as if instead of intertwining the three textures, it found some black image with red text and slapped that on.

    3)the classpaths seem odd, for example i had the parent directory included in the classpaths ".." which has a folder path that started there with com->jme3->terrain->geomipmip and heightmap yet it couldn't find the packages until i created a package IN my actual project named those explicitly. I don't understand this and it is one in a long line of classpath problems I've encountered using JME3.


All that being said I think I like the engine and want to use it for my current game project, but these tedious trip-ups have cost me literally days of coding and testing and that discourages me from using it. However, regardless of my ostensible frustration, I am willing to learn if it amounts to the simple task of researching the platform some more, my real frustration comes from my perception that the resources to learn don't seem to be available.
  1. Well, its explained in detail in the wiki, theres also a hint that its not necessary, but more advanced coders like to work with the svn version.
  2. The API of jME3 as well as the documentation is subject to change still as it is in alpha.

    a) As you might have noticed from the blog, the terrain system was just added some weeks ago, I think you can consider yourself lucky to find documentation for such a brand new feature in an open source project at all.

    b) see 2) and a)

    c) You will definitely see warnings about those textures if they cannot be loaded.
  3. OMG, you should really not include “…” into the classpath :eek: Please read up on java programming and the function of the classpath. This might also explain other problems you experience…



    So all in all you have to consider that this is free software, created by people in their own spare time that is made available to you at no cost whatsoever. Again, if you look at the documentation level of other open source projects I think we are doing a really good job. In any way we do the best job we can, still constructive feedback is appreciated.



    If this experience was so bad to you, you can also help us improve the situation after you have learned enough about jME. The documentation part of this site is a wiki, every paragraph has an edit button that you can use to improve the documentation, you are also very welcome to create new tutorials.



    Cheers,

    Normen

I apologize for the frustration Normen and thank you personally for your consistent responses to the numerous threads I’ve begun. I will contribute to tutorials where I try and see an issue.

Do you have any specific sources for learning more about classpaths? I’ve read several results off of my internet searching and still feel that I have only a cursory understanding of it.

The classpath is like a filesystem of java classes and other files that a java program can access. All classes that you want to use have to be accessible for your software via the classpath, so you have to add all jar files and/or folders containing the classes that you want to use to the classpath.



In jMP, the libraries loaded to the classpath are preconfigured so that all jME3 libraries are loaded automatically, you can inspect the settings via right-clicking the project and selecting “Properties”->“Libraries”.



The assetManager in jME3 is similar, its also kind of a filesystem, it has the classpath as one source and you can add other sources like folders etc. to its “root”. When you create a BasicGame project, the assets folder is automatically added to the classpath, thats why you can load the assets from that folder. When you run the program, the assets folder is automatically compressed into a jar file and that jar file is added to the classpath instead so you can distribute the game easily. Still the classpath should definitely not contain all folders you want to load models from, as all subfolders will be path of the classpath then and thats a mess :slight_smile:



If you want to load models from a different folder, you should add the folder to the assetManager like so in your java application:

[java] manager.registerLocator(“my/path”, “com.jme3.asset.plugins.FileLocator”);[/java]



Cheers,

Normen

BTW with the terrain I’m getting these errors on runtime.

[java]Oct 6, 2010 2:32:29 PM com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation

WARNING: Uniform Alpha is not declared in shader.

Oct 6, 2010 2:32:29 PM com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation

WARNING: Uniform Texture1 is not declared in shader.

Oct 6, 2010 2:32:29 PM com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation

WARNING: Uniform Texture1Scale is not declared in shader.

Oct 6, 2010 2:32:29 PM com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation

WARNING: Uniform Texture2 is not declared in shader.

Oct 6, 2010 2:32:29 PM com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation

WARNING: Uniform Texture2Scale is not declared in shader.

Oct 6, 2010 2:32:29 PM com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation

WARNING: Uniform Texture3 is not declared in shader.

Oct 6, 2010 2:32:29 PM com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation

WARNING: Uniform Texture3Scale is not declared in shader.

Oct 6, 2010 2:32:29 PM com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation

WARNING: Uniform g_NormalMatrix is not declared in shader.

Oct 6, 2010 2:32:29 PM com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation

WARNING: Uniform m_VertexColor is not declared in shader.[/java]

Try creating a “Jme Test Project” and copy the code from those examples. Also, you can easily add all demo textures, models etc. to your project without using any folders or copying files by adding the “jme3-test-data” library to your project.

Cheers,

Normen

Would it have messed up by not having the ShaderLibs available?

No, they are in jMonkeyEngine.jar normally, which is in the classpath too…

Well I basically removed my assets added the jme3 test data jar, and renamed the texture layers to the originals (since the newly indicated terrain.j3md had the original names in it). and BAM it’s working. So thanks for the advice because it got me there.