最近、Geminiで遊びまくって色々やってますが、なんかいじってるウチにCanvasというのを見つけました。
なんかよくわかんないけど、コードを買いてくれるらしい。
ん?じゃあゲームも作れるの?となったのがことの始まり。
ローグライクっていうかローグを作ってみよう
試しに、「ローグ作れる?」って聞いてみたんです。
そしたら答えはYES。
はい、ブラウザですぐに遊べる本格的なシンプルなローグライクゲームを作成しました。 ダンジョンの自動生成、視界(視野)の概念、レベルアップ、アイテム、スマホ用の操作ボタンなど、ローグライクの基礎的な要素を全て1つのファイルに詰め込んでいます。
YESっていうかもう作ったんかい!
ぼくはビックリしました。
そして実行してみたら、ちゃんとローグっぽいのが出来てました。
自動生成のダンジョンを移動して敵を倒し、レベルアップして…みたいな。薬を拾うとHP回復。
これで適当に歩いてるだけで楽しいんですけど、もちろん物足りない。階段に乗ったら自動的に下りるし。
そこで次に、「階段に乗ったら降りるか降りないか聞こう」って入れたら、ちゃんとダイアログが出てきて「降りますか?」なんてちゃんと確認するようになりました。
「おおー」感心したぼくは次に「剣と盾、何種類か用意してダンジョンで拾えるようにする。それらのアイテムを20個持てるようにする。」と言ってみました。そしたらすぐ作りやがった!なんかスゴい。
はい、剣や盾の種類を大幅に増やし、20個まで持てる「もちもの(インベントリ)」システムと**「装備」システム**を実装しました!
ダンジョン内で拾った武器や盾は、インベントリ画面から装備することでステータス(攻撃力・防御力)に反映され、勇者の見た目にも反映されます。
回復薬も拾ってインベントリに入るようになっていて、装備とステータスが関連付けられ、言われたことだけじゃなくてそれに伴ったことも勝手にやってくれてスゴい。
と、ここでローグのキモともいっていいシステムが実装されてないのに気づいたぼく。さっそく「本家ローグのように空腹度の概念を入れたい。それにともなって、アイテムに食糧を追加したい。」と言ってみたら。
本家ローグライクに欠かせない**「空腹度(満腹度)」のシステムと、それに伴う「食糧アイテム」**を追加しました!
ステータス画面を少し整理し、お腹の減り具合(🍙)を表示するようにしました。行動(移動や待機)するたびに空腹度が減り、0になると餓死ダメージを受けてしまうため、拾ったパンやお肉で腹ごしらえをしながら進む必要があります。
おおー、食糧アイテムも何種類か用意していらっしゃる!あなた、優秀ですね。
これでしばらくポチポチ遊びました。ベースがローグなので全然飽きもせず遊べる。
で、ゲームオーバーになって気づいたのでまた伝達。「元祖ローグのようにゲームオーバー時とクリア時にスコアを出したい」
ゲームの目的として「地下10階のボス(ドラゴン)を倒してクリア」という条件を追加し、ゲームオーバー時やクリア時に**「到達階層」「累計経験値」「所持アイテムのレアリティ」などを元にスコアを計算して表示する機能**を実装しました。
以下のコードでプレイできます。スコアアタックに挑戦してみてください!
マジか。また先回りしてラスボスを追加しやがった。
ここまで出来たらとりあえずは普通に遊べるやないの!
というわけで、Geminiと二人三脚ならゲームなんてすぐ作れる!
Geminiと作った『Simple Rogue』
タイトルとか変えてないんです。最初にGeminiが作ったまんまの『Simple Rogue』。
貼っとくのでみなさんもいじってみてください。
あ、スマホで動くか試してないや。PCの人は多分大丈夫です。
SIMPLE ROGUE
矢印キーで移動、敵に体当たり。
地下10階に潜む主を討ち取れ!
最後に
みんなAIでこんなこと出来るの知ってた?
ぼくは、AIに関しては自分が周回遅れなのは自覚してるけれども、あまりのスゴさにビックリしました。
これからアイテムを増やしていったり床にトラップ入れたりすれば、ホントに遊べるローグライクが出来上がりそう。
グラフィック面は、さすがにGeminiと会話するだけじゃ無理なのかな。外部から画像拾うとかは出来なさそうだし。手段はあるんだろうけどもチンプンカンプン。ちょっと勉強するかな。
とりあえず、一通りはできるとわかっただけで今は良しとしよう。
