Acron games now ship to Android and the web as well as the desktop, C++ games run on the Nintendo Wii as homebrew, RmlUi interfaces take touch and gamepad input, and the engine renders Gaussian splats. Here is a summary of what has landed in the engine and its tools over the past months. The manual has the details for each platform.

New platforms

Android

A game can now be built as an Android app for phones and tablets with a 64-bit ARM processor and Android 7.0 or later. It renders with OpenGL ES 3 and plays sound through OpenAL Soft.

  • Python games are packed by build_apps into an app bundle (.aab) and a signed APK; C++ games are compiled against the Acron Android SDK into a signed APK.
  • acronmanager dist --android builds it, and acronmanager run --android installs it on a connected device or emulator and starts it.
  • Games run full screen, turn with the device, and treat the system Back button as Escape.
  • Every finger is reported; the first one drives the pointer, so taps click where they land, and the engine's GUI takes several fingers at once, each pressing its own button. TouchGamepad puts a themable gamepad on the touch screen that reads like any other input device.

The web

A game can be exported as a static web site: an HTML page, the game compiled to WebAssembly, and its files. It renders with WebGL 2 (WebGL 1 as a fallback) and plays sound through Web Audio.

  • Python games are frozen with build_apps for the emscripten_wasm32 platform onto a prebuilt CPython web runtime — nothing is compiled on your machine.
  • C++ games use the web SDK, with content packs for their files.
  • acronmanager dist --web zips the site; acronmanager run --web serves it locally.

The Shinjuku Station Indoor demo is a C++ program built this way.

Nintendo Wii (homebrew)

C++ games can run on the Wii from the Homebrew Channel, or in the Dolphin emulator. The Wii SDK brings a GX hardware renderer, sound on libogc's ASND mixer, and input from Wii Remotes — with the Nunchuk, the Classic Controller and the IR pointer — and GameCube controllers, for up to four players, with rumble. It is built with devkitPro, and acronmanager dist --wii produces a zipped Homebrew Channel app. The Wii runs no Python.

Desktop

  • A prebuilt desktop C++ SDK with CMake presets and a CMake package (find_package(Acron)), so C++ games build without compiling the engine.
  • The engine builds for Windows on ARM64.
  • A Vulkan display pipe ships alongside OpenGL, as an opt-in.
  • The engine wheels are built for Python 3.14.

Interfaces and input

RmlUi, the HTML/CSS interface library built into the engine, now takes input from touch screens and gamepads as well as the mouse and keyboard: a tap clicks, a drag scrolls with inertia, and a gamepad moves the focus and presses buttons. A C++ menu example that builds for the desktop, the web and Android ships with the SDKs.

Rendering

  • Gaussian splats: acron.splats renders .sog (SOG v2) and 3DGS .ply scans, with spherical harmonics, anti-aliasing, an optional linear-light path, and a native back-to-front sorter. A shader hook lets a program move or reshape the splats. Splats need OpenGL 4.1, so they are a desktop feature for now.
  • PBR: acron.simplepbr is the engine's PBR backend, with a GLSL ES path for the web and Android.
  • Offscreen buffers: multisampled offscreen buffers work on WebGL 2, and offscreen buffers work on Android.

Physics, networking and audio

  • ENet: reliable-UDP networking with connections, channels and per-packet delivery guarantees, from Python and C++, carried in the engine's datagrams.
  • Ragdolls: a small Verlet ragdoll solver for characters that fall and come to rest.
  • Acoustic zones: acron.audiospace crossfades baked stems as the listener moves between zones.

The acron Python layer

The game mechanisms that grew out of our own ports are now part of the engine as the acron package: collide-and-slide character movers, a fixed-step game loop with render interpolation, a spring-arm camera, input maps with rebinding, gamepad helpers, RmlUi and HUD helpers, save-file helpers, and a 2D tier for tile platformers.

For bringing a Godot game across, acron.gdformat reads Godot scenes and resources, tile sets, sprite frames, AnimationPlayer tracks, particle emitters and the input actions of project.godot, so ported code can stay close to its GDScript. This layer is still evolving.

Tools

  • App icons: acronmanager assets makes every platform's icons and the store art from one picture — Android adaptive icons and web icons included.
  • CI: acronmanager ci init writes a GitHub or Gitea Actions workflow that builds every target.
  • The launcher exports for the web and Android, and makes icons and store art, from a project's page.

Getting it

Open the launcher, pick the newest engine version for your project, and the launcher updates it. New to Acron? See Get Acron.