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

[ latest gameplay video ]







Hi guys,



I finally get to tell you Maker’s Tale (HexEngine) is at last tidy enough for a public release :slight_smile: WOOT!. So I’m going to run some closed testing here giving you guys first crack, then I hope to do a full public release in a few days once any bugs are ironed out.



So I really need you guys help testing, at this early stage specifically ATI cards and on Mac, since I don’t have ready access to either of that hardware, but everyone else is of course more than welcome.



Windows

MacOSX

Linux

( ~ 39MB, version r07 - 04/09/12)



I expect there to be a mass of confusion and questions about how to use the Tech Demo, I’m still figuring out how best to address these (readme, FAQ, video…), but please do ask away.



Please bare in mind this is a tech demo not a game demo… you don’t play it so much as you play around with it. Currently the GUI is kinda limited to 1920x720 and above, most of it will resize to bellow that, but some wont which will cause problems.



This video shows some of more recent features added to the Tech Demo when it was launched:



http://www.youtube.com/watch?v=HP26a3oKdro



Thanks for all your help and support
James
9 Likes

Awesome, gotta check that tomorrow :smiley:

1 Like

Unfortunately it crashed on Start-up when I attempted to run it (i.e. Display Settings pops up and works fine, and when I hit “Ok” the window gets drawn, but remains black, and almost immediately crashes). I’ll post my specs below:



Operating System - Ubuntu 12.04 LTS 32-bit, Kernel Linux 3.2.0-26-generic-pae (Cinnamon WM)

Memory - 2.0 GiB

Processor - Genuine Intel CPU T2250 @ 1.73GHz x 2

Available disk space - 270.7 GiB



The options I was attempting to run it as (though I tried many different options, all with the same result):

1280 x 720

24 bpp

n/a

Disabled

Fullscreen? (not checked)

VSync? (not checked)



Hope that helps with your debugging adventures! :slight_smile:

@thetoucher said:
(...) I'm still figuring out how best to address these (readme, FAQ, video...), but please do ask away.

When it comes to installs, you can never have too much documentation. Do them all, and link to the other help assets from each resource.

Downloading right now!

I unpacked everything from the .app file (since running the .app directly didn’t succeed).

I get to the “loading…” screen, it loads terrain nodes and stuff, and then it crashes in loadScene() loadTexture() with a OutOfMemoryError: Direct buffer memory.

PS: I use Java 6 on a Mac.

Oh yes, I’ve been looking forward to this :slight_smile:

Sadly I have the same as zathras on my MacBook Pro, loading and then crash. One difference, I could run the app straight away - no need to unpack.

Java6, OSX 10.7.4, Graphics AMD Radeon HD 6770M 1024 MB

Thanks heaps for the feedback guys, it’s helped me track down some nasty bugs stopping people getting past the ‘powered by’ screen, and an ATI bug that would kill it soon after the loading screen. There are also memory issues again (yay fun) so please stick with me while I try and sort them out.



I updated the download links in the topic to the new updated build (r02).



Cheers

James

It is stuck on the start up screen. If I press Esc game quits. Tried with some different settings, but the end result is the same.



Windows 7 64bit, 4GB DDR3, Radeon 4670.



No crash log.

Tried the r02 on my Linux (Debian) nVidia gt520 - pretty low end card. Seems to run fine, no problem loading maps and placing some random object. Didn’t have time to test much. Only problem was when shutting down you get a NPE in the logs (doesn’t seem to affect anything).



java.lang.NullPointerException

at com.afterhoursgamestudio.hex.Main.destroy(Main.java:248)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.deinitInThread(LwjglAbstractDisplay.java:194)

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

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



Jul 06, 2012 7:45:16 AM com.jme3.renderer.lwjgl.LwjglRenderer cleanup

INFO: Deleting objects and invalidating state



Exception: java.lang.NullPointerException thrown from the UncaughtExceptionHandler in thread “LWJGL Renderer Thread”

@zarch said:
1280*720 (largest res option it gave for some reason?) 4*AA, not fullscreen.

Loading dark castle - 21fps. Once loaded: 200 to 180 fps.
Island map, gives more like 240 to 250fps.

My girlfriend says: It needs more pink. It's a bit "dark and dreary".

Normally I ignore her demands for pink but actually for what's meant to be a board game it might be worth "popping" the colours a bit more and/or putting flashes of colour into the scenery.


Cool thanks, is that running no effects (F8 to toggle effects) ?

Press Esc > change user colour slider to hot pink > character and building highlights for player team become pink along with 'play' mode cursor... the best I can offer for now.

Good point about colour in the scenery, we only have a single tree so far so will for sure plan to knock out some more scenery assets.

Just had a quick try. Windows 7, Radeon HD 6900. CPU 8 cores @ 3.4GHz, Ram 8Gb.



No crashes, looks good. As you already said it needs more explanation and something to do :slight_smile:



Is there a way to turn on a framerate display? Then you can get more deterministic performance feedback…

@zarch said:
Is there a way to turn on a framerate display? Then you can get more deterministic performance feedback...


Press F5 to toggle stats view to see fps.
Hold F1 to display help which shows key bindings.

1280720 (largest res option it gave for some reason?) 4AA, not fullscreen.



Loading dark castle - 21fps. Once loaded: 200 to 180 fps.

Island map, gives more like 240 to 250fps.



My girlfriend says: It needs more pink. It’s a bit “dark and dreary”.



Normally I ignore her demands for pink but actually for what’s meant to be a board game it might be worth “popping” the colours a bit more and/or putting flashes of colour into the scenery.

Looks good so far. At first the FPS was nice, then I turn on almost everything, after that game started running slow. Then I turned off everything, status showed game running close to 30 FPS but I am convinced that its running slower then that.



More :

Enhance water crashes the game.

Custom cursor doesn’t hide default cursor. It lies on top of each other.

Is Sun Hue working?

What is area of effect?

How to play the game? :slight_smile:

Running again, squarer screen res. 150 fps effects off.



PSSM shadows didnt work at all. I saw like red lights flickering over the terrain and no shadows, FPS dropped to 100. Basic shadows worked fps 132, the shadows seem very dark and there was a bit of flickering in the terrain but nothing like as bad as PSSM. HDR filter also gives wierd effects, terrain flickering and a white blur across the screen.



The other settings all seemed to have negligible effect either on the display or frame rate.



(Interestingly I tried turning on shadows on my own project and I saw messy results there too so it may be a problem with the shadows in general on this computer rather than anything specific to Maker’s Tale).





How do I actually get NPCs to appear and walk around? I found I can make archer ranges and barracks (and some maps seemed to have them already) but then nothing happens…

Getting an OOM too, seems to be the AWT loader causing this difference in memory performance (its different on OSX). Btw any command line settings translate to the .exe, .sh and .app bundle.

06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: java.lang.OutOfMemoryError: Direct buffer memory
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at java.nio.Bits.reserveMemory(Bits.java:632)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at java.nio.DirectByteBuffer.(DirectByteBuffer.java:97)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:288)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.jme3.util.BufferUtils.createByteBuffer(BufferUtils.java:909)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.jme3.texture.plugins.AWTLoader.load(AWTLoader.java:122)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.jme3.texture.plugins.AWTLoader.load(AWTLoader.java:192)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.jme3.texture.plugins.AWTLoader.load(AWTLoader.java:201)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:282)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.jme3.asset.DesktopAssetManager.loadTexture(DesktopAssetManager.java:345)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.jme3.asset.DesktopAssetManager.loadTexture(DesktopAssetManager.java:355)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.afterhoursgamestudio.hex.Main.loadScene(Main.java:744)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.afterhoursgamestudio.hex.Main.startGame(Main.java:422)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.afterhoursgamestudio.hex.Main.simpleUpdate(Main.java:2310)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.jme3.app.SimpleApplication.update(SimpleApplication.java:241)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:149)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:182)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:223)
06.07.12 10:59:06,543 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: at java.lang.Thread.run(Thread.java:680)
06.07.12 10:59:06,546 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: 06.07.2012 10:59:06 com.jme3.renderer.lwjgl.LwjglRenderer cleanup
06.07.12 10:59:06,546 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: INFO: Deleting objects and invalidating state
06.07.12 10:59:06,596 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: 06.07.2012 10:59:06 com.jme3.scene.Node detachChildAt
06.07.12 10:59:06,596 [0x0-0x1258257].com.afterhoursgamestudio.hex.Main: INFO: Gui Node (Node): Child removed.
1 Like

For me it runs fine.

Win 7, Intel Xeon E3 1230 (4 Cores @ 3.2 GHz and Hyperthreading… Practically an i7 without “Intel HD Graphics”), NVidia GeForce GTX 560 Ti, 16 GB RAM.

The Island results in 300 FPS, the Dark Castle in 400 FPS (with, I guess, AntiAliasing to 16x and 1280x … without AA its 620 for the island)



I was a bit confused how to do things, too^^



Is it intended that you can’t build anymore “blocks” when you deleted all hexagons up to the wooden floor?

@iamcreasy if its locked at 30fps and feels slower, you may have pressed f4 by mistake which triggers the video recorder - which locks to 30fps.


Enhance water crashes the game. - thanks, will test further.

Custom cursor doesn’t hide default cursor. It lies on top of each other. - thanks

Is Sun Hue working? - if the light is bright enough, its very subtle

What is area of effect? - shows the area around a flag the owning team can build in… you can only build around your own flags (when the in game rules are being applied).

How to play the game? You don’t yet, the tech demo is more an engine demo than a game demo you play. The closest you can get is open a map with a hero spawn on it (mountain), open the debug options and turn on ‘Apply Game Logic’ and ‘Data View’ then use ‘play’ mode. Play mode is the key to interacting with things in the game world as if you were playing the game. You need to move your hero to a flag so he can capture it, then you can start building things in there… when you have enough wood. So the hero will need to ‘gather’ 10 wood before you can use the hero to build a wood mill next to a tree, inside the area of effect… Just do stuff in play mode really… you can turn off ‘Apply Game Logic’ and go into build mode to build anything you want.





@zarch thanks, it sounds like i really need some info explaining what the graphic options are, what they do and how to use them. The key to getting stuff to spawn is ‘play’ mode, in play mode you can click on a building and use it to spawn units. you can in turn click on those units to get them to do stuff.



Thanks @normen, I will pop in some command line options to address the memory issues.



@enum ‘once you hit the floor’ is an issue I know how to fix, but is a pain so i have ignored it till now, because I didn’t wanna make myself have to fix it :wink:



I think I will whip together a quick “how to” video, might be the best way to get across my intentions.

Demo crashed in loading-process after pressing play:



System:



Operating-system: Linux (Ubuntu 12.04 - kernel 3.5.0-030500rc3)

Card: ATI Radeon HD 3400 Series

Processor: Intel Core2 Duo P8400 @ 2.26GHz

Memory: 4GB





Game-options (different options same result):



1280 x 720

24 bpp

n/a

Disabled

Fullscreen: no

VSync: no




