Verdant 07 — Interiors: Inn, Cottage, Workshop, Chapel & Study [16x16]
A downloadable asset pack
386 tiles. Six complete 47-mask autotile sets, 22 props that each ship twice, and three animated light sources. Verdant 01 gave you a grassland. 05 took you underground. 06 built the chapel on the hill. This pack is the inside of the buildings — floorboards, lime plaster, woven rugs, and the furniture of five rooms a player actually walks into: an inn, a cottage, a workshop, a chapel and a study.
It turns the lighting upside down, and that is the hard part
Every outdoor pack is a dark ground under a light sky. An interior is the other way up: the wall is the lighter surface and the floor is the darker one, because a wall catches the lamp and the floor is what everything stands on. Get that backwards at 16px and the room reads inverted — the pale border looks like ground and the dark middle looks like a pit.
So it is measured rather than eyeballed. Separation ratio = |midLuma(wall) − midLuma(floor)| ÷ span(floor), floor 1.0. Measured on the shipped ramps: plaster on boards 1.66 · masonry on boards 1.28 · plaster on flagstone 3.49. And again on the tiles themselves, because a palette measurement only proves what the ramps could do: shipped plaster reads at mid-luma 190.3 against shipped floorboards at 104.2.
What is in it
- Rug → floorboards — 47-mask autotile. The pack's signature transition.
- Rug → flagstone — 47-mask autotile. A rug is the one thing in an interior that lies on a floor rather than being one, so it transitions onto both.
- Floorboards → flagstone — 47-mask autotile. A dais, a raised hall, a room floored inside a stone shell.
- Plaster wall → floorboards — 47-mask autotile, with a wall face: a lit lip where the cap turns over, a shaded face below it, a cast shadow on the floor beneath.
- Masonry wall → floorboards — 47-mask autotile, faced. The workshop and the cellar.
- Plaster wall → flagstone — 47-mask autotile, faced. The chapel.
- 36 fill tiles — 4 floorboards · 3 knotted board · 3 end board · 4 lime plaster · 3 crazed plaster · 3 woven rug · 4 flagstone · 3 cracked flagstone · 3 ashlar masonry · 3 crypt brick · 3 moss.
- 24 animated light tiles — hearth, candle and lantern, 3 sets × 4 key frames, each frame in both a transparent and a grounded form.
- 22 props, 44 tiles — trestle table, bench, stool, ale barrel, crate, banded chest, bed, cauldron, washtub, cupboard, log pile, anvil, workbench, grindstone, stone altar, pew, stone font, lectern, writing desk, bookshelf, stack of books, chair.
Every prop ships twice, and that is a design decision rather than padding. crate.png is transparent — drop it on your floor. crate_on_plank.png is the same crate on our boards with the contact shadow between the two. A contact shadow has to darken something: drawn on transparency it reads as a hole in the floor, so a pack that ships only the transparent form cannot have shadows at all, and one that ships only the grounded form strands every buyer who has their own boards. The shadow under each prop is derived from the floor it stands on rather than painted a fixed grey, and it is scaled to the prop's base, not its widest part — a shadow sized to a cupboard's cornice reads as a puddle.
Every tile ships three ways: one PNG per tile in tiles/16x16/, role-grouped atlases in sheets/16x16/, and a machine-readable map of tile → role → material → sheet slot → animation frame in tiles.json.
What we measured — and what we did not
This is the part most asset pages leave out. Everything below is a number produced by a command, and the proof renders ship in proof/repetition/ so you can look at what the commands looked at.
- Exact grid — every cell exactly 16×16, every sheet an exact multiple. All 425 PNGs in the package checked.
- Palette lock — all 1,371,062 opaque pixels fall inside the declared 58-colour palette. Not measured afterwards: the generator physically refuses to write an undeclared colour.
- No anti-aliasing — alpha is strictly binary across 2,169,088 pixels. No halo, no soft upscale, no partial transparency anywhere.
- Autotile completeness — 282 mask slots checked across all 6 sets. Every one of the 256 possible neighbour arrangements maps to a tile that exists.
- Tile roles — 772 tile records checked: every tile declared, every declared tile present, every sheet slot in bounds.
- Proof freshness — all 36 shipped 4×4 repetition renders re-checked against the tiles they sit beside. A proof that has drifted from its subject is worse than no proof.
- Series safety — 2,275 tiles across all seven previously shipped Verdant packs rebuilt byte-identically with this pack's colours loaded. If you own the earlier packs, nothing you have changed.
Honestly bounded — please read this rather than assuming.
- Seams. Every tile's wrap boundary is measured against its own interior, and every 4×4 repetition was rendered and reviewed by eye. We do not claim "mechanically proven seamless" — the statistical test is a floor, not a proof, and we would rather tell you what it actually catches than overstate it. Every fill tile is built from fields and lattices that close over the cell by construction, which is a stronger guarantee than the test; that holds for fill tiles, not for transition tiles, which are built to tile against their declared neighbour instead.
- RPG Maker MZ. The A2 sheet composes correctly against MZ's own autotile table — parsed out of the engine's
rmmz_core.js, not a copy of it — with 288/288 shapes byte-identical and 282/282 masked tiles consumed. MZ is not installed on our build machine, so we do not say "verified in RPG Maker MZ". - Godot. The
.treswas loaded and verified in Godot 4.7.2 (headless): 12 atlas sources, 386 tiles, every texture resolved, every region 16×16, all 26 multi-cell footprints exact. Not exercised: the editor GUI, painting on aTileMapLayer, or a running game. - Tiled. The
.tsxfiles are written to the documented schema and parsed back for well-formedness. Tiled is not installed here, so they are not "verified in Tiled".
Known and stated, because you will meet it the first time you build a room: a wall tile carries one rim material baked into it — plaster_on_plank shows floorboards where the wall ends, plaster_on_flag shows flagstone. So a wall cell with boards on one side and stone on the other cannot be drawn correctly by any tile in this pack, or in anyone else's. Put two cells of wall between a boarded room and a flagstone one, and let the two floors meet across a doorway threshold instead, where plank_on_flag draws the join properly. The sample map is built to that rule and says so.
Engine importers
importers/ carries ready files, not just raw art.
RPG Maker MZ. Load verdant-07-interiors_A2.png into your tileset's A2 slot and all six terrains become paintable autotile brushes — one click lays terrain and the engine picks the transition. verdant-07-interiors_A2_slots.json says which slot is which. B/C object sheets carry the props and everything that is not an autotile. Compatibility: built and checked against RPG Maker MZ tileset geometry (48px tiles; A2 768×576, B/C 768×768), measured off the engine's own runtime files. These are image assets, not a plugin — no Plugin Manager entry, no script call, nothing to order, so there is no conflict possible with VisuStella MZ Core Engine or any other plugin suite. Import through Database → Tilesets exactly as you would the stock RTP sheets. Works with stock MZ out of the box.
Tiled. One .tsx per sheet in importers/Tiled/, each with its image beside it. Open the .tsx directly, or add it to a map as an external tileset.
Godot 4. importers/Godot/verdant-07-interiors.tres is a TileSet resource with all 12 atlas sources pre-built. Drop the folder into your project and assign the resource to a TileMapLayer.
The animated light
An interior has exactly one family of things that move, and it is the light. Furniture does not move, and animating it would be motion for its own sake. The hearth, the candle and the lantern each play 0, 1, 2, 3 on a loop. The stone, the dish, the lantern frame and the mantel are byte-identical in every frame — only the flame's lean, its tip height and where its hottest pixels sit are functions of the animation phase. A flame is always widest low and always pointed on top, in every frame.
The sample map
A 44×22 building in one frame, shipped as sample_maps/sample_map_01.png and sample_map_01.json: an inn common room with trestle tables and benches, a cottage with a lit hearth and a bed, a masonry-walled workshop with anvil and grindstone, a flagstone chapel with an altar, a font and eight pews down a woven runner, and a study lined with shelves. 77 props placed, 105 of the 386 tiles load-bearing, all six autotile sets and all three animated sets used.
The JSON is the part that matters. It lists every cell as a tile id, every prop in draw order, and a legend — so you can rebuild the map in any engine, edit it, or just read it to see how a finished map is actually assembled. It is generated by rebuilding the picture from the JSON alone and demanding a byte-identical result, so it cannot drift from what you see. It is self-contained: every tile it names ships in this pack.
The series
Same 16px cell and one shared palette across all of them.
- Verdant 01 — Overworld — grass, dirt, sand, stone, water
- Verdant 02 — Elevation — plateaus and cliffs
- Verdant 03 — Worlds — snow, desert, volcanic
- Verdant 04 — Tidewater — coast, river and marsh
- Verdant 05 — Depths — dungeon, cave and crypt
- Verdant 06 — Gothic — chapel, graveyard and ruin
- Verdant Props — 70 props across ten biomes
- Verdant 07 — Interiors — this pack
- Verdant Forge — the generator itself, if you want to make your own
- Verdant 00 — Sample — free, 64 tiles, if you want to try the style first
This pack ships Verdant 05's flagstone and moss and Verdant 06's ashlar and crypt brick byte-identically rather than referring to them — so the chapel and cellar work on their own if this is your first Verdant pack, and lay flush against Depths and Gothic if it is not. Stated here rather than hidden, because a cross-pack reference you are told about is a series; one you are not is a missing file.
Licence
Commercial use permitted, unlimited projects, no royalty, no attribution required. You may not resell or redistribute the tiles as an asset pack, and you may not use them to train a generative model. Full terms in LICENSE.txt.
AI disclosure
Graphics: generated programmatically. Every tile was produced by original software written by Core Systems Asset Factory, from a hand-authored palette, hand-authored motifs and hand-authored material rules. No diffusion or image-generation model was used, and no third-party artwork is incorporated. Sounds: none. Text and dialog: none. We tag this pack as AI-assisted because the software that draws the tiles was itself written with AI assistance. We would rather over-disclose than have you find out later.
Purchase
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:











