WavedashDocs

RPG Maker

Deploy RPG Maker MV and MZ projects with the built-in Web Browsers exporter.

View the example on GitHub

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

  1. Open File > Deployment
  2. Select Web Browsers as the platform
  3. Choose a destination folder (e.g. build/web)
  4. 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.