A downloadable game for Windows and Linux

This is the old Java based Prototype back from 2013 of my game Space Conflicts: Empires.

At that time I wrote the game from scratch using Java, OpenGL and OpenAL. Over the course of several years I slowly split the project into several modules and made the game engine it's very own things. While the game should became only a user of the engine.

The game and engine went through a lot of changes during their development phase including the change of used libraries. For example the first version of Space Conflicts: Empires, before the engine / game split, I used Java OpenGL (JOGL) for OpenGL bindings. Later on I replaced it with LWJGL 2 (Light weight Java OpenGL) which offered a bit more stuff which was later on updated to LWJGL 3. Not just OpenGL but also it enabled me to eventually use Vulkan for the visual representation og the game and it included OpenAL bindings for sound as well.

While the development of the game crowed the source code a lot and it became difficult to optimize, extend and fix bugs I separated the game from the engine code.

The engine it self was named SingularityEngine because Space Engine was already taken and a friend of mine convinced me to not call it Blackhole Engine as he associated the rear end of the human body with it. So SingularityEngine it was.

In it's last iteration the engine used LWJGL 3 for visuals and sound, jBullet for it's physics, ZGUI as a UI toolkit (also written by myself), CoreText (also made by me) should become it's own script language and also it should receive various render backends for not just OpenGL but also Vulkan and also a headless for server use.

The code of the engine and it's components can be found here:

Note: The source of the game is not the code of the prototype shared on this page. The source of the prototype you see on this page does still exists but it is a total mess and I can't get it to build it to provide a little more recent version as of now.

However the effort to develop my own game engine from scratch was fun exercise and I learned a lot about how to make a game engine. What to do, what not to do and how to use graphics APIs and Bullet Physics. But I ultimately dropped it in favour of using an already existing game engine.

Over the course of several years I experimented with various game engines such as Unity, Unreal Engine, JMonkeyEngine and OGRE 3D. But neither of this engines fit my needs or they made me unhappy in other ways.

Unreal and Unity have their weird licensing model. JMonkeyEngine lacked a lot of features and documentation was rather thin. ORGE 3D is not a game engine but rather a render engine which still would have required me to write my own engine around it.

Also 1st class Linux support was a hard requirement for me as well. Because it's what  I work with for around two decades now. Especially Unity and Unreal Engine have very  mixed reputation on their Linux support. Both with exported games but also with their editors.

All hope seemed to be lost and I was about to continue my endeavour to develop my own thing but thankfully a friend recommended me Godot Engine.

Even though there are some limitations I had to work around using Godot it is still by far the best solution for my needs.

Want to learn more about the Godot version see: Space Conflicts: Empires - Godot

Download

Download
space_conflicts_empires_java_prototype.zip 283 MB

Install instructions

Controls:

  • Move: W, A, S, D (Along the global XZ-Axis)
  • Up / Down: Arrow Keys Up / Down (Y-Axis)
  • The above + Shift: Move faster
  • Look: Right Click Mouse and drag
  • F1: Toggle Menu
  • Ctrl + 3: Surface Demo
  • Ctrl + 4: Universe Overview showing different galaxies
  • Ctrl + 5: Main Menu Background Scene
  • Ctrl + 9: Example solar system

Model viewer: Make sure you've aligned the camera to look down the global Y-Axis. You can validate this in the menu scene if looking towards the galaxy.

Leave a comment

Log in with itch.io to leave a comment.