A downloadable tool

Buy Now$14.99 USD or more

Every enemy attack becomes a dodge. When an enemy uses a skill that damages your party, the battle pauses and a framed arena opens. The player steers a small heart through that enemy's attack: embers spiralling out of a burning point, a wall of feathers with one gap, leaves sweeping across, rings of notes. Every hit the heart takes scales the damage. Touch nothing and the attack misses.

Nothing to author. Barrage composes every attack from the database you already have. What flies comes from the skill's element name (Fire throws embers), else the enemy's own name (a Crow throws feathers), else its strongest stat. How it flies is one of seven patterns chosen by the skill's hit type and scope. How dense and fast comes from the attacker's stats against the median of your own Enemies database, and a boss attacks in phases. Notetags override any of it.


⚠️ Compatibility — the question you actually have

Tested against RPG Maker MZ with the stock scripts unmodified, verified by running the plugin in the real engine rather than only in tests.

Plugin Manager order:

  1. BarrageCore.js — Barrage rules: reads an enemy and its skill, and composes the attack the player must dodge. Load FIRST.
  2. BarrageDraw.js — Barrage's look: every projectile form drawn in code and baked once into one atlas. Load after BarrageCore.
  3. Barrage.js — Every enemy attack becomes a dodge phase composed from that enemy's own database entry. Load after BarrageCore and BarrageDraw.

This order reads sensibly in the list and nothing depends on it. Every file resolves its siblings the first time a battle needs them, so Barrage works in whatever order the Plugin Manager gives you, including the alphabetical order you get by dragging the folder in, which puts the entry file Barrage.js first. That is tested: the in-engine probes on all five sample troops, the frame-cost gate and a fresh install of the shipped zip into a blank MZ project all load the three files alphabetically. Barrage.js is the only file that touches RPG Maker; the other two are the rules and the drawn forms, and neither knows the engine exists. Switch Barrage.js off and nothing is patched.

Core methods extended — 6 by saved-original prototype extension, none replaced: Spriteset_Battle.prototype.isBusy, Scene_Battle.prototype.createAllWindows, Scene_Battle.prototype.updateLogWindowVisibility, Scene_Battle.prototype.terminate, Game_Action.prototype.makeDamageValue, Game_Action.prototype.itemHit.

Because nothing is clobbered, Barrage co-exists with other plugins that patch the same seams, including large suites.

It also extends 2 methods on core singletons, the same way — original saved and called through: BattleManager.setup, BattleManager.updateAction. Another plugin patching those keeps working.

Seven patterns, eighteen drawn forms

  • Patterns: rain, sweep, wall, spiral, ring, bounce and aimed. Each kind of skill (physical, magical, certain hit; one target or several) has three, and enemies take them in turn by their database id, so neighbouring enemies never attack alike.
  • Forms: ember, shard, spark, droplet, pebble, leaf, mote, wisp, blade, bone, feather, needle, stone, orb, coin, thorn, fang and note. No image files: every projectile is drawn in code and baked once into one texture.
  • Bosses: an enemy with 3 times the median Max HP of your database attacks in two phases of different patterns, three at 6 times.

Every attack can be dodged

A solver in the tests proves that every pattern at every tier has a path no shot touches, and a search finds one through every aimed attack. Shots that appear inside the arena fade in and cannot hit until they are solid; a spiral's burning source is on screen before its first arm. After a hit the heart blinks for 45 frames and cannot be hit again.

What the player gets

  • Arrow keys, a gamepad, the mouse or a finger: hold anywhere and the heart follows.
  • A drawn arena frame, never a window skin, with the attacker's name above it, a hit flash and shake, and a verdict when it closes: UNTOUCHED and MISS, or the hits and the damage they did.
  • No hits is a miss; each hit adds half the skill's damage, up to one and a half times (both adjustable).

What is in the box

  • Three plain, readable JavaScript files: BarrageCore.js (the rules), BarrageDraw.js (the drawn forms) and Barrage.js (the battle phase), plus a user guide with every table the plugin reads.
  • Parameters: a disable switch, damage per hit, damage cap, a seed, the heart's shape (heart, diamond, star) and colour, and the label typeface.
  • Notetags on an enemy or a skill: <Barrage Form: ember>, <Barrage Pattern: ring>, <Barrage Tier: 3>, <Barrage Boss>, <Barrage Off>.
  • RPG Maker MZ. Built against MZ's own battle system; not yet tested with VisuStella's Battle Core.

How it was tested

Installed from the exact zip you download into a blank MZ project, the three files loading alphabetically, on MZ's own sample troops and their own AI: real keyboard, mouse and touch, every claim in the guide checked against the plugin, and an adversarial pass (bad parameters, a stat-less nameless enemy, leaving a battle mid-attack, resizing mid-attack). On the heaviest attack the plugin can compose, the whole battle scene draws in 31 draw calls a frame with no display object created per frame.


From the same studio

  • Vista: every battle draws its own arena, a backdrop composed from the troop and the map ($14.99).
  • Bivouac: every enemy band stages its own ground ($14.99).
  • Sigil Core: every spell in your database gets its own drawn seal ($12.99).
  • Warhost: army battles with generated soldiers under generated banners ($14.99).

AI disclosure: the code and the graphics of this product were made with AI assistance. It contains no audio and no narrative text.

Purchase

Buy Now$14.99 USD or more

In order to download this tool you must purchase it at or above the minimum price of $14.99 USD. You will get access to the following files:

barrage-mz-plugin.zip 31 kB
Version 1

Development log