Repository navigation
v3.7-Pre-Alpha
Pre-releaseAdd File → Build Project for Windows game packages/custom installers, directly playable game websites, and generated Android APK/AAB builds.
Website builds automatically package the active scene (including current edits), registered scripts, assets, game UI and a compiled WebAssembly runtime. Android builds generate a Gradle project containing that same game in an offline WebView app. Projects no longer need a web source folder or an Android template, and exported games need no game server.
The browser runtime reuses the shared game session, physics, scene lifecycle, Lua/QuickJS and GLES renderer. Add browser-safe GPU limits, asynchronous readback, WebGL procedure compatibility, PCM audio delivery and mouse/keyboard/touch input. Portable version-2 snapshots normalize paths and use fixed-width hash lengths; version-1 snapshots remain readable on their originating architecture.
Windows packaging retains the configurable Inno Setup designer with publisher/version, welcome text, license, icon, wizard image/style and shortcuts. The installer builder provisions the pinned Emscripten SDK when needed, builds the bundled browser runtime and packages its resources. Android generation includes a checksum-verified Gradle wrapper, package/version settings and optional release signing through environment variables.
Current target limits: direct web/Android exports support Lua 5.4, JavaScript and HTML/CSS behaviors. External desktop toolchains and standalone PHP pages fail with explicit export errors. Android requires a JDK, SDK platform 36/build-tools 36.0.0 and a recent WebView. Browser filesystem writes are in memory; native microphone/device-selection APIs are unavailable.
Browser build reliability: internal engine dependencies carry explicit versions, and bindgen SDK arguments preserve Windows drive separators and paths containing spaces. Compiler, C++ linker and archiver paths are resolved from the active SDK rather than assuming legacy Windows batch launchers. Browser and Windows installer builds run regression tests for SDK paths and tool resolution; the installer builds the browser runtime before the native editor so SDK failures surface early.
Validation:
- cargo deny --locked check: advisories, bans, licenses and sources all pass.
- All four Python SDK argument/tool regression tests pass; Clang resolves stdio.h through an SDK path containing spaces.
- Built the actual WebAssembly runtime with Rust 1.99.1 and Emscripten 6.0.13.
- Chromium smoke test passed: real scene rendering, Lua/JavaScript startup, keyboard movement, touch/object clicks and rejection of corrupted game files. Added this test as a required CI job.
- 199 native tests passed across the editor, desktop/browser runtimes, engine-play and renderer; desktop/GPU-only tests and the separately exercised fixture generator remain ignored by default.
- Formatting, locked metadata and Clippy completed; Rust 1.99.1 reports existing warnings outside the new feature code.
- 21 release-automation tests passed. Local actionlint could not run because the installed go executable is not the Go compiler; workflow syntax remains covered in CI.
All PR checks pass in CI run 41280847001, including both native engine jobs and direct browser exports. Windows CI ran the required installer command, produced fresh RusticGameEngine-Setup-0.1.0-x64-20261101-065245.exe, passed packaged Setup/toolchain tests and uploaded the windows-installer artifact. Android project generation is tested; SDK/device APK/AAB qualification remains required before release.