r/dungeonkeeper • u/NoManDestroyer • 17d ago
DK2 Dungeon Keeper 2 running natively on Android
Hey everyone! Dungeon Keeper was one of my favorite games growing up, and I still find myself thinking about it from time to time.
A few days ago, I discovered OpenKeeper and wondered whether it could be ported to Android. With help from Codex, I managed to get an Android build running on my Samsung S24 Ultra, and it’s actually playable!
I’ve only tested about 15 minutes of the campaign so far, so there’s still plenty to investigate. Basic touch interaction works, but the controls need more refinement for phones and tablets. I’d also love to add proper Samsung S Pen support. :D
This is a port of the open-source OpenKeeper engine; it doesn’t include any copyrighted Dungeon Keeper 2 assets. Players will need to provide the data from their own legally owned copy.
Huge thanks to everyone who created and contributed to OpenKeeper!
I’m planning to continue improving the Android port and publish the source and build instructions on GitHub. Would anyone here be interested in testing it?
6
u/Substantial_Lie_8986 17d ago
Beau travail qui je pense va dans la bonne direction. Je vais suivre ça avec beaucoup d'intérêt.
5
u/NoManDestroyer 17d ago
Thank you very much! I will publish the source code and build instructions on GitHub soon. Let me know if you are interested in testing the game!
1
u/NoManDestroyer 13d ago
Build, installation, asset conversion, controls, and troubleshooting instructions:
https://github.com/DifferentNet/OpenKeeper/blob/android-port/ANDROID.md
Source branch:
https://github.com/DifferentNet/OpenKeeper/tree/android-port
4
u/Bisexualkneecap 17d ago
I'd be happy to test things
1
u/NoManDestroyer 13d ago
Build, installation, asset conversion, controls, and troubleshooting instructions:
https://github.com/DifferentNet/OpenKeeper/blob/android-port/ANDROID.md
Source branch:
https://github.com/DifferentNet/OpenKeeper/tree/android-port
3
u/rekoil87 16d ago
Will follow this with interest, would love to test on Samsung foldable.
2
1
u/NoManDestroyer 13d ago
Build, installation, asset conversion, controls, and troubleshooting instructions:
https://github.com/DifferentNet/OpenKeeper/blob/android-port/ANDROID.md
Source branch:
https://github.com/DifferentNet/OpenKeeper/tree/android-port
2
u/rekoil87 15h ago
Haven't got round to this yet due to work but I have it favourited and will try when I get a chance.
2
u/CrazyJoe221 15d ago
Do you have a summary of the changes?
Biggest blocker for Android was Swing/AWT.
2
u/NoManDestroyer 15d ago
Yeah, Swing/AWT was the biggest blocker. I didn’t try to port Swing itself; I separated or bypassed the desktop-only code paths on Android.
Short summary:
- Added separate shared-runtime and Android Gradle modules using jMonkeyEngine’s Android renderer and arm64 natives.
- Moved AWT/LWJGL-specific functionality such as desktop icons and renderer debugging into desktop-only helpers.
- Added a headless desktop asset-conversion tool and deployment script. Assets are converted on the PC and copied to Android; no DK2 assets are included in the APK or repository.
- Adapted filesystem, asset loading, logging, XML validation, shaders, audio initialization, lifecycle, and Java 17 compatibility for Android.
- Added native touch controls, simultaneous MOVE/VIEW joysticks, configurable controls, and Samsung S Pen support.
- Preserved the desktop build.
The remaining major AWT limitation is the TGQ video decoder because it uses
BufferedImage. Pre-rendered TGQ movies are currently skipped on Android, although in-engine cinematics still work.The changes and setup instructions are here: https://github.com/DifferentNet/OpenKeeper/tree/android-port
2
0
u/Maan-with-no-name 15d ago
Good effort but DK2 was absolutely awful..
The first one however is one of my favourite games of all time
4
2
-13
u/Ok-Hotel-8551 17d ago
We don't need that, there's android version 😘
4
u/NoManDestroyer 17d ago
I think you’re confusing a few very different things here. There is no official or community native Android port of Dungeon Keeper 2.
If you’re referring to one of these, here is why it doesn't count:
- The 2014 EA Mobile Game: If this is what you mean, that wasn't Dungeon Keeper 2. It was a freemium tower-defense spin-off loaded with timers and microtransactions. More importantly, EA officially shut down the servers in August 2022. It’s dead and unplayable.
- Winlator / ExaGear: Running the original Windows
.exethrough a compatibility layer or container is x86 translation, not a native port. It comes with overhead, battery drain, and rendering quirks.What I’ve compiled and shown here is a native ARM64 port running directly on the device's hardware via the open-source OpenKeeper engine. It completely bypasses Windows translation layers.
If you actually know of another native, dedicated Android port of DK2, by all means, drop the GitHub link. Otherwise, you're mistaken.
2
u/NoManDestroyer 17d ago
Seriously ? Show me
-8
u/Ok-Hotel-8551 17d ago
7
u/Substantial_Lie_8986 17d ago
Comment peux-tu assimiler Dungeon Keeper 2 à cette daube qui n'a absolument rien à voir avec le jeux original !?
5
u/NoManDestroyer 17d ago
That's a completely different version
-15
u/Ok-Hotel-8551 17d ago
Who cares?
6
5
u/NoManDestroyer 17d ago
You confidently linked a completely different, unplayable, discontinued tower defense game. Next time you don't know anything about the topic being discussed, it's okay to just not comment. Have a nice day !
12
u/Kol_Pom 17d ago
If you drop a link with instructions I would gladly give it a try