RPG Maker MV and MZ both have a built-in web deployment option. The output is a folder of HTML, JS, and assets that runs directly in a browser.
Export your game
- Open File > Deployment
- Select Web Browsers as the platform
- Choose a destination folder (e.g.
build/web) - Optionally check Exclude unused files to reduce build size
The output folder contains index.html, js/, data/, audio/, and img/ directories.
SDK integration
Wavedash injects WavedashJS before your game scripts run. You can call it from any plugin JS file or by adding a custom plugin.
Create a plugin file (e.g. js/plugins/WavedashBridge.js):
(function() {
var _Scene_Title_start = Scene_Title.prototype.start;
Scene_Title.prototype.start = function() {
_Scene_Title_start.call(this);
WavedashJS.loadComplete();
};
window.wavedashSubmitScore = function(id, score) {
WavedashJS.uploadLeaderboardScore(id, score, true);
};
window.wavedashUnlockAchievement = function(id) {
WavedashJS.setAchievement(id);
WavedashJS.storeStats();
};
})();
Register the plugin in Tools > Plugin Manager so it loads with your game.
Calling from events
Use the Script event command to call your wrapper functions:
wavedashSubmitScore("high-scores", $gameVariables.value(1));
Load progress
RPG Maker's built-in loader handles asset loading. To report progress to the Wavedash shell, patch the scene manager in your plugin:
var _SceneManager_updateScene = SceneManager.updateScene;
SceneManager.updateScene = function() {
if (this._scene && this._scene._active === false) {
WavedashJS.updateLoadProgressZeroToOne(0.5);
}
_SceneManager_updateScene.call(this);
};
wavedash.toml
game_id = "YOUR_GAME_ID_HERE"
upload_dir = "./build/web"
entrypoint = "index.html"
RPG Maker MV uses Pixi.js v4 and MZ uses Pixi.js v5 internally. Both work on Wavedash without modification.