Barrow — every death carves its own marker
A downloadable asset pack
Keep your permadeath plugin. This is the part the player comes back to visit.
Your game already produces deaths. Barrow does not add a death mechanic and does not compete with the free permadeath plugins — keep whichever one you use.
Barrow is the part those plugins do not have: the object.
For every death it records, a marker is carved. The form, the stone, the surface dressing, the letter cut, the device, the epitaph, the weathering and the lichen are all derived from who died, how, where, and how long ago. Then it lays the markers out in a ground the player can walk, oldest at the back.
Nothing is a picture file. There are no images in this package. Every marker is drawn by the plugin at run time.
⚠️ 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:
BarrowRender.js— Barrow [1/4] — drawing primitives. Seeded RNG, colour maths, and the cut-stone lighting model: v-groove walls, dressed surfaces and rounded arrises…BarrowCorpus.js— Barrow [2/4] — the corpus. 12 marker forms, 8 materials, 5 period letter cuts over an authored capital alphabet, 6 dressings, 8 weathering states, 6…BarrowStone.js— Barrow [3/4] — the marker renderer. Composes one grave marker: form outline, stone grain, tooled dressing, rounded arrises, carved device, v-cut…Barrow.js— Barrow [4/4] — Every death carves its own marker. Records the deaths your game already produces and lays out a memorial ground the player can walk…
This order reads sensibly in the list and nothing depends on it. Every file resolves its siblings the first time it needs them rather than when it loads, so Barrow works in any order you drag the four files in. That is tested rather than hoped for: the suite loads all six permutations, including the alphabetical one that puts the entry point before everything it depends on, and requires an identical marker out of each. It is also how the in-engine verification runs.
Core methods extended — all 2 by saved-original prototype extension, none replaced: Game_System.prototype.initialize, Game_BattlerBase.prototype.die.
Because nothing is clobbered, Barrow co-exists with other plugins that patch the same seams, including large suites.
The lettering is cut, not written
Every stroke is a v-groove — two wall planes, each with its own surface normal, under one raking light. Two things follow that you do not get by drawing dark text.
A stroke's contrast depends on its angle to the light. A groove running across the light is strongly modelled; one running along it very nearly vanishes, because both of its walls tilt perpendicular to the light and shade the same. Measured on the shipped renderer: 0.97 against 0.00. That is what a real inscription does in late sun, and it is why the horizontals of these capitals read more strongly than the verticals.
Weathering is the cut getting shallower. As a marker ages the groove wears, its walls rotate back toward flat, the contrast between them collapses, and the epitaph becomes genuinely harder to read. Nothing is faded or alpha-washed — the stone is simply less deeply cut than it was.
And because different rocks erode at different rates, the same span of time does different amounts of forgetting. Slate holds a crisp inscription for centuries; limestone loses one inside a lifetime. Two graves of the same age, side by side, remember unevenly.
Walk toward the back of a ground and the stone itself changes, because a parish does not quarry the same rock forever.
What is in it
- 12 marker forms — stele, cross slab, obelisk, sarcophagus lid, hogback, urn plinth, ossuary niche, grave board, iron marker, field stone, cairn, tumulus. A cairn is a heap. A tumulus is turf. A niche is a hole in a wall. None of them is a grey rectangle with a rounded top.
- 8 materials — granite, slate, limestone, sandstone, marble, ironstone, oak and wrought iron, each with its own grain and its own erosion rate.
- 5 period letter cuts over an authored alphabet of 43 Roman capital glyphs, drawn as stroke centrelines so they can be cut rather than set in a font. Including a folk hand with a wandering baseline — the work of a neighbour rather than a mason.
- 6 surface dressings — punched, claw-tooled, rock-faced, polished, bush-hammered, riven.
- 8 weathering states, 6 lichens, 12 carved devices, 26 epitaph formulae.
It reads your project, not mine
The boss threshold is derived from your own database. Barrow reads $dataEnemies, takes the median exp, and treats anything at a multiple of it as exceptional — so "important death" stays correct whether your bosses are worth 100 exp or 100,000. Nothing is hard-coded to my test project.
Weathering is measured against your ground's own span by default, so the oldest grave is the most worn whether your campaign ran two game-years or two hundred. A memorial ground always has depth in time. (Absolute game-time is available if you want it.)
Leave a name blank and you get an unmarked grave, with one of the nameless-grave epitaphs and a humbler marker. It is the most affecting stone in any burial ground and the cheapest to cut, which is exactly why real ones are full of them.
Use it in three lines
- Record a death — plugin command, for NPCs and anything offscreen. Name, standing, cause, place, at whose hand.
- Open the memorial ground — the player walks it.
- Party and boss deaths are recorded automatically if you want them to be.
<!-- COMPAT BLOCK — generated by Internal_Ops/compat_block.js, inserted after the opening pitch. Every figure in it is derived from the shipped source, never typed. --> {{COMPAT_BLOCK}}
Honest notes
- The lettering reads better on pale stone. A v-cut on limestone shows more than twice the wall-to-wall contrast of the same cut on slate. That is true of real inscriptions too — it is why churchyards are full of pale limestone — but it does mean a slate marker is a quiet one.
- Demand for this was inferred, not measured. The death mechanic is well served on MZ and free (Aerosys Perma Death, MK_PermaDeath), and MK_Gravestone spawns an event whose entire stated scope is "this Plugin does nothing more than spawn the Gravestone" — using your own tileset art. I built Barrow because the object does not exist, not because anyone asked for it. That is a real risk and you should know it before you buy.
Made with AI
Code: yes. Graphics: yes — everything is drawn in code; there are no image files. Sounds: no — this plugin ships and plays no audio. Text and dialogue: no — the epitaph formulae are authored data, not narrative writing.
More from Core Systems Asset Factory
Barrow sits beside the rest of the MZ catalogue at https://csaf.itch.io — including Sigil Core (procedural spell seals), Niello (generated arms and armour plates), Hallmark (maker's punches), Herbarium (botanical plates) and Facet (cut and lit gems). Same approach in all of them: the product generates the art, and there are no PNGs in the box.
| Published | 4 days ago |
| Status | Released |
| Category | Assets |
| Author | CSAF — Core Systems Asset Factory |
| Made with | RPG Maker |
| Tags | assets, death, Generator, gravestone, javascript, memorial, plugin, Procedural Generation, RPG Maker, RPG Maker MZ |
| Languages | English |
| AI Disclosure | AI Assisted, Code, Graphics |
Purchase
In order to download this asset pack you must purchase it at or above the minimum price of $9.09 USD. You will get access to the following files:








Leave a comment
Log in with itch.io to leave a comment.