A downloadable asset pack

Buy Now$9.99 USD or more

Your characters have relationships. RPG Maker has nowhere to show them.

Most relationship systems for RPG Maker MZ keep a number per pair and show it as a number, a bar or a heart in a menu list. The bond that matters most in your story looks exactly like the one that matters least.

Tether draws every bond between your characters as a cord you can read at a glance. Each character is a gilt medallion holding their own face graphic. Each bond is a cord between two of them, and the cord's material says what kind of bond it is, its weight says how strong, its knots mark the events that shaped it, and a bond under strain frays. Drawn in code when the chart opens, from values your game already keeps.


⚠️ 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. TetherRead.js — Tether [2/3] — the reader and the layout solver. Turns relationship values into bonds and places the cast on the chart. Knows nothing about RPG Maker.
  2. TetherRender.js — Tether [3/3] — the painter. Draws each bond as a cord of real material (silk, rope, chain, wire, ribbon), frayed when strained, knotted at the events…
  3. Tether.js — Tether [1/3] — the chart scene, parameters and commands. Every bond between your characters, drawn as a cord of real material. v1.0.0

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 Tether works in whatever order the Plugin Manager gives you. That is tested rather than hoped for: the headless suites, the capture pipeline, the engine gate and a fresh install of the shipped zip into a blank project all load the three files alphabetically — which puts the entry file Tether.js first, before the reader and the painter it uses, and that is the order you get by dragging the folder in. Tether.js is the only one that touches RPG Maker at all; the other two are a reader that turns values into bonds and places the cast, and a painter, and neither knows the engine exists. Switch Tether.js off and nothing is patched.

Core methods extended — 4 by saved-original prototype extension, none replaced: Scene_Boot.prototype.start, Game_System.prototype.initialize, Window_MenuCommand.prototype.addOriginalCommands, Scene_Menu.prototype.createCommandWindow.

Because nothing is clobbered, Tether — every bond between your characters, drawn as a cord co-exists with other plugins that patch the same seams, including large suites.

What the chart shows

  • Love is silk, friendship is rope, an oath is chain, a rivalry is barbed wire, family is ribbon. Five materials that differ in structure, not just colour, so they read in a glance even at twelve characters.
  • Six weights. The bond's value places it on six tiers (thresholds are a parameter): a thread of silk at tier 0, a heavy glossy cord at tier 5; a light chain or a heavy one; small barbs or big ones.
  • Knots are events. List switches on a pair and every switch that is ON ties a knot labelled with the switch's own name from your database. Or tie one with the Strike Knot command, in your own words. Oaths are padlocked instead of knotted; family ribbons are tied in bows.
  • Strain. A love, friendship, oath or family bond whose value falls below zero is strained: silk and rope fray, a chain hangs one broken link, barbed wire snaps and curls back. Set Strained forces it.
  • The ledger. The panel beside the chart counts every kind of bond and names the strongest pair of each. Choose a face and it lists that character's bonds instead, each as a length of its own cord, while the rest of the chart dims.

It reads the system you already have

Tether draws; it does not decide. If your game (or a relationship plugin you already use) keeps a value per pair in a variable, list the pair in the Pairs read from variables parameter and Tether draws what that system decides. If you have no system, use Tether's own small bond record through five plugin commands: Open Chart, Set Bond, Add To Bond, Strike Knot and Set Strained. A pair with neither gets no cord. It never invents a relationship.

On a brand new project

Drop the three files in and the main menu gains a Bonds command. On the stock database it opens a chart of your party, with their own face graphics, and says No bonds yet. One Set Bond command and the first cord appears. That exact sequence is tested from the shipped zip in a blank project, through the engine's own plugin command path.

The order around the ring is solved

Up to twelve characters sit on one ring, so every cord is a clean chord of the circle; thirteen to sixteen sit on two rings. Tether orders the cast around the ring to make as few cords cross as it can, and places every knot label clear of the faces and of each other.

It does not look like RPG Maker

The chart is its own scene with zero windows: no windowskin, no stock cursor, no default font. A velvet page with a gilt rule, a brass title plate, gilt medallions and two bundled display faces (Marcellus SC and Sorts Mill Goudy Italic, both under the SIL Open Font Licence). Verified in the engine by a detector that is itself proven to fire.

It costs almost nothing per frame

The chart is drawn once when it opens and again only when the player chooses a different face. At rest it re-uploads nothing: measured in the real engine at 0 texture uploads per frame, with the scene's own update averaging under 0.1 ms, for twelve and for sixteen characters.

What you get

  • Tether.js, TetherRead.js, TetherRender.js: raw, readable, commented JavaScript. Nothing minified.
  • Two display faces and their OFL licence files.
  • A Readme covering every parameter, command and behaviour, and the licence: unlimited games, commercial or free, no royalties.
  • Twelve parameters (title, menu command, extra cast, pairs from variables, tier thresholds, your own words for each kind and more) and five plugin commands.

Honest about what it is not

  • It is not a relationship mechanic: no gifts, no affection events, no dialogue. It is the visual layer over the numbers you already keep.
  • A chart holds up to sixteen characters; past that, the party and the first names in your cast list are charted.
  • The portraits in these images are demonstration art and are not included. The chart uses your actors' own face graphics; an actor without one gets a monogram.
  • Made with AI assistance: the code and the graphics. No sounds and no story text ship with it; every name and knot label on the chart is yours.

Also from Core Systems Asset Factory

  • Lineage: the family tree your game's dynasties grow, drawn from your database.
  • Hearsay: what each character believes, and who told them.
  • Intertitle: every place and every boss announces itself with a card drawn from its data.
  • Lucidity: sanity, stress and hallucination for your party.
  • CAIRNWAKE: our own RPG, where where you stand is what you do.

Purchase

Buy Now$9.99 USD or more

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

tether-mz-plugin.zip 78 kB
Version 1.0.0

Development log

Leave a comment

Log in with itch.io to leave a comment.