AIを使ってドラクエみたいなゲームを作ってみる②

 AIにいわれるがままに

🎮 Step 1:Unityのインストール(最短)

すでに済んでいたらスキップしてOK。

✔ 必要なもの

  • Unity Hub

  • Unity Editor(推奨:LTS版 例:2022.3 LTS

  • Android Build Support
    (Unity Hub → Installs → Editor 右側の方から “Add modules”)


🎮 Step 2:最初の「ドラクエ風2Dプロジェクト」を作る

Unity Hub → 「New Project」
テンプレート:2D Core を選択
プロジェクト名:MyFirstRPG


🎮 Step 3:まず“動く主人公” を作ってみる

C#を触ったことがなくても大丈夫!
これをコピーして Unity に入れたら動きます。


🧙【サンプル①】主人公を上下左右に動かすC#スクリプト

① Unityで作業する

  1. Projectウィンドウで右クリック
    → Create → C# Script
    → 名前:PlayerMove

  2. キャラクター用のスプライト(画像)を Hierarchy にドラッグ(名前:Player

  3. PlayerMove.cs を Playerにドラッグしてアタッチ


② PlayerMove.cs の中身をこれに差し替える

using UnityEngine; public class PlayerMove : MonoBehaviour { public float speed = 3f; private Vector2 input; void Update() { // 入力取得(WASD / 矢印キー) input.x = Input.GetAxisRaw("Horizontal"); input.y = Input.GetAxisRaw("Vertical"); // 移動 transform.Translate(input * speed * Time.deltaTime); } }

これで ↑↓←→でプレイヤーが動くドラクエ風の基礎が完成!


🎮 Step 4:NPC に話しかける仕組みを追加

次に「会話」を作ります。


🧙【サンプル②】話しかけるとテキストが表示される

① UI準備

Unity 上部メニュー
GameObject → UI → Text (TMP) を追加
(画面にテキストが出る)

Textの名前を MessageText に変更
Text の中身は空にしておく(表示なし)

② 会話スクリプトを作る

TalkNPC.cs を作成して中身を差し替え

using UnityEngine; using TMPro; public class TalkNPC : MonoBehaviour { public string message = "こんにちは、旅の人!"; public TextMeshProUGUI messageText; void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("Player")) { messageText.text = message; } } void OnTriggerExit2D(Collider2D other) { if (other.CompareTag("Player")) { messageText.text = ""; } } }

③ NPCに設定

  1. NPCオブジェクトに BoxCollider2D をつける(Trigger にチェック)

  2. NPC に TalkNPC をアタッチ

  3. MessageText に UI の Text (TMP) をドラッグ

→ プレイヤーが近づくとセリフが出る!
これで 村人との会話が完成 ✨


🎮 Step 5:スライムと戦闘を作る(最小)

次はドラクエっぽい ターン制の戦闘 を作ります。
ここもコピペで動きます。


🧙【サンプル③】シンプルなターン制バトル

① BattleManager.cs を作る

using UnityEngine; using TMPro; public class BattleManager : MonoBehaviour { public TextMeshProUGUI battleText; int playerHP = 20; int slimeHP = 10; void Start() { battleText.text = "スライムがあらわれた!"; } public void OnAttackButton() { slimeHP -= 4; battleText.text = "ゆうしゃのこうげき! スライムに4ダメージ!"; if (slimeHP <= 0) { battleText.text = "スライムをたおした!"; return; } Invoke("SlimeAttack", 1f); } void SlimeAttack() { playerHP -= 3; battleText.text = "スライムのこうげき! ゆうしゃは3ダメージ!"; if (playerHP <= 0) { battleText.text = "ゆうしゃはたおれた…"; } } }

② Attackボタンを配置

  1. UI → Button (TMP) を作成(名前:AttackButton)

  2. OnClick に BattleManager → OnAttackButton を登録

ボタン連打でターンが進む超シンプル戦闘が完成!


📱 Step 6:Androidに書き出して動かす(最短)

  1. File → Build Settings → Android を選択 → Switch Platform

  2. Build → .apk を作成

  3. Android端末に転送してインストール

これで あなたが作った“ドラクエ風RPG”がスマホで動く!


🚀 次はどう進みたい?(選択式)

あなたの進みたい方向に合わせて、
より具体的なプロジェクト・コード・作業手順を作成します。

どれにしますか?👇

1️⃣ マップ(タイルマップ)を作れるようになりたい

2️⃣ プレイヤーの歩行アニメ(上下左右)をつけたい

3️⃣ 戦闘をもっとドラクエ風にしたい(コマンド式にする)

4️⃣ すべてまとめて「ひな形プロジェクト」一式がほしい

5️⃣ C#の超基礎から教えてほしい(Unity初心者用)

どれでもOK!番号で答えてください 😊

0 件のコメント: