トルネコミニ開発日記:Unityでダンジョンを作り始める旅

はじめに

こんにちは!2025年3月から、僕の新しいプロジェクト「TornekoMini」をUnityで始めました。このブログでは、開発の進捗や直面した課題、そしてGrok 3(xAIが作ったAI)とのやり取りを記録していきます。目標は、シンプルな5×5ダンジョン(外枠が壁、中央が床)を作ること。MacBook Air M3を使って、ゼロから進めてます。さあ、旅の始まりだ!


2025年3月9日:プロジェクト開始と日本語化の試み

最初に「TornekoMini」プロジェクトを2D Coreテンプレートで作成。Unity Editorを日本語化しようと試みました。Grok 3にアドバイスをもらい、以下の手順で進めました。

  • Unity Hubの日本語化
  • Unity Hubを起動し、左上の歯車アイコン(設定)>「Preferences」>「General」タブ。
  • 「Language」ドロップダウンで「Japanese」を選択。
  • 再起動してメニューが日本語(例:「インストール」「ライセンス」)に変わるか確認。
  • Unity Editorの日本語化
  • Editorを起動し、「Edit」>「Preferences」>「General」で「Language」設定を探す。
  • 日本語パックが必要な場合、「Assets」フォルダ右クリック>「Import Package」>「Custom Package」からダウンロード。
  • インポート後、再起動してメニューが「ファイル」「編集」など日本語に。
  • 結果
  • 部分的に日本語化できて、操作が楽になったけど、エラーメッセージは英語のまま。2022.3.59だと完全対応は難しいみたい。

Grok 3に感謝!この後、ダンジョン生成に取り掛かる予定だったけど、ここで一旦中断。


2025年3月10日:ダンジョン生成の開始

再開して、ダンジョン生成コードを反映する手順を進めた。コードは以下の通り:

“`csharp
using UnityEngine;
using UnityEngine.Tilemaps;

public class SimpleDungeon : MonoBehaviour
{
public Tilemap tilemap;
public TileBase floorTile, wallTile;

void Start()
{
    for (int x = 0; x < 5; x++)
    {
        for (int y = 0; y < 5; y++)
        {
            if (x == 0 || x == 4 || y == 0 || y == 4) // 外枠を壁
                tilemap.SetTile(new Vector3Int(x, y, 0), wallTile);
            else
                tilemap.SetTile(new Vector3Int(x, y, 0), floorTile); // 内側を床
        }
    }
}

}

ステップ1:シーンとタイルマップの準備

  • Unityエディタで「GameObject」>「2D Object」>「Tilemap」>「Rectangular」を選択。
  • ヒエラルキーウィンドウで「Tilemap」をControlキー+クリック>「Rename」で「DungeonTilemap」に変更。
  • 確認:ヒエラルキーに「Grid」>「DungeonTilemap」があるか。

ステップ2:タイルの作成

  • スプライトの準備
  • 「Assets」フォルダをControlキー+クリック>「Create」>「Sprites」>「Square」を選択。
  • 名前を「floorSprite」に変更。
  • 同じ手順で「wallSprite」を作成。
  • 色変更はスプライト単体では難しかったので、タイル作成で調整。
  • タイルの作成
  • 「Assets」フォルダをControlキー+クリック>「Create」>「2D」>「Tile」を選択。
  • 名前を「floorTile」に変更。
  • 「floorTile」を選択し、「Sprite」に「floorSprite」をドラッグ&ドロップ。
  • 「Color」を薄い緑(R:0.5, G:1, B:0.5)に設定。
  • 同じ手順で「wallTile」を作成し、「wallSprite」を設定、「Color」を黒(R:0, G:0, B:0)に。
  • 「DungeonTilemap」を選択し、「Window」>「2D」>「Tile Palette」でパレット作成。
  • 「floorTile」と「wallTile」をパレットにドラッグ&ドロップし、「DungeonTilemap」に配置して色確認。

問題:Tileが見つからない

  • 「Create」>「2D」で「Tile」がなく、「Animated Tile」しか見つからなかった。
  • Grok 3のアドバイスで、「Animated Tile」を使うことに。
  • 「Animated Tile」を選択し、1フレームだけ設定、「Animation Speed」を0に。
  • 色設定は上記通り。

ステップ3:スクリプトの作成

  • 「Assets」フォルダをControlキー+クリック>「Create」>「C# Script」を選択。
  • 名前を「SimpleDungeon」に変更。
  • コードエディタでスクリプトを作成し、保存。

ステップ4:スクリプトをシーンにアタッチ

  • 「Grid」を選択し、インスペクターで「コンポーネントを追加」>「SimpleDungeon」を追加。
  • 「Tilemap」に「DungeonTilemap」、「Floor Tile」に「floorTile」、「Wall Tile」に「wallTile」をドラッグ&ドロップ。

ステップ5:カメラの調整

  • 「メインカメラ」の「位置」を (2.5, 2.5, -10) に、「オルソグラフィックサイズ」を 3 に設定。

ステップ6:シーンの実行

  • シーンを「ファイル」>「保存」で保存。
  • 「再生」ボタンをクリックしてダンジョン確認。

Grok 3と一緒に進めてるけど、Tileの種類でつまずいたり、手順の漏れ(「DungeonTilemap」へのドラッグ&ドロップ)を指摘して修正してもらったり。開発は順調だけど、まだダンジョンが表示されていません。


おわりに(追記)

これがこれまでの軌跡。これからダンジョンが動いたら、プレイヤー移動(タッチ操作)を実装予定。Grok 3のサポートがなければここまで来れなかったよ。次回の更新で進捗を報告するね!コメントで応援してくれたら嬉しいです。