Diabolus Ex Machina

Looks really good. When I finally upgrade Java6 to Java7, I’ll give it a go.

Is the game or the engine or both open source?

The game brings its own private JRE, so you wouldn’t have to update your system.

The source code is not open source.
Maybe that will change some day, but it would require a good amount of work for the documentation beyond JavaDoc and it is questionable if there is enough interest to make it worth it.
But I have been thinking already to extract and publish dedicated modules.
If I find time to do it. Right now I am fighting Ant, Linux, Apache and HTTP…

A little update bringing these enhancements:

  • added background ambient track
  • extended documentation
  • introduced online highscores
  • added Linux package

Even more updates:

  • improved tunneling prevention of collision detection
  • fixed options saving for online logins
  • tweaked game balance
  • updated to Java 7u5, LibGDX 0.9.4, LWJGL 2.8.4
  • fixed games sometimes not starting up
  • fixed design of level 3

Here comes a fun update.
Particles !
Though clueless when it comes to OpenGL, with LibGDX and its particle editor I could easily set up particles for explosions and other visual effects.
Also good to keep up the overall motivation to do some nice stuff in between. Evil multiplayer classes are still waiting to get me :persecutioncomplex:

Interesting, why G1 ?

Pretty sure G1 is actually enabled by default in Java 7. For good reasons I suppose.

This was just experimental, with the newest garbage collector type, which is as far as I remember, a specialist for guaranteeing short pauses. But its been some months since I looked deeper into that topic, so that is no general recommendation.

No, it’s just “fully supported”. The old one is still default.

My question was because, firstly, it was explicitly defined. I thought that maybe some extencive profiling was done to warrant this.
Secondly, by my own knowledge and testing, G1 is more for heavy lifting, server side gc. While having more predictability and generally being “better”, my own profiling has shown some disappointing numbers for my lil things.

So was just wondering maybe there is some knowledge to be shared.

This anwered my question though :slight_smile:

I had some profiling sessions, but stopped it because it is very time consuming and hard to draw the right conclusions for JVM tweaking.
The only clear result was to not use the server VM as default because it’s aggressive optimizing is too CPU consuming for weak (single core) machines. The game showed bad stuttering. So there is only an optional “optimized server VM launcher”.

Finally I got to set up the fullscreen mode and migrated the game lobby to OpenGL with the help of LibGdx UI stuff.
Goodbye Java2D. It was nice but OpenGL is nicer. As long as I don’t have to mess with the low level details.
Some game options are editable now from the new options panel.
The new context sensitive help system offers great game play hints for a better overall game understanding. More or less.
Some sprite decorations were added to indicate the player sprite and power, and give morphing hints.

I tried it !
Everything is much better than the last time I tried :slight_smile: Fullscreen is a big plus, in addition to the background soundtrack it helps a lot being in the mood imho.
Getting rid of swing makes the overall look of the menus really better.

I had to switch to the default controls ( arrows ), because I have a french keyboard :slight_smile: Maybe it could be a good idea to detect the keyboard layout and adapt the key mapping in consequence ( maybe based on the default java locale ). Playing with the arrows was not very convenient as I’m right handed :slight_smile: … but it’s still a good point compared to a lot of games I try here that have only WSAD and that are just unplayable with a french keyboard.

For the game itself I was able to reach level 2 so I’m quite happy :slight_smile: I still have to understand better the camouflage thing but anyway …

Something else, it would be great to be able to consult the options during the game in order to have a look at the keyboard bindings. I had to try all the keys to activate the teleporter :slight_smile:

Good work !

Indeed, very nice graphics and font design work!

Thanks guys.
Alright, the keyboard. Internally, it is already flexibly mapped. But an option key dialog is missing to save from editing the property files directly.
To see the mapping during the game, click the help button at the lower left or press F1.

The big Box2D update.
Box2D, called with the LibGdx binding, is now used for

  • general movement with acceleration and bouncing
  • collision detection
  • field-of-view calculaton for AI
  • lighting via Box2DLights

The overall impression and feeling of the game mechanics is now much better compared to my own crappy hacked solution before.
Box2D was easy to integrate. A short how-to can be found at my blog.

Just had a go for 5 minutes.

The menus look cool, nice consistent graphics through out the game so far. The shadows create a good dark look and liked the doors. I am not sure what Morph does and not sure what the icons are at the bottom of the screen?

So far this game has potential but is lacking in excitement, something not quite right about the movement.

Look forward to see some updates

Paradroid?

More or less…

Update 0.9.0 brings graphic assets in different tile sizes for a better image quality and to support small phone screens.

Diabolus Ex Machina is also at Steam Greenlight

upvoted :wink:

I didn’t know you were on greenlight, you should have posted a link here when you published, it could have bring some more votes/visibility.