Maker’s Tale : Tech Demo – First Release [ r07 Download ]

I think it was released 2007 / 2008.

It is a DirectX 10.1 card and exact card name is Radeon HD 3470.



Until now I had no problems running any games. The only problem is in some cases that the card hast not enough power, so some games are not playable because of the low frame-rate.

@xenexes said:
I think it was released 2007 / 2008.
It is a DirectX 10.1 card and exact card name is Radeon HD 3470.

Did you install the driver from ATI? The windows/MS driver will not support OpenGL properly.
@normen said:
Did you install the driver from ATI? The windows/MS driver will not support OpenGL properly.

He's using Ubuntu. I think the open source driver provided by the community doesn't support the patent encumbered DXT compression. @thetoucher: Perhaps you can consider providing textures that don't use DXT?

I’m using Linux with the open source ati driver (not the proprietary fglrx driver)



Edit:



Ah a little bit to late, Momoko_Fan still answered :slight_smile:

I tested it on other PC, works fine for the most part.



Operating-system: Windows XP (32 bit)

Card: Intel HD Graphics

Processor: Intel i5 - 2.4 GHz

Memory: 4GB

I tested it on my computer (win7 64 bit, ATI radeon 5970) and it’s very clumsy. The FPS is good (around 130) but i have a freeze every 2 or 3 seconds for 1 second.

I don’t know what’s the issue, looks like constant garbage collection…

No problem running MT except for the first time when I simply launched the .exe. It crashed during load. Using the .bat seems to work fine.



Small things:

  • Lava isn’t tiling.
  • You can put an Archer Range in Lava. Not sure if the archers would appreciate. :wink:
  • Camera panning (right-mouse button) will go through the “world bricks” if you go down. It should stop if there’s a brick underneath and not go down to the table.
  • It doesn’t seem to have a ceiling. I could zoom pretty high.
  • When you zoom out some, you get a black demarcation. I would imagine this is some shadow. Looks rather odd and out of place.
  • If you remove slabs until you get to the “table” the pointer doesn’t always work to put something back.



    That’s pretty much what I found in about 10 mins.



    Still, it’s impressive. Great work there.



    Except for the above I didn’t notice any FPS problem or anything wrong. Nothing obvious anyway. But then again, I don’t have an ATI crap card. :wink: j/k



    Hopefully that’ll help.

Thanks @Momoko_Fan and @xenexes, I will look at replacing my DXT compressed textures.



Interesting you say that @nehon, when I run with ‘-XX:MaxDirectMemorySize=1024m -Xmx512m’, after recording footage for a while I start to experience the exact same slow down… hopefully @Pspeed might be able to chime in here and offer some insight/tips ?



@madjack thanks for the thorough list, very helpful :slight_smile:

@thetoucher said:
Interesting you say that @nehon, when I run with '-XX:MaxDirectMemorySize=1024m -Xmx512m', after recording footage for a while I start to experience the exact same slow down... hopefully @Pspeed might be able to chime in here and offer some insight/tips ?


Run from the command line and turn on verbose GC logging using: -verbose:gc
(You can dump it to a file too but then you can't easily see if a full GC coincides with the slow down.)

I suspect you will see "full" GC when your pauses happen.

Also, how are you running when you pass those options? From the command line? From within the SDK? Or from your .exe?

Assuming it is running with your memory settings then it means that you are either gobbling through heap faster than it can be incrementally GC'ed or that your heap is too large for the amount of direct memory you are using... though that will generally lead to out of memory errors so I'm going to guess the first.

Since I don't know which version of JME you run and how you get to that level (automatic downloads or building it yourself)... make sure you have the version of com.jme3.util.NativeObjectManager that uses MAX_REMOVES_PER_FRAME. I have a modified version where I put timing code in there just in case.... that used to be a significant source of slow down every now and then.

Works on my Win7x64, GTX670. Clean, smooth optic looking professional. Great!



Things that don’t work:

  • HDR Filter error (white stripe because of white center cursor)
  • StoryBook Shader (HDR) not working correctly don’t know what it should look like
  • PSSM + HDR looks strange
  • Enhanced Water makes water invisible
  • Filckering texture at “dark castle” gate when panning
  • When moving the camera and releasing the button over a nifty element, the release is not recognized and the camera keeps moving



    Ideas for improvements:
  • Prevent camera from penetrating objects / ground
  • Support keyboard layouts like QWERTZ (y = z, ~ = ö) :smiley:



    Is there a map I can load and quickly see some “action” like in your videos? If yes, how do I start the action (NPCs running and so on)?



    Edit: It fails after “Loading…” on my ATi Mobility Radeon 9700 128 MB

    [java]SCHWERWIEGEND: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]



    com.jme3.renderer.RendererException: Shader link failure, shader:Shader[language

    =GLSL100, numSources=2, numUniforms=24, shaderSources=[ShaderSource[name=MatDefs

    /HexLighting.vert, defines, type=Vertex], ShaderSource[name=MatDefs/HexLighting.

    frag, defines, type=Fragment]]] info:Fragment shader(s) failed to link, vertex

    shader(s) linked.



    at com.jme3.renderer.lwjgl.LwjglRenderer.updateShaderData(LwjglRenderer.java:1094)

    at com.jme3.renderer.lwjgl.LwjglRenderer.setShader(LwjglRenderer.java:1129)

    at com.jme3.material.Material.renderMultipassLighting(Material.java:839)

    at com.jme3.material.Material.render(Material.java:1056)

    at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:657)

    at com.jme3.renderer.queue.RenderQueue.renderGeometryList(RenderQueue.java:301)

    at com.jme3.renderer.queue.RenderQueue.renderQueue(RenderQueue.java:350)

    at com.jme3.renderer.RenderManager.renderViewPortQueues(RenderManager.java:918)

    at com.jme3.renderer.RenderManager.flushQueue(RenderManager.java:849)

    at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1125)

    at com.jme3.renderer.RenderManager.render(RenderManager.java:1173)

    at com.jme3.app.SimpleApplication.update(SimpleApplication.java:251)

    at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:149)

    at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:182)

    at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:223)

    at java.lang.Thread.run(Unknown Source)[/java]

SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]

java.lang.NullPointerException

at com.afterhoursgamestudio.hex.Main.setupMainMaterial(Main.java:905)

at com.afterhoursgamestudio.hex.Main.startGame(Main.java:404)

at com.afterhoursgamestudio.hex.Main.simpleUpdate(Main.java:2310)

at com.jme3.app.SimpleApplication.update(SimpleApplication.java:241)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:149)

at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:182)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:223)

at java.lang.Thread.run(Thread.java:722)





This is after clicking play when it says ‘loading’



Ubuntu 12.04

Nvidia proprietary

Hi guys,



I have uploaded a new release (r03) and updated the download links in this topic. There are a few little bug fixes but primarily this update should help address the out of memory issues people are encountering, which generally presents as a crash during the loading screen. This may also help out “exe/app crashing but running from command line not” issues.



According to the profiler the new build is using less than half the memory as before, which in turn has really stabilised the heap size… so fingers crossed this build will now work for some of you who have been experiencing troubles :slight_smile:



@nehon would you mind checking the new build for the slows downs you are experiencing ?





Thanks for your wisdom yet agian @pspeed, -verbose:gc and “I suspect you will see “full” GC when your pauses happen.” are fantastic pointers, and “gobbling through heap faster than it can be incrementally GC’ed” is exactly what I needed to hear to help get a better understanding the issues.



In answer to your questions :

  • I pass the options both via the SDK during testing, and sometimes from the command line. I dont know if my exe’s are working properly (I know you warned me about this) but I don’t get these mem issues so its hard to tell.
  • I run a fairly recent nightly from the SDK updater: confirmed MAX_REMOVES_PER_FRAME is in there.





    @survivor thanks for the feedback, the filters are very moody, you need to have FXAA on to enable most of the others or they behave odd, that may help some of those issues. You are the second person who has mentioned keyboard layout issues, it’s something I had never considered until now, I will look into it cheers.





    @javagame … ouch, were there any related errors above that ? It looks like an image may have failed to load earlier or something :confused:
1 Like

work great for me except for a minor flickering issue in the right upper corner of the screen can’t really put it words… kinda looks like what u get with old movie projectors, I guess…also I was able to build tiles hanging over ground …like how u might make a bridge or overpass or something that is intentional right…damn good work otherwise



cheers

Nice, I only played a minute or two of it and found that at the default resolution (640x480) I couldn’t see the whole GUI.

Well, no lag and crashs for me (Win 7, 16 GB ram, 4x@3.4GHz with GTX560). Some of the effects looks odd indeed, but I can’t remember it all.



I really enjoyed that Rules design. It looks like a really good concept ^^

Cool i’ll download it on my 4 GB windows 7 desktop now. In a few days i’ll be able to test it on my troublesome laptop.

@thetoucher When I look at it there seems to be several more i/o errors above that





java.io.FileNotFoundException: HexEngine/structureDefs.json (No such file or directory)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.(FileInputStream.java:138)

at java.io.FileInputStream.(FileInputStream.java:97)

at java.io.FileReader.(FileReader.java:58)

at com.afterhoursgamestudio.hex.TXTLoader.readFromFile(TXTLoader.java:77)

at com.afterhoursgamestudio.hex.TXTLoader.readFromFile(TXTLoader.java:69)

at com.afterhoursgamestudio.hex.level.LevelLoader.(LevelLoader.java:48)

at com.afterhoursgamestudio.hex.Main.startGame(Main.java:388)

at com.afterhoursgamestudio.hex.Main.simpleUpdate(Main.java:2310)

at com.jme3.app.SimpleApplication.update(SimpleApplication.java:241)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:149)

at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:182)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:223)

at java.lang.Thread.run(Thread.java:722)

Level loader json persistence loader ate a bag of dicks over org.json.JSONException: A JSONObject text must begin with ‘{’ at 1 [character 2 line 1]

java.io.FileNotFoundException: HexEngine/edgeTypesDefs.json (No such file or directory)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.(FileInputStream.java:138)

at java.io.FileInputStream.(FileInputStream.java:97)

at java.io.FileReader.(FileReader.java:58)

at com.afterhoursgamestudio.hex.TXTLoader.readFromFile(TXTLoader.java:77)

at com.afterhoursgamestudio.hex.TXTLoader.readFromFile(TXTLoader.java:69)

at com.afterhoursgamestudio.hex.level.LevelLoader.(LevelLoader.java:50)

at com.afterhoursgamestudio.hex.Main.startGame(Main.java:388)

at com.afterhoursgamestudio.hex.Main.simpleUpdate(Main.java:2310)

at com.jme3.app.SimpleApplication.update(SimpleApplication.java:241)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:149)

at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:182)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:223)

at java.lang.Thread.run(Thread.java:722)

Level loader tileTypes json persistence loader ate a bag of dicks over org.json.JSONException: A JSONObject text must begin with ‘{’ at 1 [character 2 line 1]

java.io.FileNotFoundException: HexEngine/tileTypeDefs.json (No such file or directory)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.(FileInputStream.java:138)

at java.io.FileInputStream.(FileInputStream.java:97)

at java.io.FileReader.(FileReader.java:58)

at com.afterhoursgamestudio.hex.TXTLoader.readFromFile(TXTLoader.java:77)

at com.afterhoursgamestudio.hex.TXTLoader.readFromFile(TXTLoader.java:69)

at com.afterhoursgamestudio.hex.level.LevelLoader.(LevelLoader.java:51)

at com.afterhoursgamestudio.hex.Main.startGame(Main.java:388)

at com.afterhoursgamestudio.hex.Main.simpleUpdate(Main.java:2310)

at com.jme3.app.SimpleApplication.update(SimpleApplication.java:241)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:149)

at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:182)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:223)

at java.lang.Thread.run(Thread.java:722)

Level loader tileTypes json persistence loader ate a bag of dicks over org.json.JSONException: A JSONObject text must begin with ‘{’ at 1 [character 2 line 1]





Think you should remove that error message too before you start selling the game :wink:

Works flawless, smoothly, fast on i5 4GB RAM windows 7 1GB graphics AMD.

I did put ice, water and snow on lava though.

Gameplay is lovely.

r03 Started fine on my MacBook Pro (previously it crashed on loading). But it crashes on some shaders.

If I activate motion blur I get:



ul 7, 2012 2:56:29 PM com.jme3.renderer.lwjgl.LwjglRenderer updateShaderSourceData

WARNING: Bad compile of:

1

2 uniform sampler2D m_Texture;

3 uniform sampler2D m_DepthTexture;

4 varying vec2 texCoord;

5

6

7 uniform mat4 m_ViewProjectionInverse;

8 uniform mat4 m_LastViewProjection;

9 uniform float g_FrameRate;

10 uniform float m_Strength;

11 uniform float m_BlendAmount;

12

13 void main() {

14 float z = texture2D(m_DepthTexture, texCoord).r;

15 vec4 H = vec4(texCoord2.0-1.0, z * 2.0 -1.0, 1.0);

16 vec4 D = m_ViewProjectionInverse
H;

17 vec4 worldPos = D / D.w;

18 vec4 color = worldPos;

19 float depth = 0;

20

21 vec4 currentPos = H;

22 vec4 previousPos = m_LastViewProjection * worldPos;

23 previousPos = previousPos / previousPos.w;

24

25 vec2 velocity = (currentPos - previousPos).xy * -0.7*(g_FrameRate/60.0);

26

27 vec4 realColor = color = texture2D(m_Texture, texCoord);

28 int samples = 16;

29 vec2 deltaTc = velocity/float(samples);

30 vec2 tc = texCoord + deltaTc - (deltaTcsamples/2);

31 for(int i = 0; i < samples; i++){

32 tc.x = clamp(tc.x, 0.0, 1.0);

33 tc.y = clamp(tc.y, 0.0, 1.0);

34 vec4 cColor = texture2D(m_Texture, tc);

35 color += cColor;

36 //depth+=texture2D(m_DepthTexture, tc).r;

37 tc += deltaTc;

38 }

39 gl_FragColor = mix(realColor,(color / float(samples+1)), 1.0);

40 //gl_FragDepth = (depth / float(samples + 1));

41

42 }



Jul 7, 2012 2:56:29 PM com.jme3.app.Application handleError

SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]

