A downloadable tool

Buy Now$12.99 USD or more

The Souls loop for RPG Maker MZ. Rest at a shrine. Fall. Walk back for what you dropped.

Developers have been building this loop by hand for years: a bonfire that heals and saves, enemies that come back when you rest, a place to spend what you carry, and a bloodstain where you died that gives it all back if you reach it. Built from events, it needs a bloodstain event on every map and breaks when you die on a different map from your last rest. Vigil is the whole loop as one plugin set, and it draws every part of it itself. Tag an event <vigil: shrine> and a shrine stands on that tile. No image files ship with Vigil and there are no common events to write.


⚠️ 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. VigilShrine.js — Vigil [1/3] — the shrine painter. Composes and draws every rest shrine from a seed: form, fuel, relic and weathering. No image files. v1.0.0
  2. VigilEcho.js — Vigil [2/3] — the echo. Remembers the party leader's last steps and, where they fell, raises a ghost of that leader that replays the fall. v1.0.0
  3. Vigil.js — Vigil [3/3] — the Souls loop for MZ. Rest at drawn shrines to heal and raise the fallen enemies, spend what you carry at the altar, and when you fall…

Core methods extended — 10 by saved-original prototype extension, none replaced: Game_System.prototype.initialize, Game_SelfSwitches.prototype.setValue, Game_Interpreter.prototype.command301, Game_Troop.prototype.setup, Game_Enemy.prototype.paramBase, Game_Event.prototype.start, Game_Player.prototype.increaseSteps, Game_Interpreter.prototype.command353, Spriteset_Map.prototype.createCharacters, Spriteset_Map.prototype.update.

Because nothing is clobbered, Vigil 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.gainExp, SceneManager.goto. Another plugin patching those keeps working.

One deliberate exception, in one mode: with Currency carried set to Embers, battle EXP is held as embers, so the engine's own EXP award (BattleManager.gainExp) is not called. A plugin that changes how battle EXP is awarded will not see it in that mode. With gold or a variable it is called as normal. Game Over is caught at SceneManager.goto, the one door battle, map and slip-damage wipes all use; your own Game Over event command passes straight through unless you turn on Catch event "Game Over".

Shrines the plugin draws

  • Built from your map. A brazier, a cairn, a ward lamp, a standing stone or a root-bound idol, burning pine, peat, bone, oil or coal (orange, marsh green, pale blue, gold and crimson fire), with a relic beside it and weathering on the stone. The map, the event and the region choose, so the same project always draws the same shrine in the same place; a notetag chooses for you instead.
  • Banked until you rest there, then kindled for good.
  • Light that ignores the dark. The fire, its glow and the light it throws on the ground are drawn above your screen tint, so at night the shrine is the light in the scene. By day it is a soft warmth. It still fades out and flashes with the screen.

Rest

Resting heals the party, makes the shrine the place it wakes, autosaves if your project allows it, and brings back the enemies you tagged, on every map: <vigil: respawn>, <vigil: respawn stronger> (every parameter up a step each time, to a cap) or <vigil: never>. An encounter counts as defeated the usual way, when it turns its own self switch on.

The altar

Resting opens the altar, a full scene with no stock RPG Maker windows. The shrine you rested at burns at its foot, your party leader stands beside it, and what you carry is heaped there as a mound of embers. Choose a party member and spend on a level or on any of the eight parameters, each labelled with your own database's terms; an offer card shows what you would buy, from what to what, and for how much. Carry gold, a variable, or embers: in embers mode battle EXP is held instead of applied, and a level costs exactly what MZ's own EXP curve asks. Prices are formulas you can change. Keyboard, gamepad, mouse and touch all work, and the layout fits your screen size, from MZ's stock 816 by 624 up.

The fall and the echo

When the party wipes, in battle or on the map, there is no Game Over. A death plate appears in your project's own Game Over music, showing what stays behind, and the party wakes at the last shrine, healed. Everything it carried stays where it fell, inside an echo: a ghost of your party leader made from your own walking sheet, drained of colour and shedding embers. Come within three tiles and it replays the last steps the party took on that map. Walk onto it and embers burst from the spot as everything comes back. Fall again first and it is gone. If the party has not rested anywhere yet, or your own event calls Game Over, the game ends as you wrote it.

Tested in the real engine

Run in RPG Maker MZ's own runtime from the exact zip you download: real battles started by encounter events, every respawn rule, a wipe in battle and a wipe on the map by poison, the wake, the echo replayed and reclaimed on the same map and on another, every parameter named in the Readme, all four plugin commands, the save round trip, and installed into a fresh MZ project with the stock database. On our test town at dusk, with a lit shrine and an echo replaying its steps, MZ's frame gate counted 19 draw calls per frame, no texture uploads, no bitmap redraws and nothing created per frame, over 600 frames, three runs. The town in these screenshots is our own test tileset and the townsfolk are our own test sprites; Vigil ships neither and draws over whatever your maps use.

In the zip

  • VigilShrine.js (the shrine painter), VigilEcho.js (the steps and the ghost) and Vigil.js (the loop): raw, readable, commented JavaScript. Any Plugin Manager order works.
  • Readme_for_Users.md and LICENSE.txt (use it in any number of your own commercial or free games).

From the same studio

  • Barrow: every death your game records, a fallen party member, a permadeath or a boss put down, carves its own marker in a memorial ground the player can walk.
  • Bivouac: every enemy band stages its own battle ground, drawn beneath and behind the battlers from the troop that is fighting.
  • Cloudshadow: the drifting shadows of passing clouds over your maps, shaped to each map.

AI disclosure: this plugin's code and graphics were made with generative AI; every shrine, fire, echo and scene is drawn by that code at run time. It ships no sounds and no story text.

Made by Core Systems Asset Factory.

Purchase

Buy Now$12.99 USD or more

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

vigil-mz-plugin.zip 32 kB
Version 1

Development log