A lot of games these days offer a rumble mode that activates in response to certain game events (an explosion set off during a major plot twist, getting knocked out during a fight, or simply taking a hard fall to the ground) and this plugin has been designed to bring that experience to RPG Maker.
Since the launcher that ships with MV doesn't have the necessary functions that allow the plugin to work, you will need to patch MV with a compatible version of NW.JS. If you use the automated patch tool, the launcher will be replaced during setup with a 64-bit runtime stack deprecating any environment versions prior to Windows 7. (Don't worry about the prospect of problems, though - as long as your install and project are 1.6.x or newer the official NW.JS redistributable and the MV launcher are completely interchangeable. But then again, you should at least back up the default launcher files before installing.) You can also download the plugin separately, if that's all you need. Note that this only applies to MV - the necessary bits were added to NW.JS between the release of MV and MZ so obviously the functionality is already there in MZ. Therefore you do not need to patch MZ.
Using the plugin
To activate the rumble feature in a given event or scene, use the following script call:
Strong is the maximum velocity of the effect's magnitude.
Weak is the exact opposite: the weak end of the effect.
Time is defined in milliseconds, so 1000::1 and 5000 is 5 seconds. (Get it?)
Note that neither weak nor strong can go over 1.0, and that magnitude values of 0.1 are completely ignored (and for obvious reasons). Also, the values for weak and strong can be reversed and still work properly.
- Currently the automated installer does not properly detect the Steam version of RPG Maker MV from the Windows registry. The installer will assume the default install location for Steam as a workaround, and I have also have included a manual verification system in case you need it.
- The installer cannot back up your existing NWJS packages. I strongly recommend that you do so before installing, 'cause once you're done there's no going back.
- It is possible for Microsoft SmartScreen to block the automated patch tool in the Chromium version of Edge. This is a "false positive" condition; the download is completely safe and only serves to automate the process of patching the launcher files.
- RPG Maker MZ is not supported by this release.
- v1.0: Initial RTM
- v1.1: Unanticipated bugfix
- v1.2: Added control switch assignment to change rumble mode status
- v1.3: Small change to accommodate the possibility of a crash when a gamepad is disconnected. Also set the maximum supported values to eliminate possibility of the effect not working if set too high or too low.
- v1.4: Replaces control switch with option menu function, and directs the effect to the most recently-used gamepad. A very special thanks to YoraeRasante for this update.
- v1.5: Added verification to detect the availability of a supported gamepad. As of this update, the functions will not be available if gamepad detection fails.
- v2.0: Added code and instructions for the Universal Windows interface, as well as for mobile device rumble. Additionally, the commercial license now uses a "pay your way" model; you can download without charge from any of my authorized storefronts, or pay as you believe the plugin is worth.
- v2.1: Changed the mobile device rumble call because of an unforeseen issue with the detection method. Also updated with bugcheck detection for the Universal Windows instructions in the event that a gamepad is not detected by the system.
What's up with the automated patch tool?
Since the NW.JS package that ships with RPG Maker MV does not have the necessary updates that are required for the plugin to work properly, the automated patch tool downloads a compatible version of the NW.JS and updates your game files accordingly. This allows you to use the updated package for both testing and distribution without having to do it later on. Since they're basically the same thing, you can patch the files without any effect to your testing and deployment provisions. (Obviously you can also patch manually by downloading from the NW.JS website.) Note that this is only required for MV as it is older than MZ and lacks the necessary code for the plugin to work. With MZ you can use the plugin right away.
What reasoning does the NW.JS update provide as part of the install process?
If you're on 64-bit, you can take advantage of improved access to your system resources beyond the 3GB combined access limit, making for improved game performance. Also, it is required in order to guarantee the complete availability of the gamepad servicing libraries for NW.JS that allow for the plugin to work properly.
Is RPG Maker MZ supported?
Yes. RPG Maker MZ has been tested and is fully compatible. Note that because MZ is newer than MV, you will not need to patch MZ to use the plugin.
What should I say if my customers are complaining of rumble malfunctioning?
Provided the gamepad has a rumble feature there shouldn't be an issue. But in rare cases, making a change to the rumble option while the gamepad is connected may desync the rumble feature. If this occurs, simply unplug and reconnect your gamepad to cycle access to the rumble interface.
I have a console-targeted game project. Does the plugin support console rumble?
The code is primarily aimed at NW.JS which does not support game console deployment. For this use case you may need to add separate code to read the state of the rumble parameters or implement your own, with the sole exception of Xbox builds which are covered in the Building for Xbox help section. There is also a rumble call for mobile devices.
How do I resolve compiler and/or script errors or game crashes in UWP builds?
The rumble event handlers for Universal Windows must be added to a WinRT component project independently of the main app in order to work; however the project can still be hosted in the same solution for as long as it is referenced by the host app. You must also set both the host project and the WinRT component project to require Windows 10 build 14393 as a minimum release target.