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

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 数唱が高くて語音整列が低い場合は、並べ替えなどの操作が入ると難しいのかなと推測できるけど、逆の場合はなんだろう。 数唱は基本的にはワーキングメモリーのタスクだけど、語音整列は、上の人が言ってるみたいに、もっと複雑だ。より心的に柔軟でないといけないし、情報の保存/再生の能力だけでなくて...

イヤーワームになる曲トップ9、そして対処法(頭から離れない曲)

止まらないメロディーの正体とは?イヤーワーム現象を科学する 1. イヤーワームとは?耳に残る音楽の正体 頭の中で特定の曲が何度も繰り返される現象を「イヤーワーム」と呼びます(ディラン効果とも。ボブ・ディランの「風に吹かれて」もイヤーワームが生じやすい曲として知られています)。この言葉は、英語の「earworm(耳の虫)」に由来し、まるで耳に虫が入り込んで音楽を流しているかのような感覚にたとえられています。イヤーワームは、特に集中が必要な時や眠る前に起こりやすく、勉強中や仕事中に困った経験がある人も多いでしょう。 頭のなかである曲が延々と流れ続けて止まらなくなる現象を「イヤーワーム」と言います。 「耳の虫」という意味で、まるで耳に虫がもぐりこんで音楽を流しているみたいに体験されることからそう呼ばれています。 強迫性障害や統合失調症の症状として見られることもありますし、健康な人だってしばしば体験します。脳のバグみたいなもんでしょうか。勉強中や仕事中など、何かに集中しなくてはならないときに、イヤーワームが気になって仕方がないということもあります。受験生でイヤーワームに取り憑かれて困っているという人の話を聞いたことがあります。確かに困りますよね。 Psychologists Identify Key Characteristics Of Earworms 「心理学者たちが見つけたイヤーワームの本質的特徴」 という記事が、アメリカ心理学会のサイトに掲載されていました。 イヤーワームを生じさせやすい曲として、たとえばレディ・ガガのBad Romanceが挙げられていました。 2. イヤーワームが起こりやすい人とその原因 イヤーワームは健康な人にも頻繁に起こりますが、強迫性障害や統合失調症などの精神疾患と関連する場合もあります。脳が「バグ」を起こしたかのように、無意識にメロディーがリピートされてしまうのです。心理学的には、音楽の反復やリズムが脳に影響を及ぼし、メロディーが意識に残り続けることが指摘されています​ Hiroshima University Repository 。 3. 科学的に解明されたイヤーワームを引き起こす音楽の特徴 アメリカ心理学会の研究によると、イヤーワームを引き起こしやすい曲にはいくつかの共通点があります。それは以下の3...