Yotsuba Games
Back to Guide
Guide

Tiles & Maps (Tile Studio)

Tile Studio covers the whole flow from authoring tile assets to painting layered maps and exporting game-ready data. This chapter is the overview; each step has its own detailed chapter:

  1. Building Tile Assets (Tile Asset Builder)
  2. Tile Library & Packs
  3. Tile Palettes
  4. Painting Maps (Tile Studio)
  5. Exporting Maps & Game Integration

The basic flow:

Build assets (tile_asset_builder)
  → save as .pxntile (tile_asset_save)
  → arrange a tile palette (tile_palette_create)
  → paint the map (tile_studio)
  → export images / animations / game data

1. Build tile assets — tile_asset_builder

  • Connect a sheet (Image / SpriteSheet) and bulk-slice it in the dedicated editor to register static tiles. No per-cell wiring.
  • Slots can be swapped to animations from the images input (same-size frames). Keeping the brush ID preserves the palette slot while only the visual changes.
  • Multi-cell art such as a 2×2 house becomes a single stamp brush via cell selection.
  • Auto/rule tiles made with autotile_from_template / autotile_from_parts / rule_set_editor import directly.
  • Assets saved with tile_asset_save are self-contained .pxntile files — the original input nodes can be deleted afterwards.

2. Organize the library

  • Store assets under user_data/library/user/tiles/ in any folder structure (e.g. MyGame/terrain/). References use stable IDs, so moving or renaming folders never breaks palettes or maps.
  • A folder with tilepack.json becomes a managed pack for dependency-checked ZIP export/install.
  • Legacy .pxnrule files appear in the library and can be copy-converted to .pxntile (the original is untouched).

3. Tile palettes — tile_palette_create

  • Register brushes from saved assets into pages and groups. Select a chip and click an empty slot to place it (with a ghost preview while hovering), drag & drop chips to move or swap them, and press Delete to remove. Library-registered assets are materialized automatically at evaluation time.
  • Multi-cell stamps (e.g. 2×2) occupy their full footprint of slots, displayed as the real image split into cells; they can only be placed where the footprint is free.
  • Assets whose cell size is an integer multiple (e.g. 1×1→16×16) are auto-scaled on registration, always with a scale badge and a warning. Non-integer ratios and different grid kinds are rejected — use "convert copy" to create a matching asset first.
  • The scratch area at the bottom paints with the real resolve pipeline (autotile connections included) — unregistered library chips work too, and the play button animates the board with the real animation cycle. Scratch content is never saved.
  • A palette is a selection layout; reordering it never changes existing maps.

4. Paint maps — tile_studio

  • Pen, eraser, flood fill, line, rectangle, stamps, and eyedropper.
  • Static tiles, animated water, auto-tile roads, seeded rule tiles, and house stamps mix on the same layer.
  • Collision and metadata layers are saved with the map but never drawn into the PNG.
  • Rule tiles re-resolve only around your edits; the same seed always yields the same look.
  • Scrub the timeline slider to preview animated tiles at any time.

5. Export

Target Node
Single PNG at a chosen time tile_canvas_render → downstream image nodes
Animation (frames / sprite sheet) tile_canvas_animation_render
PNG sequence folder tile_bundle_export (images profile)
Custom engines (atlas + tileset + map JSON) tile_bundle_export (native profile); contract in docs/contracts/tile-runtime-v1/
Tiled (.tmj/.tsj + atlas) tile_bundle_export (Tiled profile); Unity/Godot via their Tiled importers
Single Tiled JSON (compat) tiled_map_export / tiled_tileset_export

Bundle exports are staged, verified, and atomically swapped — no half-written folders. Maps pin asset revisions, so library updates never silently change existing maps.

Low-level API (advanced)

The Rule Tile nodes (rule_tile_pack, rule_set_preset, rule_canvas, rule_render, …) keep working as before; Tile Studio is built on top of them and .pxnrule stays compatible.

Tiles & Maps (Tile Studio) — PixPipeline User Guide