TUER: Truly Unusual Experience of Revolution, FPS using JOGL

Hi

I will upload the updated self-contained native application bundles of my game before the end of the week, it contains a very few changes:

  • The correct version of JOGL is loaded even though an older version (< 2.3.1) is installed, it’s very useful under Mac
  • A subtitle is displayed during the introduction
  • The automated native library loading no longer fails in some particular cases under Windows

I have spent a lot of time in cleaning a part of the source code dealing with the factories. When it’s done, I will improve the system of collision detection in order to manage much more complicated levels. I’d like to improve JFPSM too in order to extract and put each key frame into a separate file. I still hesitate in using OpenGEX instead of Collada.

Hi

I’m currently uploading the updated self-contained native application bundles of my game, sorry for the long delay.

The brand new JogAmp fat JAR (jogamp-fat.jar) eases a lot the use of JogAmp especially for the newbies (just one JAR to add into the classpath and no Java library path to set as usual) and it helps a lot to create fat JARs from any application based on it with various build tools including Ant (no need to wonder what the layout of the native libraries is, just preserve the location of these files).

I need to buy an HDMI cable, I’d like to make my game work with the Raspberry Pi 2 ;D Stay tuned.

2015/08/18: I have uploaded a new version. It fixes a big regression under Windows 8.1, GlueGen was unable to find a temporary executable directory to extract the native libraries.
2015/09/27: I have uploaded a new version, it fixes a crash under Windows 10, GlueGen was unable to find a temporary executable directory to extract the native libraries.
2015/09/29: The game should work correctly with OpenGL ES 1 and 2. I’m working on the portals too.
2015/10/04: I’m currently implementing the support of multiple languages. A few strings are currently translated.
2015/10/14: Please can somebody help me to translate my game? I need some help with Swedish, Dutch, German, Spanish, Italian and Portuguese.
2015/10/24: I updated the game yesterday, Sven and elect helped me for the German and Italian translations.

Hi

I’m currently uploading the updated self-contained native application bundles of my game, sorry for the long delay.

The brand new JogAmp fat JAR (jogamp-fat.jar) eases a lot the use of JogAmp especially for the newbies (just one JAR to add into the classpath and no Java library path to set as usual) and it helps a lot to create fat JARs from any application based on it with various build tools including Ant (no need to wonder what the layout of the native libraries is, just preserve the location of these files).

I need to buy an HDMI cable, I’d like to make my game work with the Raspberry Pi 2 ;D Stay tuned.

2015/08/18: I have uploaded a new version. It fixes a big regression under Windows 8.1, GlueGen was unable to find a temporary executable directory to extract the native libraries.
2015/09/27: I have uploaded a new version, it fixes a crash under Windows 10, GlueGen was unable to find a temporary executable directory to extract the native libraries.
2015/09/29: The game should work correctly with OpenGL ES 1 and 2. I’m working on the portals too.
2015/10/04: I’m currently implementing the support of multiple languages. A few strings are currently translated.
2015/10/14: Please can somebody help me to translate my game? I need some help with Swedish, Dutch, German, Spanish, Italian and Portuguese.
2015/10/24: I updated the game yesterday, Sven and elect helped me for the German and Italian translations.

Which translations are you still missing?

Swedish, Dutch, Spanish and Portuguese. Maybe I can ask Xerxes (xranby) to help me for the Swedish translation, zubzub can fix and improve the Dutch translation. I can start doing the Spanish translation but my level is too low to translate the “readme” file.

Which translations are you still missing?

Swedish, Dutch, Spanish and Portuguese. Maybe I can ask Xerxes (xranby) to help me for the Swedish translation, zubzub can fix and improve the Dutch translation. I can start doing the Spanish translation but my level is too low to translate the “readme” file.

Hi

I’ve just published my new yearly article about TUER:

I really have to hurry up to remove a few things so that I can make a video. Best regards. Stay tuned.

2015/10/28: I have worked several days on the array helper used in an optimizer, I have succeeded in identifying one condition never satisfied. I’m migrating to Git too.
2015/10/29: Launching the game by clicking on the icon doesn’t work under Ubuntu 14.04 LTS. I asked for help on AskUbuntu, I hope to fix this bug very soon. It still works in command line.
2015/10/29: The RPM packages are broken too: “unpacking of archive failed: cpio: Bad magic”.
2015/10/30: I’ve just solved the problem with the RPM packages by updating Red Line RPM. I’ve updated JDeb too. I’ll upload some new packages tomorrow evening.
2015/10/31: I’ve updated the self-contained native application bundles, they should work correctly now.
2015/11/01: The method that computes arrays with no hole from an array with some holes works a lot better now, there are just a few corner cases causing some overlaps.

Hi

I’ve just published my new yearly article about TUER:

I really have to hurry up to remove a few things so that I can make a video. Best regards. Stay tuned.

2015/10/28: I have worked several days on the array helper used in an optimizer, I have succeeded in identifying one condition never satisfied. I’m migrating to Git too.
2015/10/29: Launching the game by clicking on the icon doesn’t work under Ubuntu 14.04 LTS. I asked for help on AskUbuntu, I hope to fix this bug very soon. It still works in command line.
2015/10/29: The RPM packages are broken too: “unpacking of archive failed: cpio: Bad magic”.
2015/10/30: I’ve just solved the problem with the RPM packages by updating Red Line RPM. I’ve updated JDeb too. I’ll upload some new packages tomorrow evening.
2015/10/31: I’ve updated the self-contained native application bundles, they should work correctly now.
2015/11/01: The method that computes arrays with no hole from an array with some holes works a lot better now, there are just a few corner cases causing some overlaps.

Hello, i tried the current TUER pre-beta (Windows / zip / 64 bits) and here it crashes immediately…

Here’s the console :

C:\Users\Proprietaire\Desktop\tuer-0.0.0-0.windows.amd64\tuer>jre\bin\java.exe -
server -Xmx256m -XX:MaxDirectMemorySize=128M -Djava.ext.dirs= -jar tuer.jar
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: operating system: windows 8.1
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: operating system family: Windows
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: tries to create a temporary file to contain the WSH script...
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: temporary file C:\Users\PROPRI~1\AppData\Local\Temp\getDesktopFolder67018
23823237295006.js successfully created
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: temporary file C:\Users\PROPRI~1\AppData\Local\Temp\getDesktopFolder67018
23823237295006.js successfully filled
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: registry value used as a desktop path: C:\Users\Proprietaire\Desktop
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: operating system supported. Desktop path: C:\Users\Proprietaire\Desktop
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider load
AVERTISSEMENT: Cannot find the configuration file C:\Users\Proprietaire\.TUER\co
nfig
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readLocalePropertyValue
INFOS: Language code not found, uses the default language franþais for the prope
rty LANGUAGE
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readBooleanPropertyValue
INFOS: Boolean property VSYNC not found, set to the default value false
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readBooleanPropertyValue
INFOS: Boolean property FULLSCREEN not found, set to the default value true
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readIntPropertyValue
INFOS: Integer property SCREEN_WIDTH not found, set to the default value 0
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readIntPropertyValue
INFOS: Integer property SCREEN_HEIGHT not found, set to the default value 0
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readIntPropertyValue
INFOS: Integer property SCREEN_ROTATION not found, set to the default value 0
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readBooleanPropertyValue
INFOS: Boolean property SOUND not found, set to the default value true
Warning: Caught Exception while retrieving executable temp base directory:
java.io.IOException: Could not determine a temporary executable directory
        at com.jogamp.common.util.IOUtil.getTempDir(IOUtil.java:1287)
        at com.jogamp.common.util.cache.TempFileCache.<clinit>(TempFileCache.jav
a:81)
        at com.jogamp.common.util.cache.TempJarCache.initSingleton(TempJarCache.
java:88)
        at com.jogamp.common.os.Platform$1.run(Platform.java:309)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.jogamp.common.os.Platform.<clinit>(Platform.java:287)
        at com.jogamp.opengl.GLProfile.<clinit>(GLProfile.java:147)
        at com.ardor3d.framework.jogl.CapsUtil.getProfile(CapsUtil.java:26)
        at com.ardor3d.framework.jogl.CapsUtil.getCapsForSettings(CapsUtil.java:
90)
        at com.ardor3d.framework.jogl.CapsUtil.getCapsForSettingsWithHints(CapsU
til.java:67)
        at com.ardor3d.framework.jogl.JoglNewtWindow.<init>(JoglNewtWindow.java:
76)
        at com.ardor3d.framework.jogl.JoglNewtWindow.<init>(JoglNewtWindow.java:
68)
        at com.ardor3d.framework.jogl.JoglNewtWindow.<init>(JoglNewtWindow.java:
62)
        at engine.service.Ardor3DGameServiceProvider.<init>(Ardor3DGameServicePr
ovider.java:279)
        at engine.service.Ardor3DGameServiceProvider.main(Ardor3DGameServiceProv
ider.java:155)
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: C
:\Users\Proprietaire\Desktop\tuer-0.0.0-0.windows.amd64\tuer\natives\windows-amd
64\\gluegen-rt.dll
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
        at java.lang.Runtime.load0(Runtime.java:795)
        at java.lang.System.load(System.java:1062)
        at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoad
erBase.java:624)
        at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.ja
va:63)
        at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNIL
ibLoaderBase.java:106)
        at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.j
ava:487)
        at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrar
y(DynamicLibraryBundle.java:421)
        at com.jogamp.common.os.Platform$1.run(Platform.java:317)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.jogamp.common.os.Platform.<clinit>(Platform.java:287)
        at com.jogamp.opengl.GLProfile.<clinit>(GLProfile.java:147)
        at com.ardor3d.framework.jogl.CapsUtil.getProfile(CapsUtil.java:26)
        at com.ardor3d.framework.jogl.CapsUtil.getCapsForSettings(CapsUtil.java:
90)
        at com.ardor3d.framework.jogl.CapsUtil.getCapsForSettingsWithHints(CapsU
til.java:67)
        at com.ardor3d.framework.jogl.JoglNewtWindow.<init>(JoglNewtWindow.java:
76)
        at com.ardor3d.framework.jogl.JoglNewtWindow.<init>(JoglNewtWindow.java:
68)
        at com.ardor3d.framework.jogl.JoglNewtWindow.<init>(JoglNewtWindow.java:
62)
        at engine.service.Ardor3DGameServiceProvider.<init>(Ardor3DGameServicePr
ovider.java:279)
        at engine.service.Ardor3DGameServiceProvider.main(Ardor3DGameServiceProv
ider.java:155)

Sorry for the bad news :-\ .

Hi

Thank you for testing. A .bin file is missing, it’s used to determine whether a temporary folder can contain an executable, I’m almost sure that it’s a bug of the brand new JogAmp fat JAR:

[quote]java.io.IOException: Could not determine a temporary executable directory
at com.jogamp.common.util.IOUtil.getTempDir(IOUtil.java:1287)
at com.jogamp.common.util.cache.TempFileCache.(TempFileCache.jav
a:81)
at com.jogamp.common.util.cache.TempJarCache.initSingleton(TempJarCache.
java:88)
at com.jogamp.common.os.Platform$1.run(Platform.java:309)
at java.security.AccessController.doPrivileged(Native Method)
at com.jogamp.common.os.Platform.(Platform.java:287)
at com.jogamp.opengl.GLProfile.(GLProfile.java:147)
[/quote]
I’m going to fix this bug very soon.

Edit.: Bug fixed, my own code was to blame: http://sourceforge.net/p/tuer/code/1160/. I’ll upload some new self-contained native application bundles very soon. It reminds me that I have to write a documentation for JNDT so that the other developers can use it too.
2015/11/04: It’s almost 2 o’clock in France, I really need to sleep… The collision file is no longer empty. I will upload the new self-contained native application bundles in about 20 hours.
2015/11/06: I haven’t uploaded the new bundles yet, sorry. The computation of full arrays is now about 15 times faster ;D
2015/11/07: I have just uploaded the new bundles. It should work anew under Windows. Sorry for the delay.
2015/11/08: I have uploaded some new bundles. They should work better with Ubuntu and XUbuntu.

Hello, i tried the current TUER pre-beta (Windows / zip / 64 bits) and here it crashes immediately…

Here’s the console :

C:\Users\Proprietaire\Desktop\tuer-0.0.0-0.windows.amd64\tuer>jre\bin\java.exe -
server -Xmx256m -XX:MaxDirectMemorySize=128M -Djava.ext.dirs= -jar tuer.jar
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: operating system: windows 8.1
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: operating system family: Windows
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: tries to create a temporary file to contain the WSH script...
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: temporary file C:\Users\PROPRI~1\AppData\Local\Temp\getDesktopFolder67018
23823237295006.js successfully created
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: temporary file C:\Users\PROPRI~1\AppData\Local\Temp\getDesktopFolder67018
23823237295006.js successfully filled
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: registry value used as a desktop path: C:\Users\Proprietaire\Desktop
nov. 03, 2015 8:35:09 PM engine.integration.DesktopIntegration <init>
INFOS: operating system supported. Desktop path: C:\Users\Proprietaire\Desktop
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider load
AVERTISSEMENT: Cannot find the configuration file C:\Users\Proprietaire\.TUER\co
nfig
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readLocalePropertyValue
INFOS: Language code not found, uses the default language franþais for the prope
rty LANGUAGE
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readBooleanPropertyValue
INFOS: Boolean property VSYNC not found, set to the default value false
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readBooleanPropertyValue
INFOS: Boolean property FULLSCREEN not found, set to the default value true
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readIntPropertyValue
INFOS: Integer property SCREEN_WIDTH not found, set to the default value 0
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readIntPropertyValue
INFOS: Integer property SCREEN_HEIGHT not found, set to the default value 0
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readIntPropertyValue
INFOS: Integer property SCREEN_ROTATION not found, set to the default value 0
nov. 03, 2015 8:35:09 PM engine.misc.SettingsProvider readBooleanPropertyValue
INFOS: Boolean property SOUND not found, set to the default value true
Warning: Caught Exception while retrieving executable temp base directory:
java.io.IOException: Could not determine a temporary executable directory
        at com.jogamp.common.util.IOUtil.getTempDir(IOUtil.java:1287)
        at com.jogamp.common.util.cache.TempFileCache.<clinit>(TempFileCache.jav
a:81)
        at com.jogamp.common.util.cache.TempJarCache.initSingleton(TempJarCache.
java:88)
        at com.jogamp.common.os.Platform$1.run(Platform.java:309)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.jogamp.common.os.Platform.<clinit>(Platform.java:287)
        at com.jogamp.opengl.GLProfile.<clinit>(GLProfile.java:147)
        at com.ardor3d.framework.jogl.CapsUtil.getProfile(CapsUtil.java:26)
        at com.ardor3d.framework.jogl.CapsUtil.getCapsForSettings(CapsUtil.java:
90)
        at com.ardor3d.framework.jogl.CapsUtil.getCapsForSettingsWithHints(CapsU
til.java:67)
        at com.ardor3d.framework.jogl.JoglNewtWindow.<init>(JoglNewtWindow.java:
76)
        at com.ardor3d.framework.jogl.JoglNewtWindow.<init>(JoglNewtWindow.java:
68)
        at com.ardor3d.framework.jogl.JoglNewtWindow.<init>(JoglNewtWindow.java:
62)
        at engine.service.Ardor3DGameServiceProvider.<init>(Ardor3DGameServicePr
ovider.java:279)
        at engine.service.Ardor3DGameServiceProvider.main(Ardor3DGameServiceProv
ider.java:155)
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: C
:\Users\Proprietaire\Desktop\tuer-0.0.0-0.windows.amd64\tuer\natives\windows-amd
64\\gluegen-rt.dll
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
        at java.lang.Runtime.load0(Runtime.java:795)
        at java.lang.System.load(System.java:1062)
        at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoad
erBase.java:624)
        at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.ja
va:63)
        at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNIL
ibLoaderBase.java:106)
        at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.j
ava:487)
        at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrar
y(DynamicLibraryBundle.java:421)
        at com.jogamp.common.os.Platform$1.run(Platform.java:317)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.jogamp.common.os.Platform.<clinit>(Platform.java:287)
        at com.jogamp.opengl.GLProfile.<clinit>(GLProfile.java:147)
        at com.ardor3d.framework.jogl.CapsUtil.getProfile(CapsUtil.java:26)
        at com.ardor3d.framework.jogl.CapsUtil.getCapsForSettings(CapsUtil.java:
90)
        at com.ardor3d.framework.jogl.CapsUtil.getCapsForSettingsWithHints(CapsU
til.java:67)
        at com.ardor3d.framework.jogl.JoglNewtWindow.<init>(JoglNewtWindow.java:
76)
        at com.ardor3d.framework.jogl.JoglNewtWindow.<init>(JoglNewtWindow.java:
68)
        at com.ardor3d.framework.jogl.JoglNewtWindow.<init>(JoglNewtWindow.java:
62)
        at engine.service.Ardor3DGameServiceProvider.<init>(Ardor3DGameServicePr
ovider.java:279)
        at engine.service.Ardor3DGameServiceProvider.main(Ardor3DGameServiceProv
ider.java:155)

Sorry for the bad news :-\ .

Hi

Thank you for testing. A .bin file is missing, it’s used to determine whether a temporary folder can contain an executable, I’m almost sure that it’s a bug of the brand new JogAmp fat JAR:

[quote]java.io.IOException: Could not determine a temporary executable directory
at com.jogamp.common.util.IOUtil.getTempDir(IOUtil.java:1287)
at com.jogamp.common.util.cache.TempFileCache.(TempFileCache.jav
a:81)
at com.jogamp.common.util.cache.TempJarCache.initSingleton(TempJarCache.
java:88)
at com.jogamp.common.os.Platform$1.run(Platform.java:309)
at java.security.AccessController.doPrivileged(Native Method)
at com.jogamp.common.os.Platform.(Platform.java:287)
at com.jogamp.opengl.GLProfile.(GLProfile.java:147)
[/quote]
I’m going to fix this bug very soon.

Edit.: Bug fixed, my own code was to blame: http://sourceforge.net/p/tuer/code/1160/. I’ll upload some new self-contained native application bundles very soon. It reminds me that I have to write a documentation for JNDT so that the other developers can use it too.
2015/11/04: It’s almost 2 o’clock in France, I really need to sleep… The collision file is no longer empty. I will upload the new self-contained native application bundles in about 20 hours.
2015/11/06: I haven’t uploaded the new bundles yet, sorry. The computation of full arrays is now about 15 times faster ;D
2015/11/07: I have just uploaded the new bundles. It should work anew under Windows. Sorry for the delay.
2015/11/08: I have uploaded some new bundles. They should work better with Ubuntu and XUbuntu.

I commend you on your persistence. The graphics may be lackluster, but your determination to finish the game impresses me greatly. It’s been 8 years since you’ve started this project, yet it’s still going strong. I hope you finish the game :smiley:

I commend you on your persistence. The graphics may be lackluster, but your determination to finish the game impresses me greatly. It’s been 8 years since you’ve started this project, yet it’s still going strong. I hope you finish the game :smiley:

Hi

Thank you very much.

Yes, it’s a real problem. I have to modify a Peugeot 308 model and a riot squad model to add them into the game but the former needs a new texture and the latter uses a tga file that I can’t read easily.

9 years, not 8 :wink: I started this project in October 2006 and the very first commit happened November 25th 2006. Thank you for your support. I hope that lots of JGO game creators will finish their respective projects too, I’ve seen lots of promising games, especially Isotröma :slight_smile:

2015/11/22: I have published the documentation of JNDT here (English version). The French translation will be ready in several days.
2015/12/01: The English and French documentations were updated yesterday. PackR is no longer supported, it drives JNDT more simple.
2015/12/02: I’ve just updated the documentation of JNDT and moved it here (English version).

Hi

Thank you very much.

Yes, it’s a real problem. I have to modify a Peugeot 308 model and a riot squad model to add them into the game but the former needs a new texture and the latter uses a tga file that I can’t read easily.

9 years, not 8 :wink: I started this project in October 2006 and the very first commit happened November 25th 2006. Thank you for your support. I hope that lots of JGO game creators will finish their respective projects too, I’ve seen lots of promising games, especially Isotröma :slight_smile:

2015/11/22: I have published the documentation of JNDT here (English version). The French translation will be ready in several days.
2015/12/01: The English and French documentations were updated yesterday. PackR is no longer supported, it drives JNDT more simple.
2015/12/02: I’ve just updated the documentation of JNDT and moved it here (English version).

The models may be sweet, but you should improve the lighting. Maybe add some reflections, fog effects, etc. You aren’t using the fixed function pipeline of OpenGL are you?

He might be, considering that this game is now 8 years old. I dunno if he updated the code to render using modern OpenGL, but I think he didn’t, as the game is big enough to make the porting consume some months time.

Hi

My game will never be beautiful, I’m not a computer artist and the lights don’t work at all on a few machines I use for my tests. The list of bugs (including requests for enhancement) is already very long, I prefer not to use any lighting now in this first version of my game. Maybe I’ll use the fog effect in one level. I want to keep the graphics style of my game simple and consistent. Using more advanced lighting might be done in another major version. My game is old.

I’m using the fixed pipeline, which is emulated by JOGL when it isn’t available (typically with OpenGL ES 2).

[quote=“SHC,post:1199,topic:29428”]
My game is 9 years old, it’s explained here.

[quote=“SHC,post:1199,topic:29428”]
My game uses JogAmp’s Ardor3D Continuation, it supports shaders but my game isn’t intended to work only on modern machines. Yes, fully using the programmable pipeline in the engine would consume some months time.

I fixed a few bugs in the model converter yesterday. I hope to be able to edit the keyframe animations and to import them soon.