Tileforge v2: from loose PNGs to a finished MZ tileset

======================================================== TILEFORGE v2 — Tileset builder for RPG Maker MZ Instructions & Quick Start ========================================================

Tileforge turns loose PNGs into drop-in RPG Maker MZ tileset sheets AND the database data that goes with them (sheet names + passability). One project = one complete MZ tileset.

Everything runs in your browser. Nothing is uploaded. No install, no account, no internet (except the optional AI feature, which talks only to YOUR local Ollama).


1. WHAT’S IN THIS DOWNLOAD

tileforge.html The whole tool (one file). Instructions.txt This file.


2. OPENING THE TOOL

Double-click tileforge.html. It opens in Chrome, Edge or Firefox and every feature works — except the AI “Generate” tab, which needs the page served from localhost (see 9).


3. THE 60-SECOND WORKFLOW

  1. Pick a SHEET SLOT (left panel): B–E Objects, A2 Ground, A4 Walls, A3 Roofs, A5 Normal or A1 Water.
  2. Add art to it: drop PNGs, SLICE a sheet, or GENERATE.
  3. Repeat for other slots — they all build together.
  4. Check the three tabs: Sheets · Paint test · Database.
  5. Click EXPORT ZIP (top right).

The badge on each slot shows how many items it holds. Sheets rebuild live as you change anything.


4. SHEET SLOTS (what goes where)

B–E Objects 768×768 props & furniture, packed into cells A2 Ground 768×576 32 ground autotiles per sheet A4 Walls 768×720 24 walls (144px top + 96px face) A3 Roofs 768×384 32 roof/building autotiles A5 Normal 384×768 plain lower-layer tiles, 8×16 A1 Water 768×576 static liquid fill only

B–E sheets are packed as two 8-column halves — exactly how MZ shows them in its tile palette — so no object is ever split across the seam. B tile 0 stays blank (MZ requires it).

A1 is MZ’s ANIMATED slot. Tileforge only makes a static fill; for real animated water use Tile Animation Forge.


5. ADDING ART

FILES Drop PNGs (or click the drop zone). They go into the slot that’s currently selected.

SLICE Drop ONE asset sheet. Tileforge finds every object, removes the background and cuts clean pieces. Background modes (Auto detects for you): White solid white backgrounds Transparent real alpha transparency Checker a checkerboard PAINTED into the pixels — common in AI “transparent” PNGs. Cut by colour; output is solid. Sliders: Tolerance strip halos / soft shadows Min size drop specks Merge gap fuse split pieces (lower it if neighbours merge) Edge cleanup shave anti-aliased fringe The preview shows the EXACT cut-outs you’ll get. “Add objects” or “Add & view sheets”.

GENERATE Build a themed set with a local LLM (see 9).

Drag thumbnails to reorder. Click one to edit it.


6. EDITING AN ITEM (Selected panel)

Click a thumbnail — or click the object on a sheet. Name used in tooltips / exported data Footprint Auto (from Options) or a custom W x H Passability Smart ☆ on upper cells, X on base row ☆ draws above characters X blocked O walkable Counter X + counter (shops / bars) Terrain tag, Bush, Ladder (+ Counter / Damage on autotiles) Flip horizontally Wall-top texture (A4 only): use another texture as the wall’s top cap — e.g. brick face + plank top Duplicate · Mirror copy · Move to another slot · Remove


7. OPTIONS

Objects / A5: Snap scale to the nearest whole tiles (fills cells) Native keep exact pixels, pad to whole cells Fixed force every object to one W x H footprint Anchor Bottom (sits on the ground) / Center / Top-left Packing Tight (fewest sheets) / Keep order (your order)

Autotiles (A2 / A3 / A4): Texture fit Fit width / Tile / Stretch Edges None / Outline / Soft / Bevel — gives your autotiles real MZ-style borders, corners and inner corners. Width, strength, colour. Wall-face shade / Wall-top lift (A4) for depth.

Seamless (tileable) textures make the cleanest autotiles.


