Not sure if a bug or my own aging brain...

  • Hi, I'm new here. The game looks fabulous from what I can see, but I'm getting an error when I attempt to launch the game on my Mac. The login screen runs, then I get the initial splash screen. The app then exits. Here's the console log, it looks like the shaders cannot be recompiled (essentially a JMonkey error). Is anyone else seeing anything like this:


    /////////////////////////////////////////////////////////////////////////////////
    Report of 11.08.2014 by edumobiledev
    OS: Mac OS X Version: 10.9.4 Java version: 1.7.0_55 JVM architecture: x86_64
    CPU cores: 2 Executor poolsize: 0
    Memory used: 590.40 MB reserved: 788.00 MB max: 1908.93 MB


    /////////////////////////////////////////////////////////////////////////////////
    Existing buffers: 3719
    (b: 2280 f: 1007 i: 8 s: 424 d: 0)
    Total heap memory held: 576559kb
    Total direct memory held: 376361kb
    (b: 376138kb f: 199kb i: 0kb s: 23kb d: 0kb)


    /////////////////////////////////////////////////////////////////////////////////
    Settings:
    Resolution: 1280x720 (Windowed)
    Frequency: 60 Vsync: off
    DepthBits: 16
    BitsPerPixel: 24
    Samples: 0
    MaxFrames: 200
    Renderer: LWJGL-OpenGL2


    Anisotropic: 0
    DynamicLights: 100 Quality: 2
    ViewDistance: 9 (LOD: 25)


    LS(Q)/LG/ENV/PHD/NM/FOD/FXAA/SPEC/REFR: 0(50)/1/0/1/1/1/0/1/1


    /////////////////////////////////////////////////////////////////////////////////
    Graphics: NVIDIA GeForce 320M OpenGL Engine Vendor: NVIDIA Corporation OpenGL version: 2.1 NVIDIA-8.24.15 310.90.9.05f01
    Accelerated Memory: Indeterminate
    GLMaxTextureSize: 8192
    GLMaxTextureImageUnits: 16
    GLMaxArrayTextureLayers: 35071
    GLMaxVertexTextureImageUnits: 16
    GLMaxVertexUniforms: 4096
    GLMaxFragmentUniforms: 2048
    GLMaxVaryingFloats: 60
    GLMaxVertexAttribs: 16


    Capabilities: [FrameBuffer, FrameBufferMRT, FrameBufferMultisample, OpenGL20, OpenGL21, ARBprogram, GLSL100, GLSL110, GLSL120, VertexTextureFetch, TextureArray, FloatTexture, FloatColorBuffer, FloatDepthBuffer, PackedFloatTexture, SharedExponentTexture, PackedFloatColorBuffer, NonPowerOfTwoTextures, MeshInstancing, Multisample]


    /////////////////////////////////////////////////////////////////////////////////
    Camera location: (0.0, 0.0, 0.0) Camera rotation: (0.0, 0.0, 0.0, 1.0)
    Total running time: 27.88366


    /////////////////////////////////////////////////////////////////////////////////
    Error details:
    com.jme3.renderer.RendererException: Cannot recompile shader source


    -------------------------------------------------------------

  • Hi, welcome to the forum and thanks for your compliment! :)


    We're extremely sorry to hear that the game does not run on your machine :/ Can you provide us some more details about the error and your system? Is it a x64 or x86 system? If you're having a x64 system, is x64 java also installed (it often causes trouble if only x86 java is installed on a x64 machine^^)?


    About the error: Does the game crash when creating a world, or when entering the menu, or already during the initial loading screen?

  • Hi,


    I already had some compareable issues with a my shaders (not in concept). If I remember correct the problem was that I used GLSL130 language. If the system does not support this feature I got this error. As you can see above the system just supports GLSL120. Maybe this could be a reason?! I used an if statement to do something else if the system does not support GLSL130. This worked for me because the compiler just compiles what the system needs (and not the GLSL130 staff).


    I would recommend to find out what shader is affected and check the code for language elements that are not supported in GLSL120.

  • Hi,


    I already had some compareable issues with a my shaders (not in concept). If I remember correct the problem was that I used GLSL130 language. If the system does not support this feature I got this error. As you can see above the system just supports GLSL120. Maybe this could be a reason?! I used an if statement to do something else if the system does not support GLSL130. This worked for me because the compiler just compiles what the system needs (and not the GLSL130 staff).


    I would recommend to find out what shader is affected and check the code for language elements that are not supported in GLSL120.


    The "cannot recompile shader source" may have several reasons. The GLSL language is not the problem, we're consequently using GLSL100. The opengl features of this graphic card are also sufficient, most important features at this point are TextureArrays and NonPowerOfTwoTextures.
    Not sure how much VRAM/shared memory this graphic card has (1gb is required), but I doubt that this is causing the error (at least if the game already crashes before entering the menu).


    Concerning our game, in most cases the VM is not able to allocate enough direct memory, also causing this error. This is mostly related to a wrong installed java version (as mentioned, only x86 java installed on a x64 OS), or perhaps we're encountering a new bug on Mac OS here. Eventually, the startscript for the mac version is wrong, we will check it out ;)

  • GLSL100? Really? Why are you doing this? Since JMonkey already need at least opengl 2.1 you can use GLSL120.


    Anyway... as far as I know is this grafic card a little low with memory (just 256 MB, maybe plus 256 MB shared). You already mention that this could be a problem. But I think the system provides just 2 GB RAM (or is it 4GB?! ). That means it is not well to increase the shared memory since the game itself need also some space. I also think that so much shared memory slow down the game.
    In my opinion: it could be tricky to find a configuration that works on this system. Maybe it will not work...
    So I am really interested in the final solution of this problem ?(

  • GLSL100? Really? Why are you doing this? Since JMonkey already need at least opengl 2.1 you can use GLSL120.


    There is no particular reason, we did not use any language changes of 120. We're going to offer additionally glsl150 in the future, but this has low priority, since it also requires syntax changes.


    Anyway, the memory might be a problem, but seems not related to this issue, at least if the game crash occurs before loading a world.

  • Thanks for all the replies, I've been "out of pocket" working on real world stuff for the last couple of days, but you've given me a starting point for trying some things out. I'm running a 64 bit system with a 64 bit java version, so that's not the issue. I also have 8GB installed in this machine, but the graphics card is probably a bit weak, as others have said. I may have to run it on my wife's computer...


    thanks,


    Simp.

  • Thanks for the further information! :) The graphics card might be a problem indeed, but I'm not sure if it is responsible for this error. It might be anyway good to know if it runs on your wife's computer :)
    But as mentioned, I guess the problem is that the provided startscript does not work on Mac OS, does it? We're currently preparing a "real" Mac application, but since it requires to be signed, it takes a few more hours until it's ready.

  • Further note; Mid-2010 iMac;


  • Editing config.properties and disabling;


    graphic_lightscattering=false
    graphic_ssao=false


    Allows the game to reach menu, generate worlds, and be playable.

  • I'm sorry to hear that this issue occurs. It seems to be related to Mac OS, and has to do with the SSAO shader. A workaround would be to open the config.properties in the main folder of your game with a texteditor, and to change the value "graphic_ssao" to false. This disables the nice-looking SSAO effect, but the game should work then. We're working on a fix for this issue.


    If the value is already set to false, or changing the value does not really work, we need a log file. To create one, set the flag "game_debug_console" to true in the config-file, start the game, and as soon as the error occurs and the game stopps running, a new log-file should be created in the "Logs" folder.


    You can also send it via mail to support[at]jiw-games.net (log file in attachment and your username is sufficient for us).


    Offtopic: Seriously? The forum recognizes an errorlog as brainfuck source code?? 8|



    //Edit: Seems that you was a lot faster than me ;) It's good to hear that changing the value(s) made the game running again, my compliment for finding a workaround yourself, good work! :) As mentioned, we work on a fix for the broken SSAO effect on MacOS.

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!