Skip to content
Ludens Ludens Ludens 0.4.0

Overview

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.

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.

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.

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.

The built-in settings screen is organized into four sections:

SectionOptions
SystemTheme (Light / Dark / System), Language (System / English / Español / 中文 / 日本語 / Português (Brasil) / Русский)
ToolsMute Audio, Show FPS, Toggle WebGL, Button Positions
ControlsEnable/Disable, Adjust Opacity, Key Mapping
ActionsConfigurable Quick Actions Menu (Order, Enable/Disable)

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.

When enabled, Ludens catches runtime JavaScript errors and native resource load failures in the WebView. Instead of failing silently or showing a black screen, it displays a native traceback dialog overlay containing complete debug logs, allowing developers or players to:

  • Copy the complete traceback to the clipboard.
  • Reload the WebView and restart the game instantly.

Ludens includes an integrated App Icon Generator that compiles your launcher icon assets for all target platforms from a single source image (SVG or PNG) in project/assets/icons/:

  • Android: Legacy icons, square icons, and adaptive layers (foreground/background) in res mipmap folders.
  • iOS: All required asset sizes with the proper JSON manifest catalog.
  • Google Play: High-resolution store listing icons.

All application identity, resources, and build properties are configured through ludens.properties:

  • Application ID, version, and name (for system settings and launcher)
  • Automated App Icon Generator config (format, background color, scale)
  • Immersive mode, hardware acceleration, and cleartext traffic manifest flags
  • Target compile-time languages selection (ludens.languages.available)
  • Custom body and display fonts, plus language-specific fallbacks
  • WebView runtime error diagnostics traceback toggle

Game assets (project/www/), custom fonts (project/assets/fonts/), and localized translation files (project/assets/languages/) are automatically synchronized to Compose resources during compilation, keeping your workspace clean.

PlatformStatus
AndroidSupported (21+)
iOSComing Soon (iOS 13+)
ComponentVersion
Kotlin2.3.0
Compose Multiplatform1.9.3
Compose WebView2.0.3
Virtual Joystick1.0.0