8. THE THREE TABS

SHEETS The finished PNGs. Hover for name, cell and MZ tile ID; click to select. Toggle the grid, the passability overlay (○ ✕ ★) and zoom.

PAINT TEST Your autotiles painted on a test map using MZ’s own corner rules — convex corners, inner corners, a hole, a lone tile. Walls stand on your A2 ground. Objects are shown at true scale. If it looks right here, it looks right in MZ.

DATABASE Tileset name and mode, the 9-slot assignment and a passability summary. Download the tileset entry, or LOAD YOUR PROJECT’S data/Tilesets.json and get it back patched (see 10).


9. AI GENERATION (optional) — “Generate” tab

  1. Serve the page from localhost: put tileforge.html in a folder, open a terminal there and run python -m http.server 8000 then open http://localhost:8000/tileforge.html
  2. Ollama URL: http://localhost:11434 → Connect. (NOT an ollama.com link — that’s the cloud service.)
  3. Pick a text model — code-capable models give the cleanest results (e.g. a recent qwen2.5-coder or llama3.1).
  4. Theme, categories, tiles per category → Generate set.
  5. “Add generated tiles to my tileset” drops each category into its slot (Objects → B–E, Ground → A2, …).

Painter: LLM→SVG works everywhere. “Image model” uses Ollama’s experimental image models (not on Windows yet).

If Connect fails, the message tells you why — usually CORS: serve from localhost as above, or set OLLAMA_ORIGINS=* and fully restart Ollama.


10. EXPORT + INSTALL INTO RPG MAKER MZ

EXPORT ZIP contains: img/tilesets/*.png ………… your sheets data/Tileset_.entry.json tileset entry + flags data/Tilesets.json ………… only if you loaded yours README_TILEFORGE.txt ………. slot list + steps

QUICK INSTALL (images only) 1. Copy img/tilesets/*.png into /img/tilesets/ 2. MZ → Database (F9) → Tilesets → assign each sheet to the slot shown in the README. 3. Set passability in the editor.

FULL INSTALL (images + passability, one step) 1. In the Database tab, load /data/Tilesets.json and pick “New tileset” or an existing one to overwrite. (Only the slots you built are replaced.) 2. Export ZIP. 3. CLOSE RPG Maker MZ — it rewrites data files on save. 4. Back up /data/Tilesets.json. 5. Copy the PNGs into img/tilesets/ and replace data/Tilesets.json with the one from the ZIP. 6. Reopen the project — the tileset is ready to paint.

A tileset holds one sheet per slot. If you build more (e.g. B, C, D, E, B2), the extras are still exported and flagged as “overflow” — put them in a second tileset.


11. PROJECTS

SAVE writes .tileforge.json (all art + settings). OPEN (or drop the file anywhere) restores it. NEW starts empty. Your options are remembered between sessions automatically.

Shortcuts: Ctrl+S save · Ctrl+E export ZIP Del remove · Ctrl+D duplicate · Esc deselect


12. TROUBLESHOOTING

Objects merge into one box when slicing → Lower Merge gap. For AI sheets, make sure the background reads “checker” (or pick Checker). An object splits into pieces → Raise Merge gap. Holes / missing colour in an AI-sheet object → Use Checker mode. Paint that is exactly the checker’s colour AND touches the background can still be cut; fix those few pixels in an image editor. A white box or halo around objects on the map → Use Slice, raise Tolerance or Edge cleanup, and keep fitting on Snap so objects fill their tiles. Autotile edges too faint / too strong → Options → Edges: change style, width or strength, then check the Paint test tab. Walls look like one flat block → Give the wall a different top (Wall-top texture) or raise Wall-top lift / Wall-face shade. AI “Connect” fails though Ollama is running → CORS — see section 9. Generated set has few or no tiles → The model returned bad JSON. Try a code-capable model.


Support / feedback: comment on the itch.io page. Happy mapping! ========================================================


Originally posted on itch.io. See it on RPG Maker Market →

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top