IMPORTANT NOTICE

The current version of the plugin doesn't support RPG Maker MZ, but this is now being considered. In addition, such that requirements on my end have changed then so too has the plugin. As a result of this, version 2.0 is officially back in play and adds mobile device rumble and an interface with instructions for Xbox use. See below for more information.

About the plugin

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 MV.

Release history:

  • 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.

  • v1.4: Replaces control switch with option menu function, and directs the effect to the most recenty-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.

  • v1.6: Community circulation revoked and user requirements changed. You must have a license to use the plugin and can no longer freely distribute or modify its code. Note that this only applies starting with version 1.6 and does not affect existing users.

  • v2.0: Adds support for mobile device rumble, and provides instructions and code to support Xbox through Universal Windows projects. Also marks the official shift of the paid license to a "what it's worth" model (though it is now entirely optional).

Getting Started

Because the launcher that ships with MV does not have the required functions that allow the plugin to work, the installer version will patch a compatible version of NWJS over the MV defaults as a precaution. Second, the default launcher package will be replaced 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 NWJS 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.

Using the plugin

To activate the rumble feature in a given event or scene, use the following script call:

Rumble(strong,weak,time)

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.

For example:

Rumble(1,1,1000)

Rumble(0.4,0.2,500)

Rumble(0.3,0.6,5000)

Q&A

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.)

What reasoning does the NWJS 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.

Why limit licensing to Windows platforms?

Unfortunately since OpenGL is not automatically installed on macOS anymore it would be difficult to gauge compatibility. Furthermore, the Apple support requirements in the October 2019 amendments to the official developer agreements mandate all apps to be distributed in x64 packages (meaning that legacy x86 code will not run at all on macOS Catalina, or any later versions for that matter).

Is RPG Maker MZ supported?

This is not yet covered, but will enter testing status in a future release.

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.

My UWP build failed to compile, or I'm receiving an undefined function error.

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 17763 as a minimum release target. Refer to the following external help link:

https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.Controls.WebView

Download now

itch.io

Gumroad