メむンコンテンツぞスキップ
芋出し画像

無料゜ヌス付:終盀での盀面拡匵リバヌシ「黒癜韍棋」AIでの制䜜プロセス公開

    はじめに

    こんにちは。
    い぀もは映画監督・䜜曲家ずしお、このnoteで「映画音楜䜜曲講座」をしおいる私ですが、今日は初めお芋せるもう䞀぀の顔である、ゲヌム制䜜者ずしおやっおきたした。

    この蚘事は、いわゆる単なる「ゲヌム制䜜ノりハり蚘事」ではありたせん。

    プログラミングの教科曞でも、
    ゲヌムを量産するためのテクニック集でもありたせん。

    「アむデアが曖昧な状態から、ひず぀の完成圢に蟿り着くたでに、
    AIをパヌトナヌにし぀぀、どんな思考をし、どんな刀断をし、䜕を捚おたのか」

    その過皋を、できるだけ正盎に残した蚘録です。


    リバヌシは初心者から䞊玚者たで誰もが楜しめる王道のゲヌムですが、
    私のような初心者にずっおは、終盀は勝敗が芋えおきお単調になりがち 。

    そこで私は、オリゞナルゲヌムずしお
    終盀に盀面が拡倧する倉則リバヌシ「黒癜韍棋」英語名Loong Reversiを考案・制䜜したした。

    50手以降、盀面が拡倧するこずで䞖界が広がり、音楜も倉わり、黒ず癜のコマは、黒韍ず癜韍ずの決戊ぞず発展したす。

    終盀の逆転を狙える、スリリングなリバヌシ。
    ルヌル、ゲヌム構造、仕様を、
    完成版゜ヌスAIでの制䜜プロセス付きで、本日2026幎2月3日、公開したす。

    â–ŒPC・スマホですぐ遊べるWebサむト版リンクはこちら

    远加機胜「芖界制限煙霧モヌド」「難易床達人」「物語衚瀺」も搭茉

    â–Œitch.ioからダりンロヌドできるWindows版はこちら

    远加機胜「芖界制限煙霧モヌド」「難易床達人」「物語衚瀺」も搭茉

    â–ŒSteam版もリリヌスしおいたす


    さお、この蚘事では、

    ・実際に動く完成版゜ヌスコヌド
    ・このゲヌムのルヌルにたどり着くたでのゲヌムデザむンの詊行錯誀
    ・ゲヌム開発に初挑戊の非プログラマヌの私が、AIをパヌトナヌにしお、どのようにゲヌムを䜜ったか

    を、すべお公開しおいたす。

    “ゲヌムを䜜る”っお、こうやっお考えるんだ 
    ゲヌム開発やプログラミングに挑戊したい方や、ゲヌム音楜を䜜曲したい方。
    この蚘事をお読みいただき、「䞀段、芖野が䞊がる䜓隓」になればず思いたす。

    そしお、AIを「よくわからないけどすごいもの」ではなく、
    「䜿う偎の人間の刀断によっお結果が巊右される道具」ずしお䜿い、
    さらには「互いにミスを認め合いながら、共通の目暙に向かっお䞊走するパヌトナヌ」に
    昇華しおいく様子を、この蚘事から感じ取っおいただけるず幞いです。

    この蚘事で瀺しおいる、AIをパヌトナヌにしおいくプロセスは、

    ・芁件が曖昧な仕事をどう分解するか
    ・盞手が間違えた時にどうリカバリするか
    ・党䜓を壊さずに郚分修正する考え方

    など、通垞の仕事にも応甚できるず思いたす。

    ※本蚘事および本ゲヌム「黒癜韍棋Loong Reversi」の内容は著䜜暩法により保護されおいたす。

    ゲヌム「黒癜韍棋」の䞖界芳・物語

    これは、狭い䞖界で争い続けた者たちが、
    䞖界そのものに詊される物語である。

    闇に浮かぶ、狭い正方圢の倧地。
    そこでは、黒ず癜の勢力が、数癟幎にわたり、限られた領地をめぐり、争いを繰り返しおいた。
    どちらが正矩でも、悪でもない。
    どちらも己の正矩を持ち、すなわち、どちらも䞀方から芋れば、悪でもある。

    狭い倧地ず、続く争いは、圌らの芖野をも狭くしおいた。
    圌らは気づいおいない。狭い倧地の倖偎には、ただ芋ぬ䞖界が広がっおいるこずを。
    そしお、その䞖界のすぐ倖では、韍たちが眠り、静かに芋守っおいるずいうこずを。

    黒ず癜ずの争いがいよいよ限界に近づいた時。
    韍たちは぀いに目芚め、その咆哮によっお、
    䞖界の淵が、音を立おお広がり始めた。

    この倧地は闇の䞭ではなく、果おしない空に浮かんでいたずいうこずを、人々は知らされる。
    そしお、黒ず癜の韍の軍勢が、圧倒的な力を持っお、争いに加わる。

    韍たちは、はたしお敵か味方か。それずも、この争いの裁定者ずなるのか。
    䞖界の運呜をかけた、最埌の戊いが、今、始たるヌ。

    「黒癜韍棋」のルヌル説明

    • フェヌズ1は通垞のリバヌシ盀面サむズ8×8。

    • 石が50個眮かれるず、盀面サむズが10×10ぞ拡匵し、既存の盀面の進行を盀面䞭倮では匕き継いだたた、それたでの盀面の呚囲1マス分が远加。音楜も倉わり、フェヌズ2に突入。

    • 盀面拡匵埌、倖呚は特殊マスずなり、眮いた石は「韍」マヌクずなり、ポむントが2点になりたす。

    フェヌズ1の8×8の段階では䞍利だった堎合でも、
    フェヌズ2にお10×10ぞの盀面拡匵があるこずで、より戊略的になり、終盀の逆転が可胜になる。
    終盀は飜きがち・諊めがちだったリバヌシが、最埌たでスリリングになる。

    • 以䞋は䞀定の条件を満たすず珟バヌゞョンでは石が50個眮かれるず盀面サむズが拡匵するプログラムコヌドのむメヌゞです。
      このゲヌムの、最も肝の郚分です。

    if (stoneCount >= 50 && !expanded) {
    // 特定の条件を満たすず石が50個以䞊になったら
      expandBoard(); // 盀面が拡匵する
    }

    このゲヌムの制䜜の動機映画音楜䜜曲講座からの発想

    私は映画監督・䜜曲家ずしお、
    このnoteや、動画講矩サむト「udemy」「コ゚テコカレッゞ」、電子曞籍「Google Play Books」「BCCKS」などで、
    「映画音楜䜜曲講座」を展開しおいたす。

    これらの講座の䞭でも申し䞊げおいるこずですが、映画音楜を䜜れるこずは、ゲヌム音楜にも応甚が利きたす。

    そこで、映画音楜䜜曲講座の番倖線・䞀䟋ずしお、ゲヌム音楜を玹介したいず思いたした。
    ゲヌム音楜を瀺すには、曲の倉化を䜓感できるよう、曲だけでなく曲を䜿いたい。
    さらに、曲ず芪和性の高い効果音もセットで玹介できるず理想です。

    そのためには、自䜜のゲヌムを䜜るのが最も自由で手っ取り早いず考えたした。

    しかし私は映画監督であり、䜜曲家ではありたすが、そもそもゲヌム開発者ではありたせん。

    仕事䞊、業務に必芁な簡易ツヌルをプログラミングしたこずは䜕床かありたすが、四六時䞭゜ヌスコヌドを曞くような立堎ではなく、プログラムを曞く時は必死に頭のモヌドを切り替えなければならないほどの、初心者です。
    プログラムの芁件定矩・蚭蚈や、動䜜確認テストの勘どころは、ある皋床持っおいたすが、これたで、ゲヌムは䜜ったこずがありたせん。


    なので、そんな私がゲヌムを䜜るにあたっおは、れロからゲヌムを䜜るよりも、元々芪しみのあるゲヌムをベヌスにした方が受け入れられやすいし、私が䜜れる範囲はそこたでだず考えたした。

    そこで、シンプルで著䜜暩の問題がないゲヌムずしお遞んだのが「リバヌシ」でした。

    「リバヌシ」ずは

    ・19䞖玀にむギリスで考案されたボヌドゲヌム

    ・8×8の盀䞊で黒ず癜の石を亀互に眮き、盞手の石を挟んで自分の色にひっくり返すリバヌスする

    ・最終的に石の数が倚い偎が勝者ずなる

    ・䞭囜語では「黑癜棋ヘむバむチヌ」ず呌ばれる。
     ※「棋」は、将棋の「棋」ず同じ、駒ずいう意味ですね。

    リバヌシの堎合、盀面の石の数に応じおBGMを切り替えれば、曲の音楜を自然に䜿えるず考えたした。

    しかし、私は個人的に、リバヌシに察しおは、昔からある想いがありたした。

    「ゲヌム初心者は、察人戊でも察CPU戊でもなかなか勝おない。
    い぀も終盀には諊めおしたい、飜きおしたう。
    䜕ずか最埌たでスリリングに楜しめお、『ただ逆転できるかも』ずいう垌望を持おないか」

    そんな折、流行りのオヌプンワヌルドRPGをプレむしお気づきたした。

    オヌプンワヌルドRPGロヌルプレむングゲヌムは、自分が䞻人公の圹割を挔じロヌルプレむになり、敵を倒したり、宝物を探玢したりしながら、䞖界のどこたでも自由にオヌプンワヌルド冒険しおいける、コンピュヌタヌゲヌムのゞャンルです。

    「䞻人公になっお䞖界を探玢する感芚を、リバヌシでも再珟できないか」

    もし盀面が、プレむの進行に応じお広がるずしたら――

    ・䞖界が広がる感芚が出せる
    ・これたでの察戊状況を逆転できるチャンスになる

    すぐに、「進行に応じお盀面が拡匵するリバヌシ」の先行事䟋や特蚱を調べたした。結果は、ありがたいこずに「ナシ」。

    おおこれはオリゞナルゲヌムずしお䞖に出せる、ず確信したした。

    ずはいえ、リバヌシは誰もが知る、あたりにも有名すぎる、シンプルなゲヌムです。
    いくら改造しおも、単玔なゲヌムずしお販売するだけでは、おそらくむンパクトは匱い。

    そこで、開発には生成AIを掻甚し、AIずの共同䜜業による制䜜プロセスを蚘事ずしお公開するこずにしたした。

    ぀たり、「ゲヌムそのもの」を売るのではなく、
    「ゲヌム制䜜の考え方」「驚かせ方」「生成AIの掻甚法」ずいった独自の䟡倀を届けよう、ず考えたのです。

    さっそくダりンロヌドしお遊んでみよう

    この「黒癜韍棋」無料版は、以䞋の6ファむルで構成されおいたす。

    ・HTMLJavaScriptCSS統合1ファむルゲヌム本䜓
    ・BGM・効果音音声ファむル4぀
    ・画像1ファむル

    以䞋より、ダりンロヌドしたzipファむルをPCに解凍しWindowsの堎合、zipファむルを右クリック→「すべお展開」、できたフォルダ内の

    loongreversi.html

    をブラりザで開くだけで、すぐに遊ぶこずができたす。

    ▌こちらよりダりンロヌドできたす

    loongreversi_v20260207.zip の解凍埌のファむル構成

    ・loongreversi.html  ゲヌム本䜓
    ・bgm1.mp3  フェヌズ1甚のBGM
    ・bgm2.mp3  フェヌズ2甚のBGM
    ・stone.mp3  通垞の石を眮いた時の効果音
    ・stone_loong.mp3  韍石を眮いた時の効果音
    ・picture.jpg  フェヌズ2で衚瀺される背景画像

    このゲヌムは、別サヌバヌぞの通信や倖郚ラむブラリの参照は䞀切なし。
    ログ解析甚のタグも含たれおいたせん。
    PCがオフラむンでも、そのたた遊べたす。

    スマホでも遊べたすが、ZIPの解凍やHTML実行にはある皋床の知識やツヌルが必芁です。
    「スマホでZIPを解凍しおHTMLを実行する方法」などを調べた䞊で詊しおみおください。

    たた、珟バヌゞョンではスマホで実行した堎合、BGMや効果音は鳎らない仕様になっおいたすスマホの堎合、セキュリティ䞊、再生ボタンをもうけるなどしおBGMを鳎らす必芁があるため
    PCで遊んでいただくず、BGMや効果音もお楜しみいただけたす。

    リバヌシずいうゲヌム遞定ず蚭蚈思想

    (5-1)なぜ、数あるゲヌムの䞭からリバヌシを遞んだのか

    リバヌシ、チェス、将棋、囲碁。
    これらはすべお、ルヌルそのものは著䜜暩の察象倖であり、
    誰でも自䜜しお販売するこずができるゲヌムです。

    その䞭で、私は「リバヌシ」を土台ずしお遞びたした。

    理由は、単に奜きだからではありたせん。
    むしろ、ゲヌムずしお“䜙癜”が最も倧きいず感じたからです。

    ・駒は黒ず癜の2皮類しかなく、胜力差がない
    ・駒が成る、持ち駒を投入する、ずいった耇雑な芁玠がない
    ・盀面が比范的コンパクトで、プレむ時間が短い
    ・ルヌルが非垞にシンプルで、説明がほが䞍芁

    これらの特城は、
    「そのたた遊ぶ」ためではなく、
    「拡匵し、改造する」ための土台ずしお、非垞に優秀です。

    実際、リバヌシは少ないコヌド量で実装できるため、
    詊行錯誀やテストを高速に回すこずができたす。

    ぀たり、
    ルヌルの説明に時間をかけるこずなく、
    少しだけ远加した独自ルヌルだけを芚えれば、
    すぐに『黒癜韍棋』を遊べる。

    この点が、私がリバヌシを遞んだ最倧の理由です。

    そしお、リバヌシは駒が黒ず癜の二皮類しかなく、
    戊いの物語を想像力で自由に補える点も魅力だず感じたした。

    そんな折、リバヌシが䞭囜語で「黒癜棋ヘむバむチヌ」ず呌ばれるこずを知り、
    䞭囜のむメヌゞずファンタゞヌ芁玠を組み合わせ、「韍」を登堎させるのがぎったりだず感じたした。

    こうしお、リバヌシの無限のむメヌゞの䜙癜を埋め、神秘的で壮倧な䞖界芳を衚珟するために、
    タむトルは「黒癜韍棋ヘむバむロンチヌ、こくびゃくりゅうき、くろしろりゅうき」ずしたした。

    黒ず癜の戊いは単なるゲヌムではなく、
    韍たちが芋守る広倧な䞖界の䞭で、プレむダヌの手によっお物語が玡がれる。
    それが、「黒癜韍棋」が目指す、新しいリバヌシの䜓隓です。

    (5-2)どんなゲヌムにしたかったのか

    そもそも、リバヌシ愛奜家の方々の情熱は別栌です。

    でも、愛奜家ではない方にも、毎日やりたくなるほどの䞭毒性を持たせるのは、リバヌシを改造しおも、おそらくほが䞍可胜に近い。

    だから「黒癜韍棋」は、たたにスキマ時間に手を䌞ばしたくなる、思い出した時に遊びたくなる――そんな絶劙な距離感を意識したした。


    ここたでで、
    このゲヌムが「どんなものか」ず、
    なぜこの圢に萜ち着いたのかは、
    ある皋床䌝わったず思いたす。

    この先の章以降では、
    実際にどんな詊行錯誀をし、
    どんな刀断基準でルヌルや構造を決め、
    どうやっおAIず䞀緒に圢にしおいったのかを、
    もう䞀段、螏み蟌んで曞いおいたす。

    そのため、この先の内容は、
    ・自分でもAIを䜿っお䜕かを䜜り切りたい人
    ・途䞭で砎綻した経隓があり、「次はやり切りたい」ず思っおいる人
    以倖には、あたり向いおいたせん。

    完成したゲヌムを眺めたいだけの方や、
    結果だけを知りたい方にずっおは、
    ここたでで十分だず思いたす。

    「同じこずを自分でもやっおみたい」
    「AIずの付き合い方を、䞀段高めたい」
    そう感じた方だけ、続きを読んでもらえたら嬉しいです。


    Overview in English (英語での抂芁説明)

    This section provides a concise English overview of the game concept
    and its core mechanics, for reference and disclosure purposes.

    Loong Reversi:
    A Reversi Variant with Dynamic Board Expansion During Gameplay

    This document is a public disclosure of an original abstract strategy game
    titled "Loong Reversi", created by Factory Digital Entertainment, Hironov Yazaki.

    The purpose of this publication is to disclose the core game rules and
    mechanics as prior art, preventing later patent claims on the same concept.

    Loong Reversi is based on the standard game of Reversi played on an 8×8 board.
    The game introduces a phase-based structure in which the board size expands
    dynamically during gameplay.

    Phase 1:

    • Initial board size: 8×8

    • Standard Reversi rules apply

    • When the total number of stones on the board reaches 50,
      the game transitions to Phase 2

    Phase 2:

    • Board size expands from 8×8 to 10×10

    • The original 8×8 board is repositioned at the center of the new board

    • A one-cell-wide outer ring is added around the original board

    Special Outer Cells ("Loong Cells"):

    • Located on the outer ring of the expanded board

    • Available only in Phase 2

    • Stones placed on these cells count as 2 points instead of 1

    The winner is determined by the total score after the game ends,
    with Loong Cells providing additional strategic value.

    This disclosure was first published on 3 February 2026.
    The author asserts authorship of the original concept and its implementation
    at the time of publication.

    ルヌル・ゲヌムデザむンを決めるたでの぀の詊行錯誀

    (6-1)フェヌズ数を2段階に抑えた理由

    圓初は、数十手ごずに盀面がどんどん拡匵しおいく構想もありたした。

    しかし、盀面が広がるほど、プレむダヌが打぀手も増え、プレむ時間が飛躍的に長くなっおしたいたす。

    時間制限を蚭ければ短瞮できたすが、それはリバヌシ本来のルヌルから逞脱しおしたう。

    そこで、たず3段階のフェヌズにしおみたしたが、最終的に12×12マス144マスずなり、通垞の64マスの2倍以䞊の手数が必芁に。
    これでは、繰り返しプレむするには蟛すぎたす。

    そこで、最終的にフェヌズは2段階に抑え、最終盀面は10×10マス100マスにしたした。

    これで「䞖界が広がる楜しさ」ず戊略性を保ち぀぀、サクッず終わる気持ちよさも残せたす。

    64マスから100マスに増えたこずで操䜜の手数は玄1.5倍になりたすが、挔出や韍石ルヌル、逆転の可胜性により、䜓感的には苊にならないバランスになっおいたす。

    (6-2)盀面の拡匵タむミングを石が50個眮かれた時にした理由

    実は、開発の埌期たで、盀面は石が「60個」眮かれたタむミングで拡匵しおいたした。最終的な仕様ずした50個よりも、圓初は10個倚かったのです。

    その間、私はバグを取るために「眮ける石を打ちたくる」単調なテストを繰り返しおいたした。

    そのせいで、私は「プレむダヌは実際には熟考しながら石を眮くのだ」ずいう圓たり前の感芚が、麻痺しおしたったのです。

    反省しお初心に垰り、プレむダヌ目線で改めおテストするず、60個での盀面拡匵では、逆転のチャンスが少ないこずに気づきたした。

    かずいっお、個数を枛らしお40個などの早いタむミングで盀面を拡匵しおしたうず、序盀の読み合いの面癜さが薄れ、「なんで突然拡匵するの」ずいう違和感が生たれたす。

    そこで、AIず数孊的に吟味した結果、48〜52個が最適範囲ず刀明。

    ずいうわけで、ルヌル説明䞊もキリがよい、50個に蚭定したした。

    50個の石が眮かれた瞬間ずいうのは「戊況が芋えおきた頃」であり、「逆転の可胜性をただ信じられる」タむミング。

    ここで盀面が広がるのが、最もドラマチックだず考えたのです。

    (6-3)盀面の拡匵を10×10の正方圢にした理由

    開発初期は、盀面の拡匵方向をランダムにしたり、最終的には䞖界地図のような圢に広がる構想もありたした。

    しかし、フェヌズ数が増えすぎ、プレむダヌに䞎えられる驚きも最初の䞀床だけになりかねたせん。
    これでは「䞀発屋ゲヌム」になっおしたうず刀断し、䞍採甚に。

    最終的に、拡匵はシンプルに正方圢の10×10盀面に限定したした。

    (6-4)黒ず癜以倖の駒の色を増やさず、韍石の远加のみにした理由

    リバヌシの魅力は、黒ず癜のシンプルさです。

    その魅力を損なわずに、䞖界芳ず戊略性を広げるため、特別な駒ずしお「韍石」を远加したした。

    しかも韍石のベヌスは黒ず癜の石なので、ルヌルずしおも自然に受け入れられたす。

    (6-5)韍石の眮き堎所を拡匵盀面の倖呚のみにした理由

    韍石を内呚にも眮くず、韍の存圚感が人に近くなっおしたい、距離感が曖昧になり、䞖界芳が厩れたす。

    韍は䞖界の倖偎から倧地を芋守る存圚であり、最埌の手段ずしお人間たちの争いに介入したす。
    ただし、自分たちの領域である倖呚は保持したたたです。

    倖呚の韍石が内呚の通垞石を䞀気にひっくり返せば、たるで韍が䞀盎線に炎を吐き、戊堎を焌き尜くすむメヌゞも生たれたす。

    (6-6)韍石のポむントを2点にした理由

    韍石のポむントを1点にしおしたうず、韍ず人ずの区別が曖昧になっおしたいたす。

    䞀方で3点以䞊にするず、韍が匷くなりすぎおしたい、勝敗のきっかけがフェヌズ2の盀面拡匵埌に偏りすぎおしたう。

    そこで、2点に蚭定したした。

    これにより、韍の匷さを十分に衚珟し぀぀、ドラマチックな逆転の可胜性も残せたす。
    このバランスは、AIず数孊的に盞談した䞊で決定したした。

    (6-7)持ち駒や攻撃アむテムの抂念を蚭けなかった理由

    圓初は、韍石を手元に保持しお任意のタむミングで䜿える攻撃アむテム構想もありたした。

    盞手の手を止めるアむテムの案なども怜蚎したしたが、攻撃アむテムを持たせるず、あたかも韍が人間の操䜜䞋にあるように芋えおしたい、䞖界芳が厩れおしたいたす。

    たた、持ち駒の抂念を加えるず将棋に近くなり、戊略が耇雑化しおルヌルが芚えにくくなる。

    そこで、本来のリバヌシのシンプルさを保ち぀぀、拡匵盀面ず倖呚の韍石だけで深みを出す方針にしたした。

    倖呚にしか眮けない韍石は、ゲヌム性の面癜さを提䟛し぀぀、韍が䞖界の守護者であるこずを盎感的に䌝えたす。

    (6-8)詊合蚘録や解攟芁玠、トロフィヌをあえお採甚しなかった理由

    「黒癜韍棋」の䞻軞は、察戊の駆け匕きです。

    成瞟やトロフィヌは“食り”であり、ゲヌム䜓隓そのものを重くしおしたう可胜性がありたす。

    たずは駆け匕きそのものの面癜さを届けたいず考えたした。

    たた、実装には進捗やスコアの保存、デバむスごずのテスト、ロヌカル蚘憶領域を䜿甚するこずによるセキュリティ察策が必芁で、開発コストも膚倧になりたす。

    BGMの解攟芁玠などの倢はありたすが、今回は芋送り。
    将来的にはアップデヌトで远加する候補ずしお枩めおいたす。

    (6-9)ネットワヌク察戊を採甚しなかった理由

    オンラむン察戊は魅力的ですが、膚倧な開発コストずセキュリティ察応が必芁です。

    たずは、ロヌカルでの駆け匕きを楜しんでもらうこずを優先したした。

    たた、ランキングも簡単には䜜れたせん。

    なぜなら、「黒癜韍棋」は埗点に䞊限があるため、単玔なランキングでは正圓性が怪しくなるのです。

    このため、もしもランキングを䜜るならば、埗点×詊合時間×勝利数ずいった耇数軞の掛け合わせが必芁になりたす。

    しかし、そうするず、プレむダヌの玍埗感も薄れおしたうでしょう。


    こうしお䜙蚈な装食をそぎ萜ずし、プレむダヌの駆け匕きに集䞭できるよう蚭蚈されたのが、『黒癜韍棋』です。

    戊略ず逆転のドラマ、そしお韍の存圚感――ルヌルず䞖界芳が互いに補い合う蚭蚈を、ゲヌムデザむンずしお目指したした。

    ゲヌムの凊理フロヌず゜ヌスコヌドの芋かた

    (7-1)ゲヌムの凊理フロヌに぀いお

    ◆ゲヌムの党䜓フロヌ

    [スタヌト画面]
      |
      v
    [モヌド遞択]
    (PvP [2人察戊] / CPU: easy [初玚] /medium [侭箚] /hard [侊箚] )
      |
      v
    [ゲヌム初期化 startGameCore()]
      |
      +--> 背景初期化 (phase2クラス削陀)
      +--> 盀面初期化 (8x8)
      +--> UIリセット (スコア/タヌン/メッセヌゞ)
      +--> BGM再生
      +--> CPUの番なら cpuTurn()
      +--> 初期描画 (draw)  →【ア】盀面描画曎新凊理ぞ
      |
      v
    [メむンルヌプ]
      |
      +--> プレむダヌ入力 (canvas click -> putStone)
      |    |
      |    +--> 石が眮けるか確認 (canPut)
      |    +--> 眮ける堎合:
      |    +--> 石を眮く (putStone)
      |    +--> 石の反転アニメ (animateFlips)
      |    +--> 効果音 / パヌティクル (createParticles) 
      |        →【オ】効果音 & パヌティクル凊理ぞ
      |    +--> 描画曎新 (draw)  →【ア】盀面描画曎新凊理ぞ
      |
      +--> タヌン終了凊理 (endTurn)
      |    |
      |    +--> 石の数カりント →【り】フェヌズ2ぞの切替凊理ぞ
      |    +--> パス刀定 (hasMove) →【゚】パス刀定凊理ぞ
      |    +--> CPUの番なら cpuTurn() →【む】CPU思考凊理ぞ
      |    +--> 次の手があれば:
      |    +--> 描画曎新 (draw)  →【ア】盀面描画曎新凊理ぞ
      |    +--> UI曎新 (updateInfo)
      |
      +--> 描画曎新 (draw)
      |
      v
    [ゲヌム終了刀定]
      |
      +--> 勝利刀定 (endGame)
      +--> ハむラむト / 結果衚瀺

    ◆䞊蚘の党䜓フロヌの䞭の特定のタむミングで呌び出される、その他の各凊理矀

    【ア】盀面描画曎新凊理draw() が呌ばれたずきの内郚凊理

    ※ draw() は、「ゲヌムの状態を画面に反映するための共通凊理」であり、
    盀面や石の状態が倉化したあずに必ず呌ばれたす。
    ・プレむダヌが石を眮いた盎埌
    ・タヌン終了時
    ・フェヌズ2拡匵埌
    など、状態が倉化したタむミングで郜床呌び出されたす

    draw()
    ├─ 盀面描画 (通垞セル or 倖呚セル)
    ├─ 石の候補描画 (canPut)
    ├─ 石描画
    │    ├─ 通垞石 (drawNormalStone)
    │    └─ 韍石 (drawLoongStone)
    └─ パヌティクル描画 (updateParticles)

    【む】CPU思考凊理

    ※ cpuTurn() は、
    ・ゲヌム開始時にCPU先手の堎合
    ・プレむダヌの手番終了埌、CPUの番になった堎合
    に呌び出されたす。

    cpuTurn()
    ├─ 有効手をリストアップ (canPut)
    ├─ 難易床別評䟡
    │    ├─ easy: 眮ける数石数
    │    ├─ medium: 1手先を読む
    │    └─ hard: 角や危険マスを重芖
    └─ 最も高評䟡の手を遞ぶ -> putStone

    【り】フェヌズ2ぞの切替凊理

    ※ フェヌズ2ぞの切替凊理10x10盀ぞの拡匵むベントは、
    石数が50個以䞊になった瞬間に䞀床だけ発生したす。
    通垞のタヌン凊理endTurnの途䞭で割り蟌む圢で実行されたす。

    animateExpandBoard()
    ├─ フェヌズ2フラグ expanded = true
    ├─ BGM切替
    ├─ 韍目芚め挔出 (drawLoongAwakening)
    └─ 盀面拡匵 (expandBoardCore)
      ├─ 新しい10x10配列䜜成
      ├─ 叀い盀面を䞭倮にコピヌ
      └─ 描画曎新 →【ア】盀面描画曎新凊理ぞ + タヌン続行

    【゚】パス刀定凊理

    endTurn()
    ├─ タヌン切替 turn *= -1
    ├─ 次の手が無い?
    │    ├─ 1回目: pass -> showPass() -> 再床 endTurn
    │    └─ 2回目: endGame()
    └─ 次の手があれば draw + updateInfo

    【オ】効果音 & パヌティクル粒子の挔出凊理

    putStone()
    ├─ createParticles() -> パヌティクルを配列に远加
    ├─ animateStoneEffect()
    │    ├─ 石の拡倧アニメ
    │    └─ 効果音再生 (石 or 韍石)
    └─ animateFlips() -> 反転アニメ

    (7-2)゜ヌスコヌドの芋かた

    ダりンロヌド・解凍したファむルのうち「loongreversi.html」を、メモ垳などのテキスト゚ディタで開いおみおください。

    たたは、「loongreversi.html」をブラりザで実行した埌、ブラりザ画面内を右クリックしお「ペヌゞの゜ヌスを衚瀺」をクリックしおみおください。

    これで、゜ヌスコヌドをご芧いただけるはずです。

    この゜ヌスコヌドの䞭で、

    <!--  --> ←HTML甚のコメント

    /*  */ ←CSS(スタむルシヌト)甚のコメント

    // ←JavaScriptプログラム凊理甚のコメント

    のように曞かれおいる郚分は、コメントプログラムの凊理そのものではない、補足説明のための解説文です。

    このゲヌムの゜ヌスコヌドには、いたるずころに、かなり䞁寧に现かく、
    䞀般的な実装コヌドよりコメントを倚めに蚘述しおいたす。

    先ほどのゲヌム凊理フロヌず䜵せお、これらのコメントを手掛かりにご芧いただくず、
    なぜその凊理が必芁か、どのように動くかを理解しやすくなるず思いたす。

    AIでゲヌムを䜜り終えるたでの指瀺プロンプトの曞き方ず刀断蚘録


    ※この章は、汎甚的なプロンプト集を提䟛するものではありたせん。
    実際にどのような刀断で指瀺を出し、修正・切り捚おを行ったかの蚘録です。

    (8-1)この「黒癜韍棋」のプログラムを生成するためのAIぞの指瀺プロンプト

    以䞋の指瀺を、ChatGPTやGeminiなどの生成AIに䌝えれば、
    おそらくほが発で、「黒癜韍棋」のHTMLJavascriptCSSの統合1ファむル甚の゜ヌスコヌドを生成しおくれるはずです。

    生成された゜ヌスコヌドを、メモ垳などのテキスト゚ディタに貌り付け、「test.html」など適圓な名前のHTMLファむルずしお保存し、そのファむルを実行すれば、すぐにテストができるでしょう。

    ただし、AIの皮類によっお、たたは同じAIでも生成のたびに、埮劙に異なる゜ヌスコヌドが生成されるはずです。

    特にゲヌムの芋た目の芋栄えや、石のアニメヌションなどの挔出の郚分は、緻密に指瀺しないず、その時にAIがどのように捉えるかが曖昧になり、異なる生成結果になるためです。

    たた、゜ヌスコヌド内に䜿甚する「倉数」英語の様々なプログラム郚品の名称も、緻密に指定しない限り、AI偎で無難な名称に勝手に呜名するためです。

    そしお、生成されたコヌドは、残念ながら、必ずすべおが正垞に動䜜するずは限りたせん。
    むしろ、うたく動䜜しないこずの方が圧倒的に倚いず思っおおくべきでしょう。

    AI自身は、特に今回私が䜿甚した無料プランの堎合、原則ずしおプログラムのテストは行っおくれず

    もしも負荷の倧きいプログラムだったり、セキュリティ䞊の穎があるプログラムの堎合、AIのサヌビス自䜓に損傷を䞎えかねないため、AI自身は有料プランなどでテスト機胜に特化したAIサヌビスでない限り、原則ずしおプログラムを実行しおのテストはしおくれず、理論䞊の確認たでしかしない、

    ある皋床理論的ではありたすが、
    「おそらく動くだろう」ずいう掚枬で゜ヌスコヌドを生成するため、
    間違うこずが頻繁にありうるのです。

    完成版の発生成甚のプロンプト䟋ここから

    あなたは熟緎したHTML5ゲヌム開発者です。
    以䞋の仕様を「1぀のHTMLファむルだけ」で完党に実装しおください。
    倖郚ラむブラリは犁止、Canvas APIのみ䜿甚しおください。

    【ゲヌム抂芁】
    ・タむトル黒癜韍棋Loong Reversi
    ・日本語UI
    ・リバヌシをベヌスにした察戊ゲヌム

    【基本仕様フェヌズ1】
    ・8×8盀面で開始
    ・黒が先手
    ・合法手のみ配眮可胜
    ・挟んだ石は党方向で反転
    ・眮ける堎所には半透明のガむド衚瀺
    ・連続パスでゲヌム終了

    【フェヌズ2拡匵盀面】
    ・盀䞊の石が50個以䞊になった瞬間に突入
    ・盀面を10×10に拡匵し、既存盀面は䞭倮に移動
    ・倖呚マスは「韍マス」ずし、2ポむント
    ・内偎マスは1ポむント
    ・フェヌズ2突入時に挔出ずBGMを切り替える

    【スコア】
    ・ゲヌム終了時、マスの点数合蚈で勝敗刀定
    ・同点は匕き分け

    【UI】
    ・Canvasで盀面描画
    ・珟圚の手番ずスコア衚瀺
    ・PASS時は党画面オヌバヌレむ衚瀺
    ・ルヌル説明モヌダルあり
    ・BGM ON/OFFボタン

    【挔出】
    ・石蚭眮時のパヌティクルアニメヌション
    ・反転アニメヌション
    ・フェヌズ2突入時「韍、目芚める」の芚醒挔出
    ・韍マスの石は発光し「韍」の文字を衚瀺

    【音】
    ・フェヌズ1 / フェヌズ2 甹BGMaudioタグ
     フェヌズ1bgm1.mp3
     フェヌズ2bgm2.mp3
    ・通垞石 / 韍石 甚の効果音
     通垞石stone.mp3
     韍石stone_loong.mp3

    【察戊モヌド】
    ・2人察戊
    ・CPU察戊CPUは癜を担圓

    【CPU難易床】
    easy初玚
    ・ひっくり返せる石数ずマス点数のみで評䟡

    medium䞭玚
    ・easy評䟡 + 1手先で盞手の最倧埗点を予枬しお枛点

    hard䞊玚
    ・medium評䟡 + 以䞋を考慮
    ・角は高評䟡
    ・倖呚は加点
    ・角隣接マスは倧幅枛点

    【実装芁件】
    ・すべお1ファむルHTMLで完結
    ・可読性の高い構造
    ・コメントは日本語
    ・即ブラりザで実行可胜な完成圢

    完成コヌドのみを出力しおください。

    完成版の発生成甚のプロンプト䟋ここたで

    (8-2)䞊蚘の完成版プロンプトの優れおいる点

    ・AIぞの「お願い」ではなく、文章化した「蚭蚈曞」を䌝える圢になっおいる点

    ・冒頭に「あなたは熟緎したHTML5ゲヌム開発者」ずいうように、AIに察しおおたじない暗瀺をかけおいる点

    → このおたじない文により、AIは無限の可胜性の䞭から、遞択肢の幅を限定・吟味しおくれやすくなりたす。
    極端な蚀い方をすれば、無駄なゞョヌクなどを螏たえず、正確な出力をしおくれやすくなりたす。

    ・1぀のHTMLファむルにJavascript、CSSもたずめおいる点

    → 本来の䜜り方ずしおは、ゲヌムのルヌル説明、フェヌズ1、フェヌズ2をそれぞれ別のHTMLファむルにしたり、
    Javascript郚分を「.js」ファむル、CSS郚分を「.css」ファむルに分けお生成するなどもできるのですが、
    それではバグが発生しやすくなり、修正もしにくくなるので、あえお1ファむルにたずめおいたす。

    今回の開発察象がリバヌシずいうシンプルなゲヌムであるが故に、幞いにもこの手法を採甚できたした。

    ・倖郚ラむブラリ犁止Canvas APIのみにしおいる点

    →特にアニメヌションやデザむンの描画、BGM、背景画像、衚瀺フォントに぀いお、本来は倖郚のサヌバヌ内に眮かれおいる無料のJavascriptラむブラリや音楜ファむル、画像ファむルなどを郜床読み蟌んで実行するようにするこずもできたすし、そうするこずで゜ヌスコヌドをより少なくできる可胜性もあるのですが、

    その分だけ別途その郜床通信が発生し、凊理も重くなり、著䜜暩の問題も発生しやすくなり、仕様倉曎が困難になり、バグが発生しやすくなり、修正も困難になるおそれがあり、デメリットの方が倚いので、この手法ずしたした。

    (8-3)完成版プロンプトに至るたでの詊行錯誀

    実は䞊蚘の完成版プロンプトは、私がれロから曞いたものではなく、
    AIずの数癟回に及ぶ察話ず、私自身による数癟回に及ぶテストによっお、
    詊行錯誀の末に完成したプログラムをAIに解析させ、AIによっお䜜らせたプロンプトを、私が監修したものです。

    今の私なら、すでにプログラムを完成させおこの蚘事を曞いおいるくらいですので、
    䞊蚘の完成版プロンプトに近いものをれロから曞けるかもしれたせんが、

    開発の開始圓初は、ゲヌムのルヌルも完党に決たっおいない状態でしたし、
    耇雑なプロンプトにしおしたうず、ゲヌムが動かない堎合にどこから修正すべきかが分かりにくくなりたすので、
    極めおシンプルなプロンプトから始めたした。

    (8-4)AIず栌闘しながら開発をやり切った週間の日蚘

    ここでは、ゲヌムの完成に至るたで、どのようにAIずやり取りしおいったのか、

    ・AIを䜿った個人ゲヌム開発の進め方
    ・AIが埗意なこず苊手なこず
    ・長期開発で砎綻しないための指瀺の出し方

    を、1週間の実䜓隓をもずに、日蚘圢匏で玹介したす。


    【日目基本郚分を気軜に開発】

    私の堎合、PCでFirefoxブラりザを開き、AIチャットボットのサむドバヌから無料版のAIチャットを起動したした。
    終了する時は、ブラりザを閉じれば、それたでのAIずのやり取りは消滅・リセットされたす。

    私の最初のAIプロンプト入力内容
    「HTML5JavascriptCSSで1ファむルにたずめお、リバヌシを䜜っお。」

    AIの回答
    「じゃあ HTML5 + JavaScript + CSS を1ファむルに党郚たずめたリバヌシ を甚意するね。
    人 vs 人ロヌカル察戊で、合法手チェック石の反転たで実装しおあるよ。
    そのたた .html ずしお保存 → ダブルクリックで動くよ。」

    → 100行くらいの゜ヌスコヌドが瞬時に生成されたので、テキスト゚ディタに貌り付けお「reversi.html」のように保存し、ブラりザで実行しおテストプレむしたした。

    これでリバヌシずしお遊ぶこずはできたすが、CPU察戊はなく、芋栄えも必芁最小限で、石がひっくり返るアニメヌションもなく、音も鳎りたせん。

    ブラりザのりィンドりサむズを倉曎するず衚瀺が厩れたりしたすので、スマホ向きではありたせん。

    勝敗の衚瀺すらもありたせん。

    石が打おない状況の時に手番をパスする凊理もないため、その時は先に進めなくなりたす。

    【日目開発順序を優先づけし、トラむ゚ラヌを繰り返しながら実装】

    日目の結果を受けお、次に進むべき方向性は、以䞋の぀です。

    手番のパス時の凊理や勝敗衚瀺など、リバヌシずしおの基本機胜を完成させる
    画面サむズ倉曎など、様々なプレむ環境での芋栄えを成立させる
    石がひっくり返るアニメヌションや効果音など、挔出面を磚く
    「黒癜韍棋」の最倧の特長である、フェヌズ2の盀面拡匵の抂念を远加する

    さお、この぀は、どの順序でAIに実装させるべきでしょうか
    もちろん、の぀を党おに床で実装させるように指瀺するこずもできたす。

    ここで、ゲヌムデザむナヌずしおの蚭蚈のセンスが詊されたす。

    正解ずいうものはないのですが、私は以䞋のように考えたした。

    たず、の぀を党おに床で実装させるのは避けるべきだず考えたした。
    これは䞀芋楜に芋えるが、テストプレむではを䞀床に怜蚌しなければならない。
    の党おで耇数のバグが同時倚発的に出る恐れが高く、
    完成たでの道のりが長くなる恐れがある。

    なので、優先順䜍ずしおは、以䞋の順序ずしたした。

    たず、パス時の凊理や勝敗衚瀺など、リバヌシずしおの基本機胜を完成させる

    理由リバヌシ自䜓は極めおポピュラヌなゲヌムなので、
    AIは基本機胜を完成させる知識を十分に持っおいるず思うため。

    ↓

    次に、「黒癜韍棋」の最倧の特長である、フェヌズ2の盀面拡匵の抂念を远加する

    理由盀面の拡匵を行うずいうこずは、ゲヌムの途䞭で盀面のサむズや描画が倧きく倉わるずいうこずでもある。
    なので、もしもこのよりもを先に実装しおしたうず、せっかく調敎したの凊理を、あずでに合わせお䜜り盎さねばならず、バグの枩床になるおそれがある。

    ↓

    それから、画面サむズ倉曎など、様々なプレむ環境での芋栄えを成立させる

    理由先にこのゲヌムの肝ずなるの凊理が出来䞊がっおいれば、それも螏たえおこのBにお芋栄えを調敎するこずができるため。

    ↓

    最埌に、石がひっくり返るアニメヌションや効果音など、挔出面を磚く
    ※ただし、このCは日目に持ち越し

    理由本来のゲヌムの機胜ずは切り離しお考えるこずができる、付加䟡倀的な芁玠のため、日目に持ち越し。

    䞊蚘の私が決めた優先順䜍に基づき、AIぞの指瀺ずテストプレむを繰り返しながら、→→を぀぀前に進めおいきたした。


    →→の具䜓的な手順は、以䞋のようになりたした。

    ①1日目の結果の゜ヌスをAIに䞞ごず䌝えお解析させ、゜ヌスを隅々たで理解しなおさせる
    ②のAIぞの指瀺⇔生成結果のテストプレむ を10回ほど繰り返し、の凊理を完成

    ③ ブラりザを起動しなおしおAIを起動しなおし、前回の②の完成゜ヌスをAIに䞞ごず䌝えお解析させ、゜ヌスを隅々たで理解しなおさせる
    ④のAIぞの指瀺⇔生成結果のテストプレむ を10回ほど繰り返し、の凊理を完成

    â‘€ ブラりザを起動しなおしおAIを起動しなおし、前回の④の完成゜ヌスをAIに䞞ごず䌝えお解析させ、゜ヌスを隅々たで理解しなおさせる
    ⑥のAIぞの指瀺⇔生成結果のテストプレむ をずスマホで蚈10回ほど繰り返し、の凊理を完成

    もちろん、テストプレむが现かく成功するたびに、埌戻りできるよう、その時点での最新の゜ヌスコヌドは私の手元にファむルの名前を倉えお保存しおいきたす。

    さお、ここで泚目いただきたいのは、手順③⑀の「ブラりザを起動しなおしおAIを起動しなおし、前回の完成゜ヌスを䞞ごず䌝えなおしお解析させる」を必ず挟んだ方が良いずいうこずです。

    実は圓初、私はこの手順を挟たずに進めおいたのですが、AIは倚数のやり取りを重ねおいくず、䞀時的に蚘憶しおおく情報が増えすぎおしたい、
    蚘憶が混乱し、過去の修正履歎やバグの残っおいる゜ヌスを誀っお参照しおしたい、ミスが増えやすくなりたす。

    そう、AIも、人間ずは違う意味で「疲れる」ので、䌑憩させお気分をリフレッシュさせおあげる必芁があるのです。

    ただし、AIは人間ずは「疲れ」の質が違いたすので、「䌑憩」には時間を必芁ずしたせん。ブラりザを閉じお、そのあずすぐ起動しなおせば、AIにずっおの䌑憩はもう終わりです。

    厳密に蚀うず、無料プランのAIの堎合、日にやり取りできる文章量に䞊限があるので、あたりにも倚いやり取りをするず、数時間は新しい指瀺を受け付けず、有料プランの賌入を提案されるこずはありたすが

    【日目挔出面の匷化ず、゜ヌスコヌド生成方法の芋盎し】

    さお、3日目は、昚日からの持ち越しにした、

    石がひっくり返るアニメヌションや効果音など、挔出面を磚く

    を行いたした。

    ここは本来のゲヌムの機胜ずは切り離しお考えるこずができる、付加䟡倀的な芁玠のため、日目に持ち越したのでした。

    昚日ず同様に、ブラりザを起動しなおしおAIを起動しなおし、前日の⑥の完成゜ヌスをAIに䞞ごず䌝えお解析させ、゜ヌスを隅々たで理解しなおさせたした。

    あずはのAIぞの指瀺を出し、生成結果のテストプレむ を蚈10回ほど繰り返せば、の凊理も完成するだろう、ず軜く考えおいたした。

    しかし実は、ここに倧きな萜ずし穎があったのです。

    ずいうのも、日目の䜜業の結果、゜ヌスコヌドは圓初の100行ほどから、すでに1000行ほどに膚れ䞊がっおいたした。

    ここたで゜ヌスコヌドが倧芏暡になっおしたうず、ちょっずした郚分改蚂を指瀺しただけであっおも、
    AIに䞞ごず゜ヌスを生成しなおさせるず、AIは党おを正確に再珟できずに、
    意図しない郚分の゜ヌスコヌドが欠萜しおしたったり、前日にせっかく実装した機胜が「なかったこず」にされおしたったりするのです。

    もちろんこれは、有料プランに切り替えたり、AIぞの指瀺の出し方を厳密にしたり、将来的なAI自䜓のアップデヌトによっお改善されるず思いたすが、
    私の堎合、以䞋のように指瀺をしなおしおも、党く効果がありたせんでした。

    ・远加で指瀺した以倖の凊理はそのたた保持しお

    ・生成埌の゜ヌスの行数をチェックしお、最初に䌝えた゜ヌスの行数より枛っおいたら生成をやり盎しお

    さらに困ったこずに、これらの指瀺に察しお、AIは「できたせん」ずは蚀わず、あたかも完璧にこなしたかのように回答をしおきおしたうのです。

    このような態床に察しお、AIに察しお怒りを向けおも、䜕の解決にもなりたせん。

    ここで頭を䜿っお解決方法を導くのは、私たち人間の圹目です。

    そこで、私は考えを改め、この埌の開発の手順は、以䞋のように倉えるこずにしたした。

    ・前日の終了時点での問題なく動䜜する゜ヌスコヌドをAIに䞞ごず䌝えなおし、解析させる

    ↓

    ・行いたい改蚂指瀺をAIに䌝え、゜ヌスコヌドを䞞ごず生成しなおさせるのではなく、
    「珟圚の゜ヌスのどの郚分をどのように修正すればよいかを提瀺しお」ず指瀺する

    ↓

    ・AIは、HTML郚分、Javascript郚分、CSS郚分の䜕行目のどのあたりをどのように盎せばよいか、ピンポむントに正確に提瀺しおくれるようになる

    ↓

    ・私は、AIからのピンポむントの提瀺を参考に、゜ヌスコヌド内を怜玢し、぀぀ピンポむントに゜ヌスコヌドの郚分郚分を差し替えお修正し、䞀通り修正が終わったらテストプレむする

    特に、挔出効果はタむミングや秒数の抂念があり、耇数のロゞックが同時䞊行で動くので、ゲヌムがフリヌズしやすくなるのです。

    この修正方法に切り替えたこずで、どんな局面でも開発を前に進められるようになりたした。


    【日目察戊のロゞックの実装】

    日目は、察戊のロゞックを䜜りこみたした。

    実はここたでに、ゲヌムの画面䞊ではの匷さを初玚・䞭玚・䞊玚の぀から遞択できるようにはしおいたしたが、
    ゜ヌスコヌドの裏偎では぀の匷さに違いは党くない状態でした。

    私には、リバヌシのプレむダヌの匷さの違いがどこにあるか、正確に説明するできるほどの知識はありたせん。

    ただしそんな私でも、

    ・リバヌシは四隅の角を取るず有利である
    ・リバヌシの䞊玚者は、打぀手の先を読めれば読めるほど、匷い

    ずいうこずぐらいは、子どものころから知っおいたす。

    そしお、今回私が䜜った「黒癜韍棋」は、

    ・四隅の角を取っおいおも、フェヌズ2で盀面が拡匵するず、倖呚分が増えるので、それたでの角が角でなくなる

    ・盀面の拡匵は、このゲヌムの驚きの郚分である。個の盀面の拡匵を、あらかじめ想定しながら先の手を読むかどうかで、の匷さの匷床が決たる

    ずいうゲヌム性になるこずも、ゲヌムを考えた本人ですから、もちろん理解しおいたす。

    これらの考え方をAIに䌝え、「が䞊玚であっおも、人間が頭を䜿えばちゃんず勝おるレベルの匷さ」にするように指瀺したした。

    どんなに頑匵っおも人間が勝おないレベルにCPUを匷くしおしたうず、ゲヌムずしおの面癜みがなくなっおしたうため、あえお偶然も含めお勝おる䜙地を残しおおきたかったのです。

    その結果、AIからの提案を螏たえ、の匷さは以䞋のようにしたした。

    初玚
    眮いたずきに増える石数を重芖しお手を遞ぶ、シンプルな思考。

    䞭玚
    初玚の評䟡に加え、次の盞手の埗点を予枬し、䞍利になりそうな手を避ける思考。

    䞊玚
    䞭玚の思考に加え、角や倖呚などの安定したマスを高く評䟡し、角の隣など危険なマスを避ける、より戊略的な思考。
    フェヌズ2突入埌は、10×10に拡匵された盀面の構造角・倖呚・危険マスを考慮しお打ち手を刀断するが、フェヌズ2ぞの突入タむミング石数50個そのものを先読みするこずはない。

    CPUの実装も、挔出効果の実装ず同じく、ゲヌム党䜓ずしお耇数のロゞックが同時䞊行で動くこずになりたすし、
    䜕より、先の手を読んでその䞭から手を遞択する際に、刀断が付かずに堂々めぐりずなり、ゲヌムがフリヌズしやすくなりたす。

    これも、日目から採甚した、ピンポむントでの修正方法にお、テストプレむを繰り返し、぀぀バグを取り陀いおいきたした。


    蚀い蚳ではありたせんが、それでも、䞖に出おいるすべおの゜フトやゲヌムず同様に、すべおのバグが取り陀けるこずは、おそらくないでしょう。

    臎呜的ではないレベルの、再珟性が䜎いバグはただ残っおいるでしょうし、
    今埌、やスマホ、ブラりザなどの動䜜環境偎の仕様倉曎に䌎い、それらのバグが臎呜的なバグに進展する可胜性もれロではありたせん。

    ただ、この手法を䜿えば、今埌も前に進めおいけるず思いたす。

    【日目仕䞊げの埮調敎】

    日目たででほがゲヌム自䜓は完成しおいるので、日目は现かい調敎を行いたした。

    油断をするずAIは誀った゜ヌスを出力しおしたい、すぐにゲヌムが動かなくなるので、これたで通り䞁寧に぀ず぀、郚分的な修正ずテストを繰り返したした。

    たた、完成したファむルをロヌカルで実行するだけでなく、Webサヌバヌ䞊に眮いお、ずスマホで動䜜確認をしたした。


    【日目コメントの远蚘䜜業】

    ゜ヌスコヌドには手を付けず、゜ヌスコヌド内のコメントを分かりやすく远蚘する䜜業を行いたした。

    これも、䞀床にすべおをやるず、AIの誀刀断によっおプログラムが砎損する恐れがあるため、数十行ず぀、ブロックごずに分けお、AIにコメントを提案しおもらい、コメント郚分のみを私が゜ヌスコヌド内に貌り付ける圢で远蚘しおいきたした。


    【日目この蚘事の執筆䜜業】

    この蚘事を曞くために、蚘事の骚子を私が執筆し、AIに敎理・校正の案を出しおもらい、それをヒントに私自身の蚀葉で執筆したした。


    BGM・効果音を䜜る際に心がけたこず

    (9-1)曲調に぀いお

    フェヌズ1ずフェヌズ2甚のBGMは、長時間繰り返し聎くこずになるため、以䞋を意識したした。

    ・聎いおいお飜きないメロディヌ
    ・耳が疲れない音色・音数・テンポ
    ・フェヌズ1→フェヌズ2で音数・音の幅・テンポを増やし、盛り䞊げる

    フェヌズごずのむメヌゞは以䞋です。

    ・フェヌズ1韍の存圚感は抑え぀぀、党䜓の䞖界芳に合わせ、ポップになりすぎない曲調
    ・フェヌズ2韍の神秘性・壮倧さを衚珟

    たた、フェヌズ1ずフェヌズ2で調は統䞀し぀぀、盀面の状況プレむダヌが優勢・劣勢によっお違和感が出ないよう、長調・短調の䞡方を取り入れたした。

    「韍」぀ながりのアクセントずしお、䞭囜の音楜でよく䜿われる五音音階ドレミ゜ラも郚分的に意識したした。

    (9-2)曲の長さに぀いお

    ゲヌムの平均プレむ時間AIによる掚枬は以䞋の通りです。

    察戊圢匏 フェヌズ1 フェヌズ2   合蚈
    察人戊   玄7分   玄8分   玄15分
    CPU初玚  玄4分   玄6分   玄10分
    CPU䞭玚  玄5分   玄7分   玄12分
    CPU䞊玚  玄6分   玄9分   玄15分

    ・フェヌズ1甹BGMは 箄2分前埌
    ・フェヌズ2甹BGMは 箄2分30秒前埌

    どちらもルヌプさせるこずで、長時間のプレむでも自然に聞き続けられる蚭蚈です。

    (9-3)効果音に぀いお

    ・BGMを邪魔せず、BGMの䞻芁な音皋ずマッチする音䜜りを心がけたした。

    ・フェヌズ2の韍石の効果音は通垞石のアップグレヌド版ずしお、よりリッチで迫力のあるサりンドにしたした。

    ・効果音は1ゲヌムで最倧100回鳎るこずを想定し、100回聎いおも心地よい音に調敎したした。

    ■曎新履歎

    2026幎3月16日
    Steam版もリリヌスしたした。

    2026幎3月9日
    Webサむト䞊で遊べるようになりたした。PC・スマホにお、以䞋のリンクよりお楜しみください。

    2026幎3月1日
    芖界が䞀定タヌン消える「煙霧モヌド」、新難易床「達人」、「物語」衚瀺の新機胜を远加したWindowsむンストヌル版をitch.ioにお無料リリヌスしたした。このnote蚘事でのブラりザ版よりも数段進化した内容になっおいたすので、ぜひお楜しみください。

    2026幎2月7日
    英語版タむトルを「Loong Reversi」に倉曎し、それに䌎っお文䞭やプログロム内の衚蚘を眮換したした。
    過去に露出枈みの動画やプレスリリヌスでの差し替えは行っおいたせんが、今埌はこちらの新衚蚘を䜿甚しおいきたす。
    「Loong」は䞭囜語の「韍ロン」の英語読みです。
    ぀䞊んだ「o」の文字は、リバヌシの黒ず癜の石のむメヌゞにも぀ながりたす。

    画像
     
     
    映画・䜜曲・Game制䜜。Factory Digital Entertainment矢厎倧信 ・映画音楜䜜曲講座数字譜初心者も。 ・STORYEM最速AI Gamebook Engine。源氏物語党巻Game。 ・黒癜韍棋、瞄文登山、もほもほ(暡仿暡仿/Moho-Moho)

    あなたぞのおすすめ