
ChatGPTとミニゲーム実装
自己紹介
こんにちは、ふみまさです。
少し間が空きましたが順調に、『起業布武〜織田信長とスタートアップ!?〜』制作進んでおります!
(『起業布武〜織田信長とスタートアップ!?〜』がどんなゲームか知りたい方は下記の記事を見ていただけると嬉しいです!!)
今回の記事の内容は・・・
プログラミングほぼ初心者がRen`pyでミニゲームを作るために安易にChat GPTを使ったらどうだったか、現在のChatGPTとの付き合い方はどう考えている?という内容になっております。
そもそもなぜミニゲームを作ることになったのか。
『起業布武〜織田信長とスタートアップ!?〜』は、スタートアップの世界を体感できて知識が身に付くビジュアルノベルゲームです。
そのため、構想段階で重視したことは
・スタートアップの知識が身に付くクイズがあること
・選択によりマルチエンディングにつながるゲーム性があること
の2つでした。
一方、物語・ゲームとしてのエンタメ性を高めていく上で、構想を固めていく上でスタートアップ業界に蔓延る怨念との戦いも重要な要素となることになりました。(?)
当初はクイズにより怨念が消えるような設定で良いかなと思いましたが、ある時ミニゲームの発想に至ります。
初めてのゲームイベント出展
ミニゲームの発想に至ったのは私が人生で初めてゲームイベントに出展したことが直接の原因です。昨年の11月、CEDEC+KYUSHU2023のインディーゲームコーナーに出展しました。感想としては下記にありますが、非常に楽しい経験となりました!
一方で、その時選択式ノベルゲームはあまり動きがないので、なんとも言えない時の流れを感じることも多く、アクションなど動的なゲームを作っている人は正直羨ましいなぁという感覚も覚えました。
その気持ちを共同制作者のみやこ出版さんにお伝えしたところ、
それであれば動的な要素を作りましょう!
怨念を倒すのにもちょうどいいねという話になり、ミニゲーム制作をしていくことが決定します。
そして(初心者が)ミニゲーム制作へ
全く経験のない初心者である私はどういうものができるかな?というイメージがなかった中で、みやこ出版さんがシューティングのゲームを作ってくれました。
(下記の動画は完成に向けてブラッシュアップしたVerになります)
スタートアップを体感できて、知識が身に付くゲーム『起業布武〜織田信長とスタートアップ!?』2024年春発売に向け制作順調です!!✨
— ふみまさ(CapGames) (@fumi_rekishi) February 10, 2024
動画はスタートアップ界隈に蔓延る怨念との戦い(?)のシーン(シューティング)
ミニゲームいくつか実装予定🎮#スーパーゲ制デー #gamedev #ゲーム制作 pic.twitter.com/oomUcQBmY7
シューティングを作ってもらったことでイメージが湧き、私自身がミニゲームを作っていくことにし、シューティングと近い形ということで、まずはモグラたたきのようなゲームを作ることにしました。
ChatGPTでのプログラミングを試してみたい
さて、いよいよChatGPTの話です。スタートアップのゲームを作っている者ですから、テクノロジーの興味は高く、本業のファイナンスのお仕事ではChatGPTはよく使っています。
一方、プログラミングのようなほぼ初心者のような領域でこそ、ChatGPTを使えたら楽しいだろうなという気持ちもあり、非常にテンション高くChatGPTを使いながらのプログラミングがスタートしました!
早速躓く
しかし早速躓きます。
下記の画像のように、Ren`pyでモグラたたきのミニゲームを作ろうと思うというと下記のようにコードを書いてくれるのですごい!となります。

しかし、イメージに近づけるため、要望を追加したコードを書いてもらい動かそうとすると、エラーメッセージが出て動かない。
エラーメッセージをChatGPTにみてもらい、訂正したコードを出してもらうを繰り返します。

そして修正してはエラーが出て、再度修正案を出してもらうを繰り返していると、
・・・あれ、ループしてる?
(イメージは下のような感じです)
エラー→解決案A→エラー→解決案B→エラー→解決案C→エラー→解決案A
しかもこの作業は、一応解決策が出続けるので、手は動くためあっという間に時間が過ぎてしまいました。まさに迷路に迷い込んだような感覚です。
またエラーが出たコード全体をChatGPTに見てもらって下記の回答がきて完全に詰んでしまいました。

