エクセルマクロゲームを作ってみたので。with ChatGPT (後編)

おはようございます。カメさんです。  ⇒前編はコチラ

ChatGPTを使いこなす切っ掛けを作るため、デジタルスキルアップのため、何気なく始めたエクセルマクロを活用したゲームプログラミング。予想以上にヒートアップしてしまいました。この一ヶ月近く、仕事以外の時間はずっと部屋に引き籠もっていた気がするなぁ。生活リズムはもう乱れまくり。

何となく頭が回らないなと感じた時は、部屋にも常備しているラムネ菓子(最近種類が多いんだよな)を食べて脳へブドウ糖を補給するか、思い切って睡眠を取って脳を休ませるかの2択。

時々表示される「コンパイルエラー」には度々頭を悩まされた。プログラムの構文ミス。

原因としては例えば、プログラム内で「変数宣言」が正しくされていないとか。
(Dim counterChance As Double ⇒counterChance が 確率であることを宣言。)
プログラムの条件分岐で頻繁に使用する「IF~Else~End If」 構文が間違っていたりとか。

プログラムミスを探して修正する作業である「デバッグ」。実際にやってみて中々しんどい作業であることは今回良く分かった。

プログラムの分からない点については、ChatGPTに聞けば解説してくれる。何て心強いんだ😂。

ゲームとしての体裁を整えた『Ver1.00』が完成。ここまでの製作期間は僅か2日間

エクセルマクロでゲームを作る場合、エクセルの標準機能を最大限活用した方が楽だということに気づかされます。セル上に最新のHPや能力パラメータを常時表示させておくのは簡単。後は設置したマクロの起動ボタンを押してゲームプログラムを動かすだけです。

クリティカル、連続攻撃、カウンター攻撃、回避といったギミックを加えてバトルを面白くする工夫はしたつもりでしたが、最初の能力パラメータの割振り以外に遊ぶ側の選択肢がないのはゲームとしては致命的。ただOKボタンを押すだけの作業と化してしまった感じ。ここからゲームをより面白くする為の試行錯誤がエスカレート。

『VER1.20』では毎ターン攻撃かHP回復かを行動選択できるシステムを導入。周りから集中攻撃を受けた場合でも体制を立て直すことができるなど、ゲーム性が向上しました。
このVER1.20は実際に複数人プレイを試して貴重な意見を頂き、更なるゲーム改善点を見出す転換点になりました。

製作開始から半月が経ち、『VER1.40』ではゲーム性はそのままに画面の簡略化に成功。事前にプレイヤー登録することによって対戦相手にパラメータが分からないように配慮。
さらにHPが0になっても一定確率で復活するシステムや、ピンチの時に繰り出せる一発逆転の奥義を導入。よりスリリングなバトルが味わえるようになりました。

そして製作開始から約1ヶ月。最新の『VER1.56』はこんな感じに。ゲームの順番が来たプレイヤー名のセルの色を変えてみたり、緑色のHPゲージを作ってみたり、ゲーム中のみパラメータ表示されるようにしてみたり。エクセルの条件付き書式とかIF関数とかVLOOKUP関数とかの機能を活かした感じに。
ゲームのバランス調整も中々骨が折れましたが、何とか上手くいった気がします。現状のシステムでカメさんがやりたいアイデアはほぼ詰め込めたかな。

シンプルなテキストベースのバトルの方がプレイする側の想像力が働いて楽しいと思うので、余計なものは入れてません。
他にも属性システムやスキルシステムとか、チームバトルやボスバトルとか、やってみたいアイデアはあるけれど、続きは『BR2』でやりたいと思います。

これ以上やるとこのブログが書けなくなる。なので、ゲーム開発は一旦ここで〆たいと思います。ブラボー。


この一ヶ月間のゲーム開発を示すExcelファイルの山。今回アジャイル開発が上手くいきましたね。

エクセルマクロを活用したゲームですが、アプリ版と呼ばれる無料版エクセルではマクロ未対応なので遊べません。ちょっと残念。
これからゲームプログラミングするのであれば他のプログラミング言語の方が良いのかもしれない。そしてChatGPTは他のプログラミング言語にも対応可能。次はエクセル以外でのプログラミングを試してみようかと考えています。

⇒ 完結編へ続きます!?

コメント