com.jme3.renderer.RendererException: compile error in:ShaderSource[name=MatDefs/Post/motionBlur.frag, defines, type=Fragment] error:ERROR: 0:19: Incompatible types in initialization (and no implicit conversions in GLSL 1.10)

ERROR: 0:30: No operator '
’ exists taking ‘vec2’ and ‘int’ (and no implicit type conversion allowed in GLSL 1.10)

ERROR: 0:32: Use of undeclared identifier ‘tc’

ERROR: 0:32: Use of undeclared identifier ‘tc’

ERROR: 0:33: Use of undeclared identifier ‘tc’

ERROR: 0:33: Use of undeclared identifier ‘tc’

ERROR: 0:34: Use of undeclared identifier ‘tc’

ERROR: 0:35: Use of undeclared identifier ‘cColor’

ERROR: 0:37: Use of undeclared identifier ‘tc’



at com.jme3.renderer.lwjgl.LwjglRenderer.updateShaderSourceData(LwjglRenderer.java:1006)

at com.jme3.renderer.lwjgl.LwjglRenderer.updateShaderData(LwjglRenderer.java:1044)

at com.jme3.renderer.lwjgl.LwjglRenderer.setShader(LwjglRenderer.java:1129)

at com.jme3.material.Material.render(Material.java:1065)

at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:657)

at com.jme3.post.FilterPostProcessor.renderProcessing(FilterPostProcessor.java:194)

at com.jme3.post.FilterPostProcessor.renderFilterChain(FilterPostProcessor.java:273)

at com.jme3.post.FilterPostProcessor.postFrame(FilterPostProcessor.java:286)

at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1129)

at com.jme3.renderer.RenderManager.render(RenderManager.java:1167)

at com.jme3.app.SimpleApplication.update(SimpleApplication.java:251)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:149)

at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:182)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:223)

at java.lang.Thread.run(Thread.java:680)







Activating the HDR filter I get



Jul 7, 2012 2:59:05 PM com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation

INFO: Uniform m_Color is not declared in shader [ShaderSource[name=Common/MatDefs/Misc/Unshaded.vert, defines, type=Vertex], ShaderSource[name=Common/MatDefs/Light/Glow.frag, defines, type=Fragment]].

Jul 7, 2012 2:59:05 PM com.jme3.app.Application handleError

SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]

com.jme3.renderer.RendererException: Shader link failure, shader:Shader[language=GLSL100, numSources=2, numUniforms=17, shaderSources=[ShaderSource[name=Common/MatDefs/Misc/Unshaded.vert, defines, type=Vertex], ShaderSource[name=Common/MatDefs/Light/Glow.frag, defines, type=Fragment]]] info:ERROR: Input of fragment shader ‘texCoord’ not written by vertex shader



at com.jme3.renderer.lwjgl.LwjglRenderer.updateShaderData(LwjglRenderer.java:1094)

at com.jme3.renderer.lwjgl.LwjglRenderer.setShader(LwjglRenderer.java:1129)

at com.jme3.material.Material.render(Material.java:1065)

at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:645)

at com.jme3.renderer.queue.RenderQueue.renderGeometryList(RenderQueue.java:301)

at com.jme3.renderer.queue.RenderQueue.renderQueue(RenderQueue.java:353)

at com.jme3.renderer.RenderManager.renderViewPortQueues(RenderManager.java:893)

at com.afterhoursgamestudio.hex.post.HDRBloomFilter.postQueue(HDRBloomFilter.java:202)

at com.jme3.post.FilterPostProcessor.postQueue(FilterPostProcessor.java:207)

at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1121)

at com.jme3.renderer.RenderManager.render(RenderManager.java:1167)

at com.jme3.app.SimpleApplication.update(SimpleApplication.java:251)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:149)

at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:182)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:223)

at java.lang.Thread.run(Thread.java:680)

Jul 7, 2012 2:59:05 PM com.jme3.renderer.lwjgl.LwjglRenderer cleanup

@mcbeth perhaps that flickering is the Maker’s Tale logo (can be seen in recent screen shots and videos) ? can you capture it in a screen shot for me ? and yes, building tiles hanging over the ground didn’t happen by accident :wink:



@nipples yeah the GUI doesn’t scale very well yet, for now you need to run at 1280x720 or above for it to work properly.



@javagame cheers again. Inappropriate log mesages brighten my day when things go bad :slight_smile:



Cheers @shirkit & @dolfin



Thanks @jmaasing, that helped me sort out those 2 real easy, fix will be in the next build.