Overview
This content is for the 0.1.0 version. Switch to the latest version for up-to-date documentation.
Ludens is a Compose Multiplatform wrapper developed in Kotlin, designed to help you bring your RPG Maker MV & MZ projects to mobile devices. It takes your HTML5 game export and wraps it in a modern native application, giving you full control over configuration and deployment for both Android and iOS.
What Problem Does It Solve?
Section titled “What Problem Does It Solve?”RPG Maker MV and MZ export games as HTML5 web applications. Traditionally, distributing these games to mobile users meant forcing them to play online via a browser, where games lack the native mobile experience that players expect — home screen icons, on-screen controls, performance settings, and proper standalone app distribution.
Ludens bridges this gap by providing a lightweight native shell built specifically for gaming. It loads your game in an optimized WebView and layers a complete set of mobile-specific, native UI functionalities on top.
Features
Section titled “Features”Optimized WebView
Section titled “Optimized WebView”Your RPG Maker game runs inside an Android WebView that is deeply integrated into the Compose Multiplatform UI. This WebView is specifically configured to reduce touch latency and optimize canvas rendering for games. It handles all core game logic and audio, while the native Compose layer seamlessly provides overlays, settings, and navigation without interrupting the engine.
On-Screen Controls (Overlay)
Section titled “On-Screen Controls (Overlay)”Ludens provides a configurable on-screen control overlay:
- Virtual Joystick — Directional input for character movement.
- Buttons A, B, X, Y — Configurable action buttons mapped to keyboard events that the RPG Maker engine recognizes.
- Opacity Control — Adjust the transparency of all on-screen controls.
- Position Control — Reposition individual buttons to suit your layout preferences.
Complete Settings Screen
Section titled “Complete Settings Screen”The built-in settings screen is organized into four sections:
| Section | Options |
|---|---|
| System | Theme (Light / Dark / System), Language (System / English / Spanish) |
| Tools | Mute Audio, Show FPS, Toggle WebGL, Button Positions |
| Controls | Enable/Disable, Adjust Opacity, Key Mapping |
| Actions | Configurable Quick Actions Menu (Order, Enable/Disable) |
Quick Actions Menu
Section titled “Quick Actions Menu”The quick actions menu provides fast access to common toggles without entering the full settings screen:
- Toggle Controls visibility
- Toggle Audio Mute
- Toggle FPS display
- Toggle WebGL rendering
- Open Settings
The order and visibility of these actions are fully configurable.
Easy Configuration
Section titled “Easy Configuration”All application identity properties are configured through gradle.properties:
- Application ID (e.g.,
com.yourorganization.game) - Version string
- Application name (shown in system settings)
- Launcher name (shown under the home screen icon)
Compose Resources
Section titled “Compose Resources”Game assets are managed through Compose Multiplatform’s resource system. You place your exported www folder in composeResources/files, and the build system handles the rest.
Platform Support
Section titled “Platform Support”| Platform | Status |
|---|---|
| Android | Supported (21+) |
| iOS | Coming Soon (iOS 13+) |
Tech Stack
Section titled “Tech Stack”| Component | Version |
|---|---|
| Kotlin | 2.3.0 |
| Compose Multiplatform | 1.9.3 |
| Compose WebView | 2.0.3 |
| Virtual Joystick | 1.0.0 |