Ika
Ika is an open-source visual novel player for Android, built as a modern, compatible replacement for the shell of the original Tyranor app. It plays TyranoScript, Kirikiri (KAG/xp3) and NScripter games on a clean Material 3 interface, and keeps games working on Android 15/16 where the original Tyranor engines crash or fail to initialize.
This is the app shell. The bundled engine layer comes from the original Tyranor 2.3.4, which is proprietary software; the open-source components it bundles are covered by their own licenses. See NOTICE.md for details.
Features
- Four engines in one app — each game is launched with the engine it was built for, automatically detected from the game files:
- Artemis — the original Tyranor engine for TyranoScript games (V1/V2/V3, from the original dex, injected at runtime). Detection follows the original Tyranor rules:
.pfsfiles orsystem.ini+system/first.iet. - KRKR — Kirikiri Z kernel with SDL3 rendering (krkrsdl3) for KAG/xp3 games. Replaces the original Kirikiroid2 (cocos2d-x) engine, which cannot initialize on Android 15/16.
- ONS — ONScripter-EN Android port (onscripter-engine-android) for NScripter games. Replaces the original ONScripter-Yuri native lib, which crashes on Android 15/16.
- Web — TyranoScript Web / browser-based games via a built-in HTTP server and WebView.
- Artemis — the original Tyranor engine for TyranoScript games (V1/V2/V3, from the original dex, injected at runtime). Detection follows the original Tyranor rules:
- Game library — pick a folder via the Storage Access Framework (no storage permission needed), scan, and let Ika detect the engine type automatically. Last-played tracking included.
- Large SAF games — first launch of a big game copies it to internal storage with a visible progress dialog (KRKR/Artemis read real paths); interrupted copies are never mistaken for complete.
- Crash isolation — each engine runs in its own process.
- Modern UI — Material 3 (Compose), Chinese, English and Russian interface.
Build
- JDK 17+, Android SDK 36 (
compileSdk), minSdk 26. - Release signing is read from
keystore.properties(gitignored); without it the release build stays unsigned.
./gradlew assembleDebug
Rebuilding the bundled native engines from source is optional; see docs/krkrsdl3-engine-build.md and docs/onscripter-engine-build.md.
License & credits
The app shell (Kotlin/Compose code) is public domain under the Unlicense.
The bundled engine layer is not public domain — it includes engine components from the original Tyranor 2.3.4 (proprietary software; used here only as a compatibility layer) and native libraries from several open projects. See NOTICE.md for the full breakdown and license obligations.
Credits
- TyranoScript — the visual-novel scripting engine / game framework (proprietary software). Official Telegram: @Tyrano
- Tyranor — the Android player that runs TyranoScript games (proprietary software). Ika’s Artemis engine dex and native libraries are taken from the original Tyranor 2.3.4 APK (com.akira.tyranoemu), used unmodified as a compatibility layer.
- Kirikiroid2 / Kirikiri Z by W.Dee — KRKR core (GPL)
- krkrsdl3 by luxiaoling-mc — Kirikiri Z + SDL3 build (Apache-2.0)
- ONScripter-EN by Ogapee et al. (GPL)
- onscripter-engine-android by matthewn4444 (GPL)
- SDL2 / SDL3 — zlib license