06.07.2012 11:54:54 com.jme3.scene.Node attachChild
INFO: Child (my terrainQuad4Quad4Quad4Quad4Patch2) attached to this node (my terrainQuad4Quad4Quad4Quad4)
06.07.2012 11:54:54 com.jme3.scene.Node attachChild
INFO: Child (my terrainQuad4Quad4Quad4Quad4Patch3) attached to this node (my terrainQuad4Quad4Quad4Quad4)
06.07.2012 11:54:54 com.jme3.scene.Node attachChild
INFO: Child (my terrainQuad4Quad4Quad4Quad4Patch4) attached to this node (my terrainQuad4Quad4Quad4Quad4)
06.07.2012 11:54:54 com.jme3.scene.Node attachChild
INFO: Child (my terrainQuad4Quad4Quad4Quad4) attached to this node (my terrainQuad4Quad4Quad4)
06.07.2012 11:54:54 com.jme3.scene.Node attachChild
INFO: Child (my terrainQuad4Quad4Quad4) attached to this node (my terrainQuad4Quad4)
06.07.2012 11:54:54 com.jme3.scene.Node attachChild
INFO: Child (my terrainQuad4Quad4) attached to this node (my terrainQuad4)
06.07.2012 11:54:54 com.jme3.scene.Node attachChild
INFO: Child (my terrainQuad4) attached to this node (my terrain)
06.07.2012 11:54:55 com.jme3.scene.Node attachChild
INFO: Child (my terrain) attached to this node (Root Node)
06.07.2012 11:54:58 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Root Node)
06.07.2012 11:54:58 com.jme3.scene.Node attachChild
INFO: Child (markers) attached to this node (Root Node)
06.07.2012 11:54:59 com.jme3.scene.Node attachChild
INFO: Child (cursor) attached to this node (cam cursor)
06.07.2012 11:54:59 com.jme3.scene.Node attachChild
INFO: Child (cursor) attached to this node (cam cursor)
06.07.2012 11:54:59 com.jme3.scene.Node attachChild
INFO: Child (cam cursor) attached to this node (Root Node)
06.07.2012 11:54:59 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Root Node)
06.07.2012 11:54:59 com.jme3.material.MaterialDef
INFO: Loaded material definition: FXAA
06.07.2012 11:54:59 com.jme3.material.MaterialDef
INFO: Loaded material definition: Bloom
06.07.2012 11:54:59 com.jme3.material.MaterialDef
INFO: Loaded material definition: Bloom
06.07.2012 11:54:59 com.jme3.material.MaterialDef
INFO: Loaded material definition: Bloom
06.07.2012 11:54:59 com.jme3.material.MaterialDef
INFO: Loaded material definition: HDRBloom Final
06.07.2012 11:54:59 com.jme3.material.MaterialDef
INFO: Loaded material definition: My MaterialDef
06.07.2012 11:54:59 com.jme3.material.MaterialDef
INFO: Loaded material definition: My MaterialDef
06.07.2012 11:54:59 com.jme3.material.MaterialDef
INFO: Loaded material definition: Depth Of Field
06.07.2012 11:54:59 com.jme3.material.MaterialDef
INFO: Loaded material definition: My MaterialDef
06.07.2012 11:55:00 com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation
INFO: Uniform g_CameraPosition is not declared in shader [ShaderSource[name=MatDefs/HexLighting.vert, defines, type=Vertex], ShaderSource[name=MatDefs/HexLighting.frag, defines, type=Fragment]].
06.07.2012 11:55:00 com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation
INFO: Uniform g_WorldMatrix is not declared in shader [ShaderSource[name=MatDefs/HexLighting.vert, defines, type=Vertex], ShaderSource[name=MatDefs/HexLighting.frag, defines, type=Fragment]].
06.07.2012 11:55:00 com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation
INFO: Uniform m_ParallaxHeight is not declared in shader [ShaderSource[name=MatDefs/HexLighting.vert, defines, type=Vertex], ShaderSource[name=MatDefs/HexLighting.frag, defines, type=Fragment]].
06.07.2012 11:55:00 com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation
INFO: Uniform m_UseMaterialColors is not declared in shader [ShaderSource[name=MatDefs/HexLighting.vert, defines, type=Vertex], ShaderSource[name=MatDefs/HexLighting.frag, defines, type=Fragment]].
06.07.2012 11:55:00 com.jme3.renderer.lwjgl.LwjglRenderer updateUniformLocation
INFO: Uniform m_SteepParallax is not declared in shader [ShaderSource[name=MatDefs/HexLighting.vert, defines, type=Vertex], ShaderSource[name=MatDefs/HexLighting.frag, defines, type=Fragment]].
06.07.2012 11:55:00 com.jme3.app.Application handleError
SCHWERWIEGEND: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
com.jme3.renderer.RendererException: Image format 'DXT1' is unsupported by the video hardware.
at com.jme3.renderer.lwjgl.TextureUtil.getImageFormatWithError(TextureUtil.java:201)
at com.jme3.renderer.lwjgl.TextureUtil.uploadTexture(TextureUtil.java:212)
at com.jme3.renderer.lwjgl.LwjglRenderer.updateTexImageData(LwjglRenderer.java:1893)
at com.jme3.renderer.lwjgl.LwjglRenderer.setTexture(LwjglRenderer.java:1927)
at com.jme3.material.MatParamTexture.apply(MatParamTexture.java:46)
at com.jme3.material.Material.render(Material.java:1037)
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:356)
at com.jme3.renderer.RenderManager.renderViewPortQueues(RenderManager.java:898)
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: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:679)
06.07.2012 11:55:00 com.jme3.renderer.lwjgl.LwjglRenderer cleanup
INFO: Deleting objects and invalidating state
06.07.2012 11:55:00 com.jme3.scene.Node detachChildAt
INFO: Gui Node (Node): Child removed.
06.07.2012 11:55:00 com.jme3.scene.Node detachChildAt
INFO: Gui Node (Node): Child removed.
06.07.2012 11:55:00 com.jme3.input.lwjgl.LwjglMouseInput destroy
INFO: Mouse destroyed.
06.07.2012 11:55:00 com.jme3.input.lwjgl.LwjglKeyInput destroy
INFO: Keyboard destroyed.
@xenexes said:
... Image format ‘DXT1′ is unsupported by the video hardware. ....


I take it HD 3400 is pretty old ?