一度落ち着き、再設計
詰んでしまい、上に書いたような作業を繰り返してはゴールに近づけないと自覚し、どうすればゴールに近づけるかを考えました。
結論としては自分できちんと理解して作業できるようしようと当たり前の結論になりました。
理解するためにChatGPTを活用
そして早くもChatGPTが再登場です。
ChatGPTに書いてもらうのでなく、理解促進のために働いてもらうことにしました。
具体的にやったことは、みやこ出版さんに作ってもらったシューティングのコードがあるので、それを見て理解できない部分の解説をChatGPTにしてもらい、自身の理解を高める。
そして、シューティングにはない、違う要素。具体的には「時間制限を作りたかった」のですが、その要素については、Ren`pyで時間制限のルールを用いてミニゲームを作っている人いないかな?と検索しました。
その結果、下記のyoutubeを見つけました。
この投稿者essさんの別のページで少額でコードもダウンロードすることができました。(確かスウェーデンクローナの金額が出てきて焦りましたが、決済手段でpaypalを使えばUS$で決済できました)
その内容をさらにChatGPTに解説してもらい、この2つを組みあわせて、うまくいかないところもあり、たまたま話すことのあったエンジニアに少し意見を聞いたり、最後惜しいところまで来てうまくいかないところは、共同制作者のみやこ出版さんの力も借り、無事にモグラたたきミニゲームを制作することができました!!!
(動画は下記です)
スタートアップを体感できるゲーム「起業布武」で、なぜかミニゲーム(モグラ叩き)を実装中💻
— ふみまさ(CapGames) (@fumi_rekishi) February 4, 2024
きちんと枠内に連続して表示できて完成!!しかしちょっと簡単すぎるかな??🤔#ゲーム制作 #indiegame #renpy #visualnovel pic.twitter.com/ZTuilUBYDi
感想
まだまだChatGPTだけの力で、ゲーム制作するのは難しいなと感じた一方、 ChatGPTがなければ自分の理解促進にもっと多くの時間が必要であったのでは?と感じています。
私は本業(収入で言えば)のファイナンス業務でもChatGPTを使っていますが、こちらであれば書かれていることが間違っているや、どのように聞けば自分の考えている正しい答えに近づけるかがわかることが多いのですが、このような感覚がプログラミングにおいてはないことが、ChatGPTにコードを書いてもらうのが難しかった要因でもあるかなと思っております。
そして、改めて共同制作者のみやこ出版さんや、essさんなど直接やそうでなくとも多くの方の知見をお借りしながら進めていくことが改めて重要だなと感じまし、感謝でいっぱいです。
これからもゲームを作っていきますが、助けてくれるテクノロジーを活用しながらも、人との出会いも大切にしながら改めて頑張っていこうと思える経験になりました!
ちなみに、モグラゲームの次はシェルゲームを作っていますが、こちらは前回よりも簡単な要素であるのと、理解が進んでいるので数時間で完成近くまで作ることができました!
制作動画進捗UP📷
— ふみまさ(CapGames) (@fumi_rekishi) February 16, 2024
スタートアップを体感できるゲーム「#起業布武 」ではスタートアップ界に蔓延る怨念との戦いも重要な要素となっており、怨念とのバトルシーン(今回はシェルゲーム)実装中💻
どこまでシャッフルするか悩む🤔#ゲーム制作 #indiegame #renpy #visualnovel pic.twitter.com/ldM1fvJMyX
最後に宣伝
なお、スタートアップを体感できて知識が身に付く、そしてスタートアップ界に蔓延る怨念との戦いを描く
『起業布武〜織田信長とスタートアップ!?〜』は、2024春(夏前には)発売予定で鋭意制作が進んでおります!!
気になった方はStaemWishlistの登録、アプリの場合は予約Top10の登録何卒よろしくお願いいたします!!
(リンクは下記です)
(Steam)
(ios、android)