v0.1 · Unofficial Android launcher for Wildermyth by Worldwalker Games. Not affiliated with Worldwalker Games or Valve.
Bring your own game. You need your own copy of Wildermyth: Steam, GOG or Epic Games Store. No game files ship with the app. The Steam version gets the most out of it: in-app download, cloud saves, achievements and DLC. Copies from other stores load through "Use my game files", which is untested.
Download and play. Get the APK from the Releases page and install it on your Thor. On first launch, pick your game files or sign in to Steam to download the game.
AI disclosure: This project was built with Claude (Anthropic's AI coding assistant, via Claude Code). Claude wrote most of the code and docs. I decided what to build, tested every step on a real Thor, and reviewed the results. Read the code before you trust it, and keep backups of your saves.
Questions or bugs? Open an issue.
Features · Pictures · How it works · Status and limits · Building · Credits · License
Wildermyth is one of my favorite games, and the AYN Thor is a great handheld. The game would have been perfect on it, but there's no Android version and the PC version doesn't run on Android as is.
Hence this app: it runs the PC version of the game on the Thor, with your Steam saves, achievements and DLC.
To bring this amazing game to more people, the app is free and open source. If you haven't played Wildermyth yet, give it a try: it's on Steam, GOG and Epic.
| First run | Steam sign-in |
|---|---|
![]() |
![]() |
| The game, driven by the controller | Saves synced after a session |
![]() |
![]() |
| Both sides changed: you choose | Battle, with controller prompts |
![]() |
![]() |
- Install the game from the app. Pick your own game files, or sign in to Steam and download the game (about 3 GB). The download keeps going with the screen off.
- Sign in with a QR code from the Steam app. You never type your password.
- Steam Cloud saves. Saves download before you play and upload when you quit, so you can switch between the Thor and your PC. If both changed, the app asks which to keep and backs up the other.
- Steam achievements unlock as you play and sync after each session.
- DLC you own on Steam is unlocked.
- Controller and sound work out of the box.
Tested on the AYN Thor (Snapdragon 8 Gen 2, Android 13). Other Android handhelds with a Snapdragon chip may work, but haven't been tested.
Wildermyth is a Java 8 / libGDX / LWJGL game. The app runs the game's own desktop jar, unmodified, on a bundled Java 8 runtime, swapping in Android builds of the game's native libraries (graphics, controller and sound).
| Directory | What it is |
|---|---|
amethyst/ |
The app (submodule): a fork of Amethyst-Android that boots Wildermyth instead of Minecraft, plus the setup screen, sync flow and download service. |
wmcloud/ |
Steam in Kotlin: QR sign-in, Steam Cloud pull/push with conflict and mass-delete guards, achievements, DLC ownership, and the game download. |
jamepad-android/ |
Android build of Jamepad, the game's controller library, over the app's SDL. |
fmod-android/ |
Android build of the game's FMOD Java bridge, attaching FMOD's threads to ART. |
dlcagent/ |
A Java agent that answers the game's DLC checks from Steam-verified ownership. |
- Downloads slow down during the long stretch of small files. That's latency to Steam's servers, not your connection.
- Only tested on one device.
Clone with --recurse-submodules. You need the Android SDK, NDK r27 and JDK 17. To rebuild the controller
and sound bridges you also need Jamepad cloned into jamepad/,
fmod-jni cloned into fmod-jni/, and the FMOD Studio API 1.10.12
for Android from fmod.com.
export ANDROID_NDK_HOME=~/Library/Android/sdk/ndk/27.3.13750724 # your NDK r27
export FMOD_SDK=~/fmodstudioapi11012android/api # the SDK's api/ directory
jamepad-android/build.sh && fmod-android/build.sh # optional: prebuilt copies are in the app
cd amethyst && ./gradlew :app_pojavlauncher:assembleReleaseRelease signing reads ~/.config/wildermyth/signing.properties; without it, build assembleDebug.
This stands on other people's work. Thank you.
- Worldwalker Games for Wildermyth. Buy it; this launcher is useless without it.
- Amethyst-Android (AngelAuraMC), and PojavLauncher before it: the Java runtime, LWJGL, input and renderer plumbing this app is built on (LGPL-3.0).
- SilksongAndroid-Achievements by OmegaUwUr, which showed a PC game with its Steam features could feel at home on an Android handheld.
- JavaSteam for sign-in, Steam Cloud, achievements and the depot download.
- fmod-jni by Nate Austin (Apache-2.0), the game's FMOD bridge, rebuilt here for Android; changes are listed in
fmod-android/NOTICE. - Jamepad, libGDX, LWJGL and SDL.
- Mesa for Zink and Turnip.
- FMOD Studio by Firelight Technologies Pty Ltd for the game's audio. The APK bundles the FMOD Studio API 1.10.12 Android runtime under FMOD's non-commercial licence; this project is free and never monetised.
- Alegreya by Huerta Tipográfica (SIL OFL 1.1), the setup screen's font.
- OkHttp, Bouncy Castle, ZXing, XZ for Java, zstd-jni, Gson and Protocol Buffers.
Wildermyth and its art belong to Worldwalker Games. None of the game's files ship in this app.
This repository's own code (wmcloud/, dlcagent/, jamepad-android/, fmod-android/ scripts and sources)
is MIT. The app in amethyst/ is a fork of Amethyst-Android and stays under the
LGPL-3.0. Bundled third-party
components keep their own licences: FMOD under FMOD's EULA, fmod-jni under Apache-2.0
(notice), and Alegreya under the SIL OFL 1.1.







0 comments
log in to comment.