シンプルなローグライクゲーム (戦闘・ステータス追加)
> ゲーム開始。矢印キー/WASDで移動、p/qでアイテム使用。

ターン: 0

HP: /
MP: /

攻: , 守: | 持ち物:



このゲームは、GoogleのAIモデルGeminiを活用し、HTML/CSS/JavaScriptのみで開発したターン制の戦略ゲームです。

以下に、ゲーム開発のプロセスと、AIに与えた具体的な指示(プロンプト)の全てを公開します。

1. 開発方針(初期設計)

  • 目標: 限られたリソースでステージクリアを目指す「詰将棋」のような戦略的なローグライクゲームの構築。

  • 方法: シンプルな基礎構造から始め、機能と難易度を段階的に追加する。

2. 制作過程と具体的なプロンプト

  • Step 1: 基礎構築

    • Prompt 1 (ベース生成): 「HTMLファイル一つで完結する、シンプルなブロック崩しゲームのJavaScriptコードを生成してください。描画にはcanvas要素を使用し、ボール、パドル、ブロックの描画、ボールの移動と壁・パドル・ブロックの当たり判定を実装してください。」

    • Prompt 2 (修正依頼): 「エラーが発生しました。Identifier 'x' has already been declaredと出ます。修正してください。」

  • Step 2: ローグライク化

    • Prompt 3 (ローグライクベース): 「Nethack的なゲームを作りたい。HTML canvasを使って、マップの表示、プレイヤーのターン制移動、壁の衝突判定、そして移動ログを表示するシンプルなローグライクゲームの基礎コードを生成してください。」

    • Prompt 4 (エラー修正): 「ReferenceError: isGameOver is not definedというエラーが出ました。修正してください。」

  • Step 3: 戦闘とリソース

    • Prompt 5 (ステータスと戦闘): 「キャラクターのステータスを作りましょう。HPとMP、そして持ち物(ポーションとワンド)。この画面に何匹かのモンスターがいて、アイテムを拾いながらそれを順番に倒していくという。詰将棋的にできるかな。戦略を考えて、アイテムを拾い、回復し、モンスターを全部倒せるか、倒されるか」

  • Step 4: 難易度と多様性

    • Prompt 6 (最終拡張): 「HPポーションとダメージワンド(遠距離からでも攻撃できるようにして)は、部屋内にいくつか落ちているのを拾えるようにしてほしい。そしてモンスターはG(ゴブリンかな)だけじゃなくて、もっと強いのも。あとは落とし穴などの罠も実装して。」

    • Prompt 7 (モンスターの罠落ち): 「モンスターを誘って落とし穴に落としたらダメージ与えられるようにしてほしい。そしてモンスターの数と種類をもう少し増やして。」


3. 完成したゲームの主な特徴

  • 完全なターン制: プレイヤーの行動後に敵が行動するターン制を採用。

  • 遠距離攻撃(ワンド): MPを消費し、視界内の敵をターゲット選択で攻撃可能。

  • 多様な敵: ゴブリン(G)、オーク(O)、トロール(T)など、複数の敵タイプを実装。

  • 罠の活用:

    • 落とし穴(^)はプレイヤーにダメージを与えます。

    • モンスターを落とし穴に誘い込むと、モンスターにダメージを与えられます。

  • リソース管理: HP、MP、インベントリ内のポーションやワンドといった限られたリソースの管理が重要。

  • 操作: 矢印キーまたはWASDで移動・攻撃。Pキーでポーション使用。Qキーでワンドのターゲット選択モードに移行。