New RPG Maker functionality is added with each new instalment, but only very ‘carefully’. Thus, you may want to increase the design space and the visual appeal of your games by using plugins. For RPG Maker MZ, I highly recommend the VisuStella library. Here’s why.
The RPG Maker engine sees a new instalment every 5 years, give or take. That is, in my opinion, a reasonable frequency. However, the Japanese developers KADOKAWA have been rather conservative not only with new functions, but also with changes to the visuals. Some ‘upgrades’ barely felt like upgrades at all, which is a criticism often heard. Between VX and VX Ace, there were just a handful of functional changes, and even after several updates provided by the RPG Maker Web team, the publisher outside of Japan and, in a way, secondary developer, there’s still debate whether there’s a good reason to buy MZ if you already own MV.
There is a way to fundamentally alter your project even without any changes to the base engine, though: Plugins are (more or less extensive) pieces of code that alter basic functions or provide new ones. Theoretically, almost anything is possible with plugins, and many hobby developers have made valuable contributions to the RPG Maker community by writing and publishing plugins — most of them for free!
In the past, one creator has been especially busy writing a thorough library of plugins for RPG Maker VX, VX Ace and MV: Yanfly.
Yanfly is a mysterious guy (and that, too, has been a mystery for some time) who entered the scene during the RPG Maker VX era, but it was VX Ace that made him famous within the community. He wrote quite a lot of scripts (= plugins) for the engine, some of which he published even before VX Ace was officially released. He made them under inconvenient conditions, since the Japanese VX Ace trial version he used didn’t allow for editing scripts directly in the engine’s editor. In total, he provided the community with 106 scripts written in the Ruby variant RGSS3 – all for free.
For example, his scripts allowed developers to adjust the default screen resolution (which was 544 x 416 back in the days), add new battle commands or a barehand trait (for bonus effects if no weapon is equipped; often used for some kind of monk class), control the encounter rate a little better, improve menu layouts or scroll the map diagonally.
Yanfly retired after those 106 scripts, but was then asked to return to work on MV plugins by Archeia, another RPG Maker community luminary, if you will. Once again, his contributions proved his brilliance and conscientiousness as a programmer. However, after another 200(!) plugins (and some trouble over legal issues with his code being plagiarised) and a number of tutorial videos (for plugins, but also for various use cases), he retired for good as a plugin creator.
Plugins from VisuStella
He didn’t leave a vacuum, though: A team of programmers — VisuStella — basically took up his position. After an initial phase in which Yanfly acted as a director for the development of a new plugin library for RPG Maker MZ, he passed the baton to Irina.
The VisuStella plugins, of which there are 100 by now, have a tier structure: Tier 0 is the core engine. Tier 1 contains basic plugins with a variety of features that alter the default functionality in more or less meaningful ways. Tiers 2 to 5 contain premium (= paid) plugins with more specific use cases.
I’m going to tell you what you can do with the plugins and which ones I use for Wildsilver.
Tier 0 and 1
The core engine contains fixes for some of the RPG Maker MZ bugs that haven’t been fixed by the RPG Maker Web staff. In addition to that, it has some handy features that make life a lot easier, such as skipping the title screen when playtesting.
The Battle Core plugin enables ‘action sequences’ to spice up the battle animations and skill mechanics. I use this for the Wildsilver ultimates and some other skills like ‘Tackle’ as they involve sprite movement the engine isn’t capable of by default. The plugin also removes some redundant information from the battle log, which I am a big fan of.
Elements and Status Menu Core can be used to define, as the name suggests, elemental types — similar to the way the Pokémon games do it. Wildsilver takes the same approach as far as elemental resistances and weaknesses of enemies are concerned. The types configured with this plugin can also be used to, say, define large and small enemies, elite enemies and bosses and give all enemies of that category different modifiers, for example for EXP.
Next is the Events and Movement Core plugin which is a regular godsend. It simplifies so many things! For example, it lets you copy events from other maps. That’s a bit like common events, but you can also change all the event properties like the sprite or the movement style. In addition to that, you can extend event hitboxes. In general, you’ll need a lot fewer events and don’t clutter your maps as much. The plugin also gives you additional movement route commands such as ‘Fade In/Out’, ‘Move Down/Left/Right/Up Until Stop’ or ‘Move to: x, y’. (Some of these would have been very useful for puzzles in Game Master Plus).
Items and Equip Core, Main Menu Core, Options Core and Save Core all deal with menus. They let you change the layouts and add new functions. For example, you can now display character busts in the main menu, create custom item categories, adjust options for default functions and new functions provided by VisuStella plugins or use global switches and variables shared across save files, allowing for things like new game plus. (I’m not sure yet whether to add one for Wildsilver, though.)
Skills and States Core is one of the best plugins for developers who want to create a deeper battle system. With this plugin, you can remove or replace gauges, display turn counts on states, set custom damage-over-time and healing-over-time calculations or use passive states (with or without conditions like HP thresholds or items being in the player’s possession).
And finally, there’s Message Core, which gives you much more control over how message boxes are displayed and what’s in them. You can use new placeholders such as ‘\LastGainObj’ which, as the name suggests, displays the icon and the name of the object last gained (which can be a skill, an item or equipment), so you don’t need to manually type in the name of the item every single time — or find and replace all mentions of ‘Potion’ when you decide to change the item name to ‘Apple Gel’ later on. Awesome!
As far as VisuStella premium plugins are concerned, I’m using the following in Wildsilver:
- Aggro Control System: Used for the ‘Provoke’ skill that lets Gilbert draw enemy attention.
- Battle System ATB: This one improves the default ATB. For example, it allows for skills like ‘Rush’ that only deplete half of the ATB gauge so that the character gets another turn faster.
- Bright Effects: These effects greatly enhance the visuals across the board by adding a glow effect. It can be seen on every single map to varying extent. In addition to that, Bright Effects allows you to add godrays, which I use whenever possible.
- Common Event Menu: Common event menus are used for menus with a list of choices with conditions such as the list of passives you can learn from the Fairy.
- Enhanced TP System: Gives you more options regarding TP (which is called VP in Wildsilver). Each character having a different way of generating VP is easily set up with this plugin.
- Quest System: Well, it’s the quest system Wildsilver will use. You can see open quests with their progress as well as completed ones, including the objectives and the rewards. Handy!
- Visual Battle Environment: Lets you visually enhance the battle screen, by adding fog, for example. You can see this in action in the final battle of the Wildsilver Demo.
- Action Sequence Camera/Impact: Two plugins that allow for more effects in action sequences. I should really think about how to use this to the greatest effect, but that’s something that goes beyond the scope of the just-functional Wildsilver version I’m currently working on.
- Anti Damage Barriers: The Barrier (= Divine Shield) effect is done with this plugin.
- Battle AI: Makes enemies a little smarter. For instance, they won’t use buffs and debuffs on targets already buffed or debuffed, respectively. You can also add custom conditions for skills being usable.
- Enemy Levels: Well, this allows you to set enemy levels with parameter/EXP/Gold multipliers.
- Life State Effects: The Doom and Auto-Life effects are done with this plugin.
- Message Letter Sounds: This adds a sound for letters being drawn in text boxes, which mimics character voices to some extent. I always have to think of Illusion of Gaia for some reason.
- Skill Cooldowns: Guess what? This is for the skill cooldowns!
- Victory Aftermath: This improves the screen you see after a battle has been won. By a lot, actually. You really don’t want to return to the default way of showing EXP, Gold and drops.
- Visual State Effects: This allows you to add more visual effects to characters being buffed or debuffed. For example, the Stone state changes a character’s tone to grey.
- Visual Text Windows: Lets you display a text box anywhere on the screen at any size. In Wildsilver, this is used for the window that tracks your Blue Crystal rewards with checkboxes.
- Weapon Animation: With this plugin, you can add new weapon graphics easily. In Wildsilver, elemental weapons get their own graphics to remind you of that property. I should also add individual weapon animations for legendary weapons, I guess.
- Animated Map Destination: This is arguably the most unnecessary of the plugins I use, since it only changes that marker that shows the location the character is targeting in pathfinding mode (when you click somewhere on the map). But, well, it was there, so … might as well?
- Battle Cursor: Well, yes, this changes the battle cursor.
- Debugger: This one adds some tools for the developer that grant you control over switches, variables, inventory and stuff like that while playtesting. I think you absolutely need this or a similar plugin, since the default tools are quite limited.
- Encounter Effects: Used for some stealth sections to control what happens when Velven is spotted. I would love to see an update to this which lets me better control the movement of guards after they have spotted Velven, but oh well.
- Extra Enemy Drops: By default, you can only set 3 items to drop from an enemy. This plugin greatly extends your options. You can even set conditions for drops being added to the drop pool.
- Gab Window: While the EXP orb windows in Wildsilver are displayed, you can still move around. This plugins allows for that.
- Visual Fogs: It may be obvious, but this lets you add fog effects to create a spooky atmosphere.
- Visual Parallaxes: This gives you more options as far as parallaxes (backgrounds) are concerned. It also adds this neat water reflection effect we all love.
- Weakness Popups: Displays popups whenever an elemental weakness or resistance comes into play, so that the player actually knows if they’ve made the right call.
I’ve also added the Wanderlust series to the project which I am very excited about — my girlfriend can tell! — but haven’t tinkered with yet.
I’m not using the only tier-5 plugin, TileD, because I’m using the default map editor.
So, with all that laid out, why don’t we compare Wildsilver without and with the VisuStella plugins? We can only cover the visuals, of course. I think these images speak for themselves as to what impact using these plugins can have on your game, so without further ado …
Here’s the first map:
Here’s the main menu:
Here’s the victory aftermath scene:
The lighting gets way smoother, the menu layout is completely different and arguably way cooler than the default layout and the battle visuals, especially the window that shows EXP and drops, have been greatly improved as well.
What I’d like to see
With all these features making great impact on my game, there are still some things I’d love to see (many of which I have officially suggested to the VisuStella team). These include:
- Camera pans. Focussing the camera on a certain event and following it is a huge pain. Cutscenes could be made much simpler with a few more options to pan the camera in addition to the clunky Scroll Map event command. A VisuStella Camera Control would be awesome.
- Enter/leave the map. I would like to have the option for player and non-player characters to be positioned outside the map via movement route commands. Why is this not possible by default? This would be so useful for cutscenes. Or maybe to hide events that aren’t needed at the moment (though for this, there are already well-working possibilities).
- <Hide in Menu>. Do you want an NPC to follow the player like a party member without being a party member? Well, if there was the <Hide in Menu> notetag, you could just write that into an actor’s notebox to make him an NPC follower. Sadly, there is no such thing.
- <JS EXP>. It would be great if we could calculate EXP needed for each level with a formula by using this notetag for classes.
- <Sort after ID: x>. Sorting the database is very difficult in RPG Maker, since the references to database items aren’t updated automatically. This is especially troublesome if dealing with lists that are visible to the player in the game in the same order as the database items. For example, if you would like to include a new sword category (like Two-handed Swords or Katanas), you may want to have them sorted between the standard swords and the next weapon type. A notetag like <Sort after ID: x> would make it easier to sort them without any manual changes to all the references in the game. You could add the new swords at the end of the database list and then use this notetag to have them shown right after standard swords.
- Speech bubbles. It’s kinda possible with the options VisuStella provides for resizing and repositioning message windows, but I feel like it should be much easier to indicate that a character on the screen is speaking.
- Transfer mapping. It would be cool if Event Movement Core had a feature that would allow to place one transfer event and indicate how many tiles it spans (horizontally or vertically). You then choose the target location for the first transfer, and the other target points are offset by the distance of the player to the primary event.
(This list is to be continued whenever another would-be-useful feature crosses my mind, so be sure to check back regularly if you’re interested!)
VisuStella: highly recommended!
Can you make a good game without plugins? Well, sure.
But as you can see, the VisuStella plugins constitute a significant upgrade in terms of graphics, which have always been a huge point of criticism for RPG Maker games. Even though there are gamers who actively seek games with a retro/pixel art style, the majority will appreciate any kind of graphical upgrade.
In addition to that, VisuStella plugins greatly expand your tools as a developer, not only concerning game mechanics and design space, but also in regards to efficiency. Many tedious tasks become way easier with VisuStella. With the option to copy events from a central source or extending their hitboxes in any direction, your project stays much more orderly and assessable (and you should not underestimate the importance of this).
And so, if you’re looking for a plugin library with many widely usable functions, I do recommend at least looking into VisuStella. In my opinion, it’s well worth your money, no matter whether you’re serious about your game-making or just want to tinker around and see what RPG Maker MZ is truly capable of.
Tell me: Do you use VisuStella already? Are you now thinking about it? What other plugins can you recommend that improve the visuals or provide new functionality?