本文へスキップ

タイルマップエディタ · GodotとTiledのルールで試し塗り

最初にはっきりさせておくと、これはレベルエディターではなく、オートタイルのルールを試すためのタイルマップ塗りツールです。塗るたびにGodot 4やTiledと同じ方法でタイルを選ぶので、間違ったタイルや足りないタイルがここで先に分かります。その後ルールごとタイルセットを書き出し、本番のマップはGodot・Tiled・Unity・LDtkで作ります。

ゲームのレベルを作るなら(手で置くタイル、オブジェクト、スポーン地点、レベルファイル)、レベルエディターを使ってください。Tiled、LDtk、Godot自身のTileMapLayerエディター、Sprite Fusionがあります。Nerulioのタイルマップは試し塗り用です。タイルを1枚ずつではなく地形を塗り、マップは初期状態で24 × 16マス(最大128 × 128)、各マスのタイルはGodotかTiledのオートタイルルールがその場で選び、誤ったセルや欠けたセルには枠が付きます。タイルセットのルールを確かめるのに使い、タイルセット(TiledとLDtkのバンドルにはサンプルマップ付き)を書き出してから、本番のレベルはエンジンが読むエディターで描いてください。

タイルセットやオートタイルのシート(PNG)をドロップ
空のStudioを開く
ブラウザ内で処理し、ファイルはアップロードされません。
Studio のタイル作業画面:Godotの地形ルールで塗ったテストマップ
CC0アセット(OpenGameArt)を開いた実際のStudio画面です。
書き出し先
  • Godot 4 TileSet検証済み· Godot 4.7.2
  • Tiled検証済み· Tiled 1.12.2
  • Unity 6 Rule Tile検証済み· Unity 6000.5.3f1 + 2D Tilemap Extras 8.0.3
  • LDtk一部検証· LDtk 1.5.3 schema + loader

タイルセット・タイルマップ・レベル:各エディターが保存するもの

タイルセットはタイルと、どのタイルがどこに合うかを決めるルールです。タイルマップは、マスごとにどのタイルが置かれたかを記録するグリッドです。レベルはその上に、ゲームが必要とするオブジェクト、エンティティ、スポーン地点、プロパティを加えます。エディターごとに、このうち何を手で編集するかが違います。

Nerulioのテストマップが保存するのは地形だけです。マスごとに1文字で、空か最大16種類の地形のどれかです。タイルは保存しません。見えているタイルはマップが変わるたびにルールから計算し直されます。これこそがルールのテスターである理由で、特定のマスに花の差分や看板のような特定のタイルを置けない理由でもあります。

Tiled・LDtk・Godotは置かれたタイルそのものを保存し(それぞれのオートタイルはマップにタイルを書き込む道具です)、オブジェクトレイヤーやエンティティを加えます。Sprite Fusionは独自のマップを持ち、選んだタイルを書き出しに記録します。レベルが住む場所はこれらのほうです。

つまり両者はこう組み合わさります。Nerulioのマップでルールを確かめ、ルール付きのタイルセット(Godot 4の地形セット、TiledのWangセット、UnityのRule Tile、LDtkのルール)を書き出し、エディターの中で同じオートタイルを使って本番のレベルを塗り続けます。

タイルセット
タイル画像と、そのオートタイルのルール(ピアリングビット、Wang ID、Rule Tileの隣接)。
タイルマップ
レイヤーのどのマスにどのタイルがあるか。
レベル
タイルマップに、ゲームが読むオブジェクト・エンティティ・プロパティを加えたもの。
地形塗り
タイルを1枚ずつ置く代わりに「ここは草」と塗り、ルールにタイルを選ばせる方法。

テストマップは何のためにあるか

新しいマップは、ルールがすぐ見えるように最初から塗られた状態で始まります。

新しいテストマップ  24 × 16マス = 384   (2 × 2から128 × 128までサイズ変更)
最初の島            外側の角とまっすぐな海岸   → 辺が2つか3つのタイル
島の中の湖          内側の角4つ                → マスク127・253・247・223
2マス幅の半島       細い部分とその先端
2 × 2の小島         外側の角4つが隣り合う

マスごとの保存内容  "."(空)か a … p(地形0 … 15)。タイル番号は保存しない
レイヤー            それぞれにタイルセット1つ。例:地面+その上の2つ目の地形
ツール              ブラシP(サイズ)、消しゴムE、塗りつぶしG、スポイトI、ランダム塗り、サイズ変更、クリア

一覧のすべてがルールのためのものです。オブジェクトレイヤー、エンティティ、プロパティのパネルはなく、TiledとLDtkのバンドルに入るサンプルマップ以外にレベルは書き出しません。

できること

  • マップは陸と水、細い岬が塗られた状態で開くので、触る前から外側の縁と内角が画面に出ています。
  • タイルを決めるエンジンを選べます。Godotの地形マッチャーを移植し、コーパスで塗った全セルをGodot 4.7.2と照合したもの、またはTiledの厳密なWang参照です。
  • 問題はその場で示します。エンジンが空けたままにする所や代わりのタイルで埋める所には枠が付き、指すと入るタイルと理由が出ます。Unityはまた別で、組み合わせがないとRule Tileの既定スプライトを描きます。
  • レイヤーごとに別のタイルセットを結び付けられるので、2つ目の地形や装飾レイヤーを同じマップで試せます。
  • ないもの:オブジェクト・エンティティ・レベルのプロパティ、そしてTiled・LDtkのバンドル内のサンプルマップ以外のレベル書き出し。本格的なマップ作りにはSprite Fusion・Tiled・LDtkを。

使い方

  1. オートタイルのシートを入れ、Studioが見分けた配置を受け入れるか、地形ビットを自分で塗る。
  2. Mでシートからマップへ切り替え、塗ってある地形の上をブラシで自由になぞる。
  3. 孤立したマス、1マス幅の通路、斜めだけで接する所など、厄介な形を作ってGodotとTiledの結果を見比べる。
  4. 枠が指す所をタイルセット側で直し、Ctrl+Eで書き出して、ステージを作っているエディターで続きを。

テストマップから本番のレベルへ

  • GodotルールとTiledルールで塗ります。最初の島、ランダム塗り、ゲームで使う形のどれでも、どちらのルールも枠を付けなければルールは成り立っています(枠の意味)。
  • 使うエディター向けに書き出します。Tiled:.tsxとsample.tmxを開く(Tiled 1.12.2がすべてのWang IDを書いたとおりに読みました)。LDtk:.ldtkを開く(1.5.3のスキーマとローダーで確認、LDtkアプリでは未確認)。
  • Godot 4:同梱のインポーターを実行し、保存されたTileSetをTileMapLayerに設定してTerrainsタブで塗ります(Godot 4のオートタイル)。
  • テストした形を1つエディターで塗ります。タイルがテストマップと同じになるはずです。

テストマップのツールと分かること

ツールキー分かること
ブラシP(Shift+[ ]でサイズ)地形を塗ると、隣のセルがエンジンと同じように並び直す様子
消しゴムE地形を消して海岸線・穴・孤立したセルを試す
塗りつぶしG広い範囲を塗って内側と境界を一度に確認
スポイトIカーソル下の地形を拾う
ランダム塗り—セットが描ける組み合わせをばらまき、まれな組み合わせを洗い出す
レイヤー・サイズ変更・クリア—1枚のマップで複数のタイルセットを試し、サイズを変え、やり直す
Godotルール/Tiledルール—タイルの選び方をGodotのマッチャーとTiledの厳密なWang一致で切り替え

トラブルシューティング

症状考えられる原因確認方法対処
特定のマスに特定のタイル(飾り、差分)を置きたいテストマップはタイルではなく地形を保存するスポイト(I)が拾うのは地形で、タイルではないそうしたタイルはTiled・LDtk・Godotで地形の上のレイヤーに置く
オブジェクト、スポーン地点、レベルごとのプロパティが要るテストマップにはオブジェクトもエンティティもない—LDtkのエンティティかTiledのオブジェクトレイヤーを使う。GodotではシーンがTileMapLayerの上にノードを置く
Godotのエディターで塗ったレベルがテストマップと違うGodotのエディターは1ストロークずつ塗り、結果がストロークの順で変わるその範囲をConnectの1ストロークで塗り直してみるタイルセット側で直すものはない。Godotで違うタイルになるを参照
マップが128 × 128より大きくならないテストマップは1辺128マスが上限サイズ変更が128で止まる代表的な範囲だけを試し、レベル全体はレベルエディターで作る

ほかの方法

方法こんなときに向いています
Tiled(無料、オープンソース、デスクトップ)オブジェクトのあるレベル、直交・アイソメトリック・六角形のマップ、ルールベースのAutomapping、無限マップ、スクリプト、JSON・Lua・GameMaker・Defoldなどへの書き出しが要るとき。書き出したWangセットがオートタイルをそのまま保ちます:TiledのWangセット。
LDtk(無料、オープンソース、デスクトップ)IntGridのロジックと型付きフィールドを持つエンティティでレベルを組み、ワールド(Grid-vania・リニア・フリー)で整理し、オートレイヤーのルールで見た目を付けたいとき。JSONで書き出し、TMXは任意。LDtkのオートタイルルールを参照。
GodotのTileMapLayerエディターゲームがGodotのとき。Terrainsタブ(ConnectかPathモード)で塗り、レイヤーごとにTileMapLayerノードを1つ、ファイルの行き来は不要です。Godot 4のオートタイルを参照。
Sprite Fusion(ブラウザ)レイヤーと3×3のオートタイルルールでブラウザ上で手早くレベルを作り、タイルを選んだ状態でUnity、Godot 3・4、Phaser、Defoldなどへ書き出したいとき。Web版の書き出しは5MBまでです。Sprite FusionとNerulioの比較にまとめています。

エンジン別の書き出しと検証方法

「検証済み」は、実際のCC0アセットから書き出したファイルを本物のエンジン・ツールで読み込み、元データと比較したという意味です。読み込んでいない形式はそのように表示します。

書き出し先ファイル検証
Godot 4 TileSetPNG · nerulio-tileset.json · nerulio_tileset_import.gd検証済み Godot 4.7.2同梱のインポートスクリプトが地形ピアリングビット付きのTileSetを作成。set_cells_terrain_connectで塗ったマップが、9つのコーパスシートの全セルでStudioのプレビューと一致。
Tiled.tsx Wang set · sample.tmx検証済み Tiled 1.12.2Tiled自身の読み込みで全Wang IDが記述どおりに読まれ、サンプルマップはピクセル単位で一致。地形ブラシ自体は操作していません。
Unity 6 Rule Tilenerulio-ruletile.json · Editor/NerulioRuleTileImporter.cs検証済み Unity 6000.5.3f1 + 2D Tilemap Extras 8.0.3ブロブ・辺タイルセット:塗ったTilemapの全セルが予測どおりのスプライト。角/デュアルグリッドはUnityへ書き出しません。
LDtk.ldtk (1.5.3) · rules · sample level一部検証 LDtk 1.5.3 schema + loaderLDtkのJSONスキーマと公式ローダーで受理され、ルールを再実行すると書き出したタイルと一致。LDtkアプリでは未確認。

検証の根拠

タイルコーパスでピクセルだけから配置を判定:ブロブ47テンプレート4つとWangテンプレート2つは高信頼度、実在の64px洞窟タイルセットは中信頼度で全タイルのビットが正解。Godot 4.7.2は全テストセルをStudioの予測どおりに塗りました(ブロブセットごとに485/485、4地形のデュアルグリッド251/251)。Tiled 1.12.2は全Wang IDを読み戻し、Unity 6000.5はブロブ・辺セットの塗った全セルで一致。

制限

  • オブジェクト、エンティティ、スポーン地点、レベルのプロパティはありません。
  • 手で置くタイルはありません。すべてのタイルは地形とルールから決まります。
  • TiledとLDtkのバンドルのサンプルマップ以外にレベルは書き出しません。マップは最大128 × 128マス、正方形のタイルのみです。
  • Tiledの地形ブラシ、LDtkアプリ、Godotエディターでの塗りは操作していません。検証はエンジンの読み込み機能とset_cells_terrain_connectで行いました。
  • Unityへはブロブ・辺タイルセットのみ。地形が複数あると、互いにつながらないRule Tileが複数になります。
  • アイソメトリック・六角タイル、アニメーションタイル、オクルージョン・ナビゲーションレイヤーは対象外です。
  • 既知の配置なしでビットを提案するには基準となる「塗りつぶし」タイルが必要です。辺だけの道テンプレートでは、そのタイルを選ぶまで推定を誤ることがあります。

バージョンと出典

テストマップの動作はsrc/studio/workspaces/tile/(state.js、resolve.js)に基づき、Godotルールはコーパスで Godot 4.7.2とセル単位で一致しました(docs/STUDIO-TILE.md、2026-09-23)。Tiled(1.12.2)、LDtk(1.5.3)、Godot 4.7、Sprite Fusionの機能は、2026-09-28に読んだそれぞれの公式ページの説明に基づきます。

参照した公式ドキュメント

よくある質問

ここでゲームのステージを作れますか?

レベルエディターの代わりにはなりません。テストマップを塗ってサイズを変えることはできますが、オブジェクト・エンティティ・レベルファイルはありません。タイルセット(地形付きのGodot TileSet、TiledのWangセット、UnityのRule Tile、LDtkのルール)を書き出して、そのエディターで描いてください。

Godotのエディターで塗った結果と違うことはありますか?

Godotのエディターはストロークごとに塗るため、順番で結果が変わります。Studioはset_cells_terrain_connectを呼ぶスクリプトと同じく地形ごとに一度で処理し、その方法ではGodot 4.7.2がブロブセットごとのテスト用485セルをすべて予測どおりに置きました。

TiledのサンプルマップはTiledで開けますか?

はい。Tiled 1.12.2の読み込み機能がWang IDを書いたとおりに読み、sample.tmxはピクセル単位で一致して描画されます。地形ブラシ自体は操作していません。LDtkのファイルは一部検証(スキーマ・公式ローダー・ルールの再実行)で、LDtkアプリでは開いていません。

無料ですか?アカウントは必要ですか?

このページの機能はすべて無料で、アカウントなしで使えます。透かしや制限された書き出しはありません。

スプライトはアップロードされますか?

いいえ。Studioはこのブラウザのタブ内でデコード・パック・書き出しを行います。プロジェクトはブラウザ(IndexedDB)に自動保存され、.nerulioファイルとして保存できます。

Asepriteやエンジンのプラグインは必要ですか?

いいえ。.asepriteファイルはブラウザで読み書きします。エンジン別のバンドルには必要なものが入っています(Godotはインポート設定とシーン、UnityとGodotのタイルセットは小さなエディタースクリプト)。