Touchpaper — Elemental Surface Chemistry for RPG Maker MZ
A downloadable tool
Set fire to the grass and watch it decide what happens next.
Touchpaper gives every tile on your map a surface, a temperature, a wetness and a charge, and then lets those argue with each other. Nothing is scripted. There is no fire event and no ice event — the rules are properties of the materials, so combinations you never planned for still work.
- Set fire to dry grass and it spreads, leaves ash, and stops at a river.
- Soak a line of ground first and you have built a firebreak.
- Freeze a lake and the party walks across it. Thaw it and they cannot.
- Pour oil, light one end, and the whole trail goes up.
- Earth a shock through standing water and it hits everything standing in it.
- Throw fire at water and you get steam, not a burning lake.
And the ground remembers. A forest the player burned down is still burnt an hour later, and still burnt when they load the save — with the burn scar in the shape of the fire that made it.
⚠️ 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:
TouchpaperRng.js— [Touchpaper 1.0.0] Deterministic random number seam. Load anywhere; every other Touchpaper file finds it by itself.TouchpaperInk.js— [Touchpaper 1.0.0] The drawing kit: the palette every surface is mixed from, and the marks the painters are made of.TouchpaperField.js— [Touchpaper 1.0.0] The surface field itself: one surface, one temperature, one wetness and one charge per tile, and the rules that move them.TouchpaperPaint.js— [Touchpaper 1.0.0] One painter per surface state. This is the file that decides what fire, ice, oil and ash actually look like.TouchpaperCore.js— [Touchpaper 1.0.0] Elemental surface chemistry for RPG Maker MZ. Give the ground a state and let fire, water, frost, oil and lightning argue over it.
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 Touchpaper works in whatever order the Plugin Manager gives you. That is tested rather than hoped for: the headless suites, the store-plate renderer, the GIF renderer and the in-engine verification all load the five files alphabetically — which puts the entry file TouchpaperCore.js first, before the model, the painters, the drawing kit and the random seam it depends on — and the in-engine run asserts all five resolved anyway, with 5 plugins live in Scene_Map. TouchpaperCore.js is the only one that touches RPG Maker at all; the other four are a tile-state model, a set of painters, a drawing kit and a deterministic generator, and none of them knows the engine exists. Switch TouchpaperCore.js off and nothing is patched.
Core methods extended — 4 by saved-original prototype extension, none replaced: Game_Map.prototype.setup, Game_Map.prototype.update, Game_Map.prototype.isPassable, Spriteset_Map.prototype.createTilemap.
Because nothing is clobbered, Touchpaper co-exists with other plugins that patch the same seams, including large suites.
Five numbers, and everything else falls out of them
Each tile carries a surface (stone, grass, wood, sand, water, snow, mud, ash or oil), a temperature where 128 is ambient, a wetness, a charge and a fuel reserve. Above 190 a dry flammable tile catches; at or below 60 water freezes. One number carries both fire and frost, so a flame arriving at a frozen pond is a real fight rather than a special case.
That is why the reactions compose. Oil poured across grass and lit at one end will run the length of the trail, stop at the wet ground you soaked first, and leave ash in the shape of the trail. Nobody wrote that rule. It is what those five numbers do.
It ships no images
There is no tileset in this package, no atlas of fire frames, no PNG of a puddle. Every surface, every flame and every crack in a sheet of ice is drawn at the moment it is needed, from that tile's own state and its own position. Two tiles of the same charred grass are not the same picture, and the fire front breaks into fingers and pockets instead of advancing as a geometric wall.
44 distinct surface states the ground can actually be in — counted by driving the model through every input, not by multiplying a table.
Made for events, not for programmers
Every plugin command takes an X and a Y, and leaving them blank means the player's feet. A fire spell that sets the ground alight is one Ignite command in its common event. Nothing else is required.
Ignite · Chill · Douse · Shock · Pour oil · Set surface · Set wind · Reset this map
Surfaces are painted onto a map with the region tool, then mapped to materials in the parameters. A map you never touch costs nothing at all, because no field is created until something happens on it.
For conditional branches: Touchpaper.isBurning(x, y), Touchpaper.stateAt(x, y) and Touchpaper.surfaceAt(x, y). So “this door only opens once the brazier's fire has reached the oil” is one conditional branch.
It will not cost you your frame rate
The ground almost never changes, so almost nothing is redrawn. The surfaces are one cached bitmap repainted only on the tiles whose appearance actually moved, and at most a few per frame; flames and steam are a second, far cheaper layer over the top, drawn only for the handful of tiles actually doing something; the simulation runs once every six frames, not every frame; and nothing is allocated in the per-frame path.
Measured in a real RPG Maker MZ runtime with the map alight, over 300-frame runs: 0.234 ms mean plugin CPU per frame, 2.0 ms at the 99th percentile, and zero frames over the 16.67 ms frame budget. Display objects do not grow while it runs. If you want it cheaper, raise the simulation step; if you want it smoother, lower it.
What you get
- Five plain, readable, uncompressed JavaScript files. No minification, no obfuscation.
- Full documentation, including every parameter, every command and the whole material table.
- Commercial and non-commercial use in unlimited games. No royalties.
AI disclosure: this plugin's code and its store artwork were generated with AI assistance. It ships no third-party assets, no sound and no dialogue.
More RPG Maker MZ systems from Core Systems Asset Factory
Touchpaper changes what the ground is. These change what the player looks at:
- Liturgy — every menu becomes a printed object.
- Frontispiece — the title screen draws itself from the game you actually made.
- Chorograph — a drawn land survey of your world map.
- Barrow — every death carves its own marker.
- Verdict Core — the mystery-game layer MZ has no answer for.
| Published | 9 days ago |
| Status | Released |
| Category | Tool |
| Author | CSAF — Core Systems Asset Factory |
| Genre | Simulation |
| Made with | RPG Maker |
| Tags | elemental, environment, fire, JRPG, Physics, plugin, Procedural Generation, RPG Maker, RPG Maker MZ |
| Languages | English |
| AI Disclosure | AI Assisted, Code, Graphics |
Purchase
In order to download this tool you must purchase it at or above the minimum price of $14.99 USD. You will get access to the following files:








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