Serial Porter
Aug 15, 2012
France, near Lyon
Here is BloodGDX, a Blood Engine remake in Java/GDX.

The game use Java (so you need it installed on your Pandora) and OpenGL (so using gl4es). Also, you need the data from a full version of Blood to play this PND. Version from GoG or Steam or CD should work.

There is an ini file so it's pre-configured. On my Gigahertz, it's pretty smooth, with FPS most of the time around 15 minimum (with some short dip at 10fps, mostly with Java JIT triggers).

BloodGDX is closed source, so it's "stock" version here, with the only customisation beeing the custom build of libgdx (and liblwjgl).

History build

Build 03

  • Updated to latest version (0.796)
Build 02

  • Repackage, hopefully fixing launch issue
Build 01

  • Initial build
  • Some Pandora customization.
Last edited:
Hi all :)

@ptitSeb : thanks for porting BloodGDX to the Pandora ! I bought Blood from GOG some time ago, I'll try to test this one ASAP.

Cheers, Magic Sam
Woo! Another non-open game on the best handheld ever (for the time being)! Your reputation must really be preceding you these days.
I'm not sure I understand what you implied. But just to clarified: I hadn't had access to the sources. I simply "hacked" the jar to remove the x86 natives libs and put custom ARM libs instead. The rest of the jar (the .class files) is untouched (because Java, like Mono, is based on a VM and run on any supported platform as-is).
Oh right, I assumed you'd been in contact with the author and he'd given you access to extra things for porting. I guess I'd kind of overlooked that it was coded in Java.
Hi all,

@ptitSeb : I just gave BloodGDX a quick go, and unfortunately it didn't work with the GOG version :(

* with Oracle's Java 7: doesn't start at all...

java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) Client VM (build 24.60-b09, mixed mode)

Found java.pnd at /media/Pandora1/pandora/menu/java.pnd
Attempting to execute jvm at /mnt/utmp/java/jdk/bin/java
Args are: -jar BloodGDX.jar
/mnt/utmp/java/jdk/bin/java: symbol lookup error: /mnt/utmp/bloodgdx/lib/libX undefined symbol: xcb_wait_for_reply64

* with OpenJDK 6 (?): it's a bit better, it reached the first menu in Java, but enventually crashed...

java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8) (6b18-1.8)
OpenJDK Zero VM (build 14.0-b16, mixed mode)

File not found: /mnt/utmp/bloodgdx/BloodGDX.ini
Config file not found, using default settings

Because I think the file is actually in /mnt/utmp/bloodgdx/home/M210Projects/BloodGDX, followed by a long list of Java exceptions...

What am I doing wrong ?

Cheers, Magic Sam
Last edited:
I'll fix that. I already had that xcb error when using java, with OPSU, and the solution was to preload that lib.
It's strange because it doesn't trigger when codeblocks is loaded...
Also, don't try to use OpnJDK 6 if you expect some performances... That JDK is realy old, and doesn't have Hotspot, so expect crappy speed there...

Build 02

  • Repackage, hopefully fixing launch issue
@ptitSeb : thanks for the quick update, it's working fine now (I played through the 1st level) !

And speed is really good on my Rebirth OC'ed @ 1GHz :)

EDIT: level 2: check !
EDIT: level 3: check !
EDIT: level 4: check !

Cheers, Magic Sam
[doublepost=1525788487,1525770594][/doublepost]Hi again,

@ptitSeb : this game is definitely playable as is, but it can be a little slow at times (~10 FPS) ...

Could the -Xprof and -Xdiag options help you find where Java spends the most time ?
$ java -X
-Xdiag show additional diagnostic messages
-Xprof output cpu profiling data

EDIT: I can run some tests with those options on my end and report here if need be :)

Cheers, Magic Sam
It would be first wise to be sure the bottleneck is indeed Java (likely) and not GL (a bit likeley) or some other stuff (less likely). Check with "perf" maybe, that the slowdown are indeed Java (maybe it's the GC triggering...). They are *many* parameters to play with on Java. Maybe just playing with Max/Min mem would enough?
If you find some better settings, I'll gladly do a new package with them (and congrats, already beaten level 4?!)
Thanks for this :) tried installing earlier today at noon break, installed java, too, replaced drivers, but could not get it to run, and had to leave.
Returned from work tonight, finding your convo about it, I had had the same troubles as @ Magic Sam as it seems; just installed all again and it works at first sight! :)
Stiill being in Level 1 though ;)
Hi all,

@ptitSeb : OK, I'll experiment with perf and Java options, and report here in case I find anything useful :)

On a side note, Blood gets almost too slow to be playable when under water (e.g: carnival level). It looks like there's some kind of effect on top of the actual display that slows everything down to a crawl, making it really hard to kill fish and swimming enemies... Is there anything you could do about it ?

EDIT: the same thing happens when picking up the "Reflective Shots" item: the screen turns grey-blueish and the game gets really slow (e.g: train level).

Cheers, Magic Sam

P.S: I'm advancing though the game quite quickly because I'm playing on the easiest difficulty level ;) :p
Last edited:
Hi all :)

@Farox : thanks for the heads-up, looking forward to playing an updated PND ;)

@ptitSeb: this RedneckGDX port also looks pretty tempting :D I remember having a lot of troubles trying to play this game on my 486DX2 @ 66MHz, back in the days...

EDIT: @ptitSeb : the July update included this patch:
Palette and sound reverb fix after load game with enabled reflectiveShots or divingSuit

I hope this one could fix the issues I told you about some time ago.

Cheers, Magic Sam
Last edited: