A downloadable asset pack

Buy Now$13.99 USD or more

Your game already delivers letters. It delivers them as a text box.

Epistolary turns every letter, writ, ledger page and ransom note into a physical document the player looks at. Paper with its own tooth and colour. A hand that belongs to the person who wrote it. A wax seal struck from that house's own matrix. Fold marks where it was carried, a postmark it picked up on the way, and the damage it took getting to you.

Then it becomes a system. Letters are posted and arrive later in game time. They are kept, and can be re-read. And they can be examined — because if a letter can be recognised, it can be forged.

The part that is a game, not a renderer

A letter claims a sender. Four separate things make it look like theirs: the hand it is written in, the device struck in the wax, the colour of the wax itself, and the paper stock. A forger has to get all four right.

Keep an exemplar of someone's writing and you can hold a new letter against it. The plugin names every tell it finds — "The hand is wrong. This is Spidery, where The Warden of Vell writes Ledger." — or tells you everything matches. A letter from someone you have never corresponded with comes back UNCHECKED, which is a real answer rather than a pass.

Nothing here is an image file

The plugin ships no art at all, and it uses no font. Every glyph is drawn stroke by stroke from 84 authored letterform skeletons through one of 12 hands, each with its own slant, pressure and tremor. Every seal is struck from 24 devices in 10 waxes — 240 distinct seals — with a raised lip, a pressed face and the squeeze of the strike. So a letter is drawn at whatever size you need it, it is never a bitmap, and it cannot inherit the engine's typeface the way stock message text does.

It is also deterministic: the same letter yields the same paper, the same seal and the same postmark placement on every run, forever. No seed to manage.

What ships

  • 84 glyph skeletons drawn stroke by stroke, through 12 hands — chancery, secretary, courier, ledger, tremulous, scholar, uncial, spidery, martial, copperplate, untutored and a cipher clerk trained to be unidentifiable
  • 24 seal devices x 10 waxes = 240 distinct seals
  • 10 paper stocks, 5 ways to fold them, 12 postmarks collected in transit and 8 kinds of age and damage — 12,000 document configurations
  • Two scenes of its own: the letter, and a letterbook of everything you have kept
  • Seven plugin commands: post a letter to arrive later, deliver one now, open a letter, open the letterbook, examine for forgery, keep an exemplar, break the seal
  • Four raw, readable, commented JavaScript files. No other plugin required

540 headless checks green, and verified in the real RPG Maker MZ engine rather than only in tests.


⚠️ 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. EpistolaryHand.js — [Epistolary 1/4] The pen. Hand-authored stroke skeletons drawn through a broad-nib pen model. Load FIRST of four. Draws nothing on its own.
  2. EpistolaryForms.js — [Epistolary 2/4] The corpus. Paper stocks, seal devices, waxes, postmarks, damage and folds, as hand-authored path tables. Load SECOND of four.
  3. EpistolaryDocument.js — [Epistolary 3/4] The composer. Turns a letter record into a physical document: stock, hand, seal, folds, postmarks and age. Load THIRD of four.
  4. Epistolary.js — [Epistolary 4/4] Letters as physical documents. Delivery over game time, a letterbook, and examination for forgery. Load LAST of four.

Order matters here and a wrong one fails loudly rather than silently: the files check their dependencies as they load and, if one is missing, print a plain-language error to the console (F8) naming what must load first, then stop — so you get a named message at boot instead of something obscure twenty minutes later. They must be consecutive, but where they sit relative to your other plugins does not matter — only the fourth file has parameters, and the first three are libraries with nothing to configure.

It extends exactly one core method, by saved-original prototype extension, not replaced: Game_Player.prototype.increaseSteps.

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


Works with the rest of the shelf

  • Verdict Core — the courtroom. A letter you proved was forged is an exhibit, and a contradiction is a thing you can put to a witness.
  • Armorial — generated heraldry. The device in the wax is the same argument one level up: a house that owns a mark.
  • Chronicle Core — the consequence engine. A letter that arrives three days later is a consequence with a delivery date.
  • Cipher Core — codes and ciphers. A letter that has to be decoded before it can be read.

Every one of these is a system rather than a utility, and none of them replaces a core method.

Purchase

Buy Now$13.99 USD or more

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

epistolary-mz-plugin.zip 55 kB
Version 1

Development log