a rougelike rpg, with randomly generated levels, items, enemies, and traps. see screenshots below.
based on the source code of pixel dungeon and shattered pixel dungeon
check darkest pixel dungeon wiki
download latest version
help on translation
current features & highlights:
- pressure system.
- perk mechanics.
- reworked damage proc.
- new hero class: Sorceress, Exile
- new enemies.
- new artifacts, equipments, and many other items.
- new npc, quests.
background sound track are from (and thanks to) yet another pixel dungeon
develop journal (in chinese) in dev/dev-notes
feel free to contact me, english& chinese is okay.
screenshots:
./gradlew :desktop:runLaunches the desktop build via LWJGL3, automatically injecting version info.
./gradlew :desktop:runDebugSets the system property:
dpd.debug=true
Heroes created while this option is on will have debug items enabled.
./gradlew :desktop:releaseProduces a self-contained executable fat JAR with all runtime dependencies:
desktop/build/libs/darkest-pixel-dungeon-<version>-desktop.jar
Run it with:
java -jar desktop/build/libs/darkest-pixel-dungeon-<version>-desktop.jar./gradlew :desktop:packrWindowsThis task will:
- Download the Windows x64 Temurin JDK 21.
- Use
jdepsto analyze the required Java modules. - Use
jlinkto create a trimmed Windows JRE. - Use Packr to generate a Windows executable.
The output is located at:
desktop/build/packr/dist/
If the download keeps failing due to network issues, download the JDK manually from Adoptium Temurin releases and place the archive at desktop/build/packr/windows-jdk.zip. The version the author uses is the Windows JDK 21 zip. Note that no matter what OS you use, you should download the Windows JDK, since this task cross-compiles a Windows distribution.
- Android Studio with the Android SDK installed (JDK is bundled or already configured).
- This project is integrated with Google Firebase for crash tracking. The google-services and Firebase plugins are applied unconditionally, so
android/google-services.jsonmust exist or any build will fail. The file is git-ignored (see.gitignore) and must be downloaded from the Firebase console and placed inandroid/yourself. - Native LibGDX
.solibraries are copied automatically during the build, no manual step is needed.
- Open the project root in Android Studio (it is a Gradle project; the Android module is
:android). - Prepare an emulator (AVD) or connect a physical device with USB debugging enabled.
- Select the
androidrun configuration in the top toolbar. - Click Run (the green triangle). Android Studio executes
:android:assembleDebug, signs it with the debug keystore, and installs the app (com.egoal.darkestpixeldungeon). - The debug APK is written to
android/build/outputs/apk/debug/android-debug.apk.
No signing config is pre-configured for release builds, so use Android Studio's signing wizard:
- Menu Build → Generate Signed App Bundle or APK....
- Choose Android App Bundle (for Play Store) or APK.
- Pick your keystore: select an existing
.jks/.keystoreand enter the store password, key alias and key password — or click Create new... to generate a keystore first. - Select the release build variant.
- Finish; the signed artifact is written to:
- App Bundle:
android/build/outputs/bundle/release/android-release.aab - APK:
android/build/outputs/apk/release/android-release.apk
- App Bundle:
Version name/code come from rootProject.ext.appVersionName / rootProject.ext.appVersionCode in the root build.gradle — bump them before publishing a new version.