RPG Maker MV: All About Plugins

cropped-rmmv-header-7174017This article is one chapter of a multi-part Cover Game feature!
<< First | < Previous


So you’ve got your basic game up and running, and now you want to add more to it? Great!

Aside from the other Event Commands available straight out of the box, most of which are relatively self-explanatory, the biggest addition to RPG Maker MV is the Plugins system.

Previous versions of RPG Maker from XP onwards have included various means of extending the basic engine’s functionality through scripting, but RPG Maker MV makes this enormously flexible aspect of the software more accessible and straightforward to use than ever before.

So let’s take a look at what plugins can do for us!

Simply put, plugins can do anything for us. Composed in JavaScript (as opposed to the Ruby-derived scripting language of XP, VX and VX Ace), plugins have the power to completely overrule anything in the standard RPG Maker MV engine, be it screen resolution, tile size, sprite size, screen layout, game mechanics, fonts and all manner of other things.

For today, we’ll focus on the plugins that are included with RPG Maker MV and what they can do for us. Once you get confident with using plugins, you can find a huge variety of additional ones available at the RPG Maker MV Master Plugin List on the Web. You may also want to check out well-known specialist plugin makers such as Yanfly, Himeworks and Victor Engine for some of the most popular, flexible and polished plugins to make your game flow exactly the way you want it to, and the RPG Maker forums offer a plethora of information on effective plugin use, often directly from the authors themselves.

MadeWithMV

The first plugin we’re going to take a look at is automatically included in all new RPG Maker MV projects from version 1.3.0 onwards. It’s a simple one, allowing for a “splash screen” ahead of your game’s main title screen appearing, by default showing a “made with MV” logo proudly proclaiming that you have made use of RPG Maker MV for your magnum opus.

This may be a simple plugin, but the way we interact with it is exactly the same as with more complex plugins, so it’s a good place to start understanding how to work with them.

To get started, hit the Plugins button on the RPG Maker MV toolbar.

plugins-button-3227433

That brings up the list of all the plugins you currently have installed in your project — the window is known as the Plugin Manager — and whether or not they are active. Right now, we only have the MadeWithMV plugin installed, so double-click that to bring up its parameters page.

plugins-parameters-6930810

There are two sections to this window. The top General Settings section allows us to view general information about this plugin, replace it with another one or turn it on/off as needed. The Help… button opens a text file with information by the plugin’s author about how to use it — assuming the plugin author has remembered to include it. (Most good plugin authors will include detailed instructions in the Help… menu, so it should be your first port of call if you’re not sure what to do.)

The bottom section of the window is where the magic happens: it contains the information we want to pass to the plugin in order for it to do its thing. Different plugins will have different things in this section according to what they do; some plugins might not have any parameters to set at all if they work in a different, non-global way. For now, though, we have seven parameters we can set for the MadeWithMV plugin. You can double-click each one to bring up its specific parameter window and adjust it if needed. The parameter window will also usually include a description of the parameter, its default value and the values it accepts.

parameter-1271564

Show Made With MV is the first parameter, and is an example of a boolean (true or false) parameter. “true”, in this case, means that the game should show the Made With MV logo before the title screen, while “false” would deactivate this functionality. (Note: it’s usually safest to input terms like “true” and “false” all in lower-case.)

Next up is Made with MV Image, which is a parameter that is expecting a filename (minus its extension). In this case, it’s looking for a file in the “img\system” subfolder of your project with the name given here; if you go look in that folder (“My Documents\Games\[your project name]\img\system” by default if you’re on Windows) you should find a file called MadeWithMv.png in that folder.

madewithmv-2764488

To replace that default image, we could either overwrite the MadeWithMv.png file by simply saving over it with the same name, or we could change the parameter to look for a different file. Let’s try the latter option, just in case we want to go back to the original one at some point; it’s often better not to overwrite default content (or at least make a backup of it!) just in case you do encounter problems and want to roll back.

For our new splash screen, we’ll need an image that is the same size as our game’s window resolution — in this case, the default size of 816×624 — and in the PNG format. Drop it in the img\system folder and give it a suitable name — splash.png is fine for our purposes right now.

Return to our plugin parameters and replace the text that says “MadeWithMv” to “splash”.

splash-4256120

If you press OK to confirm all these changes on the parameters and plugins window, then fire up your game, you should see the result.

Show Custom Splash and Custom Image work in exactly the same way as Show Made With MV and Made with MV Image. In practice, the first image doesn’t have to be anything to do with “made with MV”; this plugin effectively allows for up to two splash screens ahead of the main title, perhaps one for the publisher (if you have one) and another for the developer (that’s you!).

The last three settings, Fade Out Time, Fade In Time and Wait Time, bring up an important point with regard to how RPG Maker measures time, because this is standardised across the main program and its plugins. RPG Maker MV measures time in frames, and runs at 60 frames per second. This means that a “time” value of 60 is equal to one second. Armed with this knowledge, we can therefore deduce that the default settings for this plugin are to take two full seconds (120 frames) to fade the splash screen images in and out, and to keep it on-screen (“wait”) for just under three seconds (160 frames).

And there’s our first plugin. It may be simple, but it’s a good demonstration of how we pass information to the plugin through the Parameters window.

EnemyBook

The next plugin we’ll look at allows us to include a Final Fantasy-style bestiary for creatures we’ve defeated. This is a little more involved than the previous one, and will introduce us to two frequently used concepts in RPG Maker MV plugins: plugin commands and notetags.

First of all, we need to actually add this plugin to our game, though. Fortunately, that’s easy enough; open up the main plugins window again, double click in an empty space and choose EnemyBook from the drop-down Name menu in the General Settings area.

enemybook-8914301

You’ll notice that there aren’t many in the way of parameters for this one, compared to the previous one. That’s because this is a plugin that deals more with individual entries in the game’s database than having a global effect on the game. Click on the Help… button to see a quick rundown of how we interact with EnemyBook.

enemybook-help-4710101

We have two new concepts here: Plugin Command and Enemy Note. Plugin Command is a means of extending the Event Commands we looked at last time, and allows events to pass information and commands on to plugins we have installed. Enemy Note, meanwhile, shows us a means of adding additional information to entries in the game database above and beyond the fields it already provides for us.

If you’ve been following along since the beginning of our exploration of RPG Maker MV, you’ll recall our dungeon is currently populated with random encounters with slimes and bats, so let’s make sure their information in the Enemy Book is relevant.

Close the help window and OK your way out of the plugin windows to confirm our changes so far. Then hit the Database button on the toolbar.

database-9086747

The Database is the core of our RPG. It includes all the static information about everything in the game — player characters’ starting stats and progression curves; enemy stats; skills; items; even the terminology the game uses in its menu screens. For now, we’re concerned with the Enemies tab, so click that.

enemy-database-8398845

Here are the inner workings of our Bat. A lot of this is self-explanatory so we won’t delve into it in detail right now. What we’re primarily concerned with for the purposes of our plugin is the Note section in the lower-right corner. If we weren’t using any plugins at all, this box would simply be for your own internal notes about that enemy. Many plugins use this box as a place to pass parameters to a plugin or add additional information to a database entry above and beyond the fields RPG Maker provides for us. This is done through notetags.

Look back to our plugin’s help file and you’ll see it allows us to use a few different notetags: two to provide the description of the enemy in the Enemy Book, and one to prevent the enemy from appearing in the Enemy Book — good if you want to exclude bosses from the bestiary, for example.

For now, add a <desc1:[description]> (and, if desired a <desc2:[description continued]>) notetag to the Note section for both the Bat and the Slime. Then press OK to apply our changes to the game’s database and close the window.

notetags-7487195

That takes care of the information in our Enemy Book, but now we need a means for the player to actually view the Enemy Book, since the default RPG Maker game menu doesn’t include an entry for Enemy Book.

Let’s take the simplest approach to dealing with this and create an NPC who allows us to view our Enemy Book when we talk to them.

Create a new Event either in town or in the dungeon, give it a suitable graphic and make sure it’s not blocking any passageways. Add a brief Message event command to introduce the NPC and ask if the player wants to view the Enemy Book, then add a Show Choices event command.

event-4229585

This is a new Event Command we haven’t looked at yet; it allows the player to choose between up to six options, with the Event branching off down a different “path” for each possible choice. In this case, we want the “Yes, please” branch to show the Enemy Book, and the “No, thank you” branch to simply end the event. Note the additional options on the right; “background” works the same way as it does for Show Message, “window position” determines whether the choices appear on the left, centre or right of the screen, “default” denotes the choice that is highlighted when the choices first appear, and “cancel” denotes the choice that the player is assumed to have made if they hit the “cancel” button (ESC on the keyboard or B on an Xbox controller).

Our Event should now look something like this:

event-pseudocode-4165262

Double-click the line immediately after “When Yes, please” (highlighted in the screenshot above) to bring up the usual Event Commands window. Click on tab 3 of the available Event Commands, choose Plugin Command and enter “EnemyBook open” (without quotes, but with capitalisation exactly as shown) in the window that appears.

enemybook-open-2609587

Press OK when you’re done, and check your Event code looks something like this:

enemybook-pseudocode-9506424

Press OK to confirm our changes to the event and it’s time to playtest!

Pop into the dungeon and kill a monster or two, then re-emerge and talk to the NPC we added…

playtest1-1705201

…answer his question in the affirmative, and voila! One Enemy Book.

playtest2-6789444

Foreground

This last one’s a simple one, but it’s not installed in new RPG Maker MV projects by default, so it’s a good way to demonstrate how to install new plugins.

RPG Maker MV comes with a ton of bonus content that you can freely add to your games, but you need to know where to find it. By default, it’s in the “dlc” subfolder of your RPG Maker MV installation directory. If you installed through Steam, by default this will be “C:\Program Files (x86)\Steam\steamapps\common\RPG Maker MV”.

Navigate to the “dlc” subfolder, and the “KadokawaPlugins” folder inside that. Then look for “Foreground.js”, right click it and choose Copy.

foregroundjs-2703206

Then navigate to your project folder (My Documents\Games\[project name] by default), then into the “js” subfolder, and the “plugins” folder inside that. Paste Foreground.js into this folder.

Then go back into RPG Maker and add the new Foreground plugin to your project just like you added EnemyBook. Be sure to have a peek at the Help… option to find out the relevant commands for this plugin.

foreground-plugin-1400834

As you may have surmised by now, the Plugin Manager window checks the js\plugins subfolder of your project for plugins to use, and lists all available ones in the Name dropdown menu of the Plugin Parameters window. Note that just dropping a .js file into the js\plugins folder isn’t the same as installing the plugin; to install it fully into your project, you need to add it through Plugin Manager and make sure its status is ON.

There are no global parameters for the Foreground plugin; it’s driven entirely through notetags on maps. Let’s set up a simple fog effect for our town.

First thing you’ll need is an image for your cloud cover. Fortunately, I came prepared; right-click and save this image into the img\parallaxes subfolder of your project and call it clouds.png:

clouds-8521297

Foreground works through notetags, just like EnemyBook, but this time the notetags are on the maps rather than a database entry.

Right-click on our town map in the lower-left corner of the main RPG Maker window and choose Edit. That brings up the Map Properties page, the same as when we create a new map.

Add the following notetags to the Note section:

fg-parameters-1378337

fgName tells Foreground to look for a file in the parallaxes folder called “clouds.png”.

fgLoopX:1 tells Foreground that this image should be “looped” or “tiled” on the horizontal axis rather than simply stopping if we reach the edge of it. (fgLoopX:0 would turn this behaviour off.)

fgLoopY:1 does the same for the vertical axis.

fgSx:1 causes the image to automatically scroll horizontally a pixel at a time, giving the illusion of the clouds drifting slowly over the area.

fgSy:1 does the same for the vertical axis.

Altogether, these notetags mean “overlay a looping image called clouds.png on this map, and cause it to automatically scroll both horizontally and vertically.”

Playtest our game to try out the effect.

cloudy-6552725

Voila! Silent Hill got nothing on MoeTown.

Note that in order to successfully create an effect like this, the image you’re applying to the foreground must be at least semi-transparent, otherwise it will block the view of the game world entirely. Sometimes this is desirable — perhaps you want to overlay an interface on top of your game screen — but for creating environmental effects such as this, it’s worth bearing in mind.


That’s shown you how to make use of three plugins that are included with the RPG Maker MV base package. There are already hundreds of other plugins available for free on the Internet, so check the links at the start of this article for further information.

A word of warning, though; plugins can be addictive, and it’s very easy to add a million of them to your new project immediately, getting immensely overambitious in the process. The more plugins you have, too, the more potential things that can go wrong thanks to an errant typo or a missing file!

The best thing to do is to start small and complete a manageable, simplistic project, then gradually work your way up to creating your dream game. The tools are there to make pretty much anything you want happen; all you’ve got to do is use them!


More about RPG Maker MV

Find out more about RPG Maker MV and download the trial version on the official website.

If you enjoyed this article and want to see more like it, please consider showing your social support with likes, shares and comments, or financial support via my Patreon. Thank you!

Share your thoughts. Be nice!

This site uses Akismet to reduce spam. Learn how your comment data is processed.