スキップしてメイン コンテンツに移動

AIと作る「詰将棋ローグライク」開発レポート

 

シンプルなローグライクゲーム (戦闘・ステータス追加)
> ゲーム開始。矢印キー/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キーでワンドのターゲット選択モードに移行。

コメント

このブログの人気の投稿

果物に例える恋愛心理テスト「フルーツバスケット」で本音がわかる?

簡単な恋愛心理テスト「フルーツバスケット」 「フルーツバスケット」という簡単でおもしろい心理テストのことを聞きました。 「心理テスト」というよりは「心理ゲーム」と呼んだ方がいいですね。 こんなゲームです。 【問】 あなたの目の前に、フルーツバスケットがあります。バスケットには、リンゴ、バナナ、ぶどう、みかん、イチゴ、キウイが入っています。5種類のフルーツを、それぞれ身近な異性にあてはめてみてください。 リンゴ= バナナ= ぶどう= みかん= イチゴ= キウイ= さて、いかがでしょう? 何人かにあらかじめ聞いておくと、後で比べられて楽しいです。

数唱と語音整列の乖離は何を意味しているか?

WAISの数唱と語音整列について、この二つに乖離があったらどう解釈されるんだろうかと思って調べてみたメモ。どちらも作動記憶(ワーキングメモリー)に含まれる下位検査だが、いくらか性質が違う。両者の相関は、中程度くらいだったと思う。 数唱 vs 語音整列 Digit span versus letter number sequencing とある海外の掲示板(?)でのやりとり。 一方が他方よりも高得点だった場合、どんな風に説明できるかな? どっちも順番に配列することが含まれているし、ほとんどの人が順序を操作するために聴覚的記憶を使ってると思う。けど、4点以上の乖離(discrepancy)があった場合は? 実施したばかりのアセスメントを詳しく考えてみると、言葉の受容と表出が明らかに難しいケースだったけど、視空間スキルと処理速度はまったく問題なく保たれていた。-Miriam という問題提起に対するスレッドのようだ。 私も以前に何度か同じようなパターンに出会ったことがあって似たようなことを考えたことがあるけど、ぜんぜん専門外だったから。あなたももう考えてるだろうけど、語音整列はたぶんより複雑な課題だと思う。というのも、数唱のように単に数字を扱うんじゃなくって、(文字と数字という)二種類の情報を使ってそれを切り替えながら作業しなきゃいけないから。被験者が教示を理解して、すべてをすっかり頭に入れることができたという手応えはありましたか? これ(語音整列)を実行するにはいくつかの操作が必要だし、呈示されたものすべてを受け取るには言語受容スキルが特に障壁となるかもしれません。他の下位検査にもこの仮説が当てはまるならば意味をなさないかもしれませんが・・・もっと知識のある人ならいい意見が出せるかも。-Butterfly22 私も同じように考えていました。数唱よりも語音整列の方がいいスコアを示しているような同様のアセスメント事例がおかしいのはなんでかなって。-Miriam 数唱が高くて語音整列が低い場合は、並べ替えなどの操作が入ると難しいのかなと推測できるけど、逆の場合はなんだろう。 数唱は基本的にはワーキングメモリーのタスクだけど、語音整列は、上の人が言ってるみたいに、もっと複雑だ。より心的に柔軟でないといけないし、情報の保存/再生の能力だけでなくて...

レイの複雑図形(ROCF)とは?高次脳機能障害や発達障害への評価と臨床応用

  レイの複雑図形(Rey-Osterrieth Complex Figure, ROCF)は、視空間構成能力および視覚的記憶を評価するために使用される神経心理学的な検査です。この検査は、視覚的に提示された複雑な図形を模写し、その後再現することで、被験者の視覚記憶や計画、組織化能力、遂行機能を評価します。以下に、ROCFの概要、高次脳機能障害および発達障害への評価と臨床応用について詳述します。 1. ROCFの概要と評価方法 ROCFは、もともとアンドレ・レイ(André Rey)によって開発され、その後、オステリアス(Paul Osterrieth)によって改良されました。検査は以下の手順で行われます。 模写フェーズ : 図形を見ながら模写します。この段階では視空間構成能力や手順の計画能力が評価されます。 即時再生フェーズ : 図形を隠した後、記憶に基づいて図形を再現します。この段階では視覚的短期記憶が関わります。 遅延再生フェーズ : 30分後に図形を再び再現します。これにより、長期的な視覚記憶が評価されます​ Okayama University Library 。 評価方法としては、Osterrieth法やBoston Qualitative Scoring System(BQSS)などがあります。BQSSは図形の構成要素を複数のカテゴリに分類し、それぞれの精度をスコアリングすることで、模写や再生時の認知戦略や遂行機能の評価を行います​ Okayama University Library 。 2. 高次脳機能障害への臨床応用 ROCFは高次脳機能障害(例: 脳卒中、外傷性脳損傷、認知症など)の評価において有用です。模写や再生の精度が低い場合、以下のような障害を示唆することがあります。 視覚的記憶障害 : 図形の再現時に主要な形状が欠落していたり、位置が大きくずれている場合。 遂行機能障害 : 模写フェーズで計画性が欠け、部分的な描写に留まる場合や、構成が乱れている場合。 注意障害 : 主要な要素を無視したり、同じパターンを繰り返し描画する保続現象が見られる場合​ JSchild 。 これらの評価は、リハビリテーションや介入プログラムの設計に役立つ情報を提供します。 3. 発達障害への評価と応用 発達障害(例: 自閉スペクトラム症、ADHD、学習障害...