A downloadable tool

Buy Now$11.99 USD or more

RPG Maker will happily show the player ancient writing. It will not make them earn it. A picture of runes, a switch, a translated message — the engine can fake a mystery, but it cannot make a language a puzzle. Cipher Core can: glyphs render untranslated in ordinary message windows and on carved surfaces, the player presses rubbings of what they cannot read, guesses meanings from context, and the moment a guess is proven the glyph resolves — permanently, everywhere, in every text box in the game.

Heaven's Vault and Chants of Sennaar, as an engine for your project.

A complete language in the box

Cipher Core does not arrive empty. Eldrin ships whole: 122 glyphs built from 14 radical families, 10 validation anchors, and a 20-inscription story corpus — the tale of a drowned moon-temple, told entirely in a language your players cannot read yet. Because every glyph is one radical frame plus differentiator strokes rendered from vector paths, the whole script is one hand, one weight, one visual grammar. Related meanings look related — which is exactly what makes deduction playable instead of guessy.

The loop

  • See. Write \LEX[sea] in any message and it renders as an untranslated glyph. Open a carved surface with one plugin command — stone, wood or parchment — and every glyph on it is pressed into the notebook.
  • Learn. When the scene around an inscription hands the player a meaning — a tide table by the harbour, a mural of the flood — you teach the concept. Taught concepts form the pool the player can guess from.
  • Guess. In the Lexicon, the player commits a guess from the carousel. Guesses are visibly provisional — and a wrong one that keeps failing to fit will begin to strain: “…but it does not sit right.” No softlocks from an early mistake.
  • Prove. At an anchor you author — a mural, a bilingual stone, a ritual — the group validates. Every correctly-guessed glyph resolves with an ink-bloom, fires your switch, and reads as its meaning forever: as a gloss under the glyph, as styled translation, or as a proud untranslated glyph. Your choice, per game.

Resolution policy is yours too: anchor (the Sennaar model, default), corroborate-N (a correct guess locks after N distinct sightings), or instant.

The rubbing-book

The Lexicon is a field notebook, not a menu: charcoal rubbings grouped by family so shared anatomy sits side by side, a detail page with the glyph's family hint, sighting count and current guess, and the ink-bloom when a meaning fixes. The book grows leaves as it fills — a page holds about thirty rubbings and the cursor turns the leaf at its edge.

The puzzle is fair — measured, not hoped

A language puzzle that cannot be solved is a refund. Eldrin's corpus ships with its solve-probe numbers pasted beside it in the source: from zero knowledge, all 10 anchors are deducible in any reachable order; in strict story order they unlock at inscriptions 1, 2, 5, 9, 11, 13, 13, 16, 18 and 20 — a steady drip, no dead zone. 31 of the 38 anchor glyphs are sighted in two or more places before they are needed. Every family has at least two glyphs in the corpus, so family-deduction is always demonstrable.

It does not look like RPG Maker

Aged paper, charcoal, carved basalt and one luminous unread ink — every colour is a parameter, so restyling the product to your game's palette is a handful of fields.

There is no windowskin, no default font and no Window_Base anywhere in either scene. That is a measured claim, not a description: the engine gate walks the live display list and counts zero RPG Maker windows on screen. Every rubbing is baked once and animated by moving sprites — a fully populated two-leaf notebook costs 4 draw calls a frame.

What ships

  • Three plugin files — the language engine and inscription scene, the Eldrin language, and the Lexicon. Raw, readable, fully commented JavaScript. Nothing is minified.
  • 7 plugin commands, an inline escape code (\LEX / \CIPHER), and parameters for inks, policies and display modes.
  • Eldrin, whole: 122 glyphs, 14 families, 10 anchors, 20 inscriptions — and it doubles as the documentation for authoring your own language. Smaller additions need no JavaScript at all: Your words and Your anchors extend it from the Plugin Manager.
  • 81/81 checks green, including 39 in-engine verifications in the real MZ runtime.
  • A full Readme with install, the loop, and the authoring model.

It plays well with what you already have

The message pipeline is the most patched surface in MZ, so Cipher Core enters it additively: every patch extends and calls the saved original, unknown escape codes fall straight through, and the engine's own codes (\G, \V, \N, \P) are verified unbroken in the shipped test run. Progress lives in a versioned plain-data record in the normal save file — proven byte-identical through a save/load round trip. No Math.random() anywhere: the same book, the same stone, on every machine.

Requirements

RPG Maker MZ. Not compatible with MV.


The rest of the shelf

  • Sigil Core — drawn spellcasting: the player's hand, where Cipher Core is the player's mind.
  • Verdict Core — evidence, contradictions and a case you can actually solve. A deciphered document makes a fine exhibit.
  • Chronicle Core — the consequence engine under your quest log.
  • Colosseum Core — tournaments, rivals, seasons and belts.
  • Chimera Core — breeding and genetics, with Battle and Field beside it.
  • Bazaar Core — the economy underneath your shops.
  • Aperture Core — an in-game camera and a developing album.
  • Loop Core — the world resets, the player does not.
  • Voyage Core — sea travel as gameplay: wind, cargo, storms and ports that remember.

Built by CSAF — Corey & Stephanie's Asset Factory. This plugin's code and store artwork were produced with AI assistance. It ships no audio and no in-game narrative text.

Purchase

Buy Now$11.99 USD or more

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

cipher-core-mz-plugin.zip 35 kB
Version 1

Development log