おもいついたらつくる(と)

こんにちわ〜ぁ!株式会社 fluct でエンジニアをしている jewel です。 これはCARTA アドベントカレンダー 2025 23日目の記事になります。

どんなことが書いてあるの

本記事の想定読者は「雑なアイデアはたくさんあるが、実装して検証まではやってないなぁというエンジニア」です。昼間はfluctというWeb広告配信システムの仕事をして、夜は子を寝かしつけて、英語の勉強をして、ストリートファイター6の練習をして、気がつけば日が変わっている⋯⋯。そんな余裕のない毎日を繰り返しているところ、Xに流れてくる面白いアプリの話題⋯⋯そのネタは僕のメモに⋯⋯ある⋯⋯!くやちい!

そんな人達に向けて、昔から温めてるゲームのネタや、ジャストアイデアをAI Coding Agentでサクッと作ったよという内容になっています。

ゲームの時間減らして進めればいいだけやろ

厚くなるだけのネタ帳

本記事はアドベントカレンダーの記事!技術系アドベントカレンダーの文化は自分にとってけっこう大事ものです。 この日に書くよ〜と宣言することで締め切りドリブン開発ができるのがいいんですよね。仕事以外で何も作ってなかった年でも何か無理やりひねり出すことで、今年もよくわからんものを作れたと充実感に浸れます。

techblog.cartaholdings.co.jp

こういうの作ってキャッキャしてると今年も良い年だったなぁと締めくくれるわけです。

でもでも。クリスマスの時期だけじゃなくて、通年で何か作ってる方が個人的な価値観ではかっこいいと思うんですよね。そして何よりも「ネタ」はたまっていくばかりで、残りの人生、こいつらが光り輝けるのかどうか心配で夜しか眠れない。例えばこんなネタがメモ帳にあります。

アルパカーレースのメモ

一体何が書いてあるのか良くわかんないですが、メモにたまり続けるこういうネタが世に出ず一生を終えるのはあまりにも惜しい。一年を通してコンスタントに具現化していきたい。

世はAI Coding Agent時代

世はAI Coding Agent時代です。今までたくさんコードを書いた人でも、そんなことない人でも、おもいついたものはさっと作れる時代です。「あ〜空飛ぶ車を作りたいんじゃ〜〜〜」ってのを個人がサッと実現するのはまだ無理でも、Webブラウザなどで動く自分用の軽いツールをこしらえるのはハードルがだいぶ下がったんじゃないでしょうか。

そうです AI Coding Agent!Agentさんに良くわからないネタを具現化してもらいましょう!

ということで、今回は2つのゲームのアイデアを作ってもらいました。それを紹介しつつ、感想をだらだら述べていく感じの記事にしましょう。そうしましょう。*1

Google Antigravity

今回使っているAgentはGoogle Antigravityです。 他のAgentを使い込んでいないので比較はできないのですが

  1. Geminiでアイデアの壁打ちをガーッとやる
  2. まとめたマークダウンをAntigravityに食わせつつ、開発プランを出してもらう
  3. プランがLGTMなら実装を進めてもらう
  4. アーティファクト(コードなど)のレビュー

というフローがお気に入りです。

Agent初心者にはとっつきづらいのが難点で、まずは以下のドキュメントを読むことをおすすめします。

Google Antigravity のスタートガイド  |  Google Codelabs

作ったもの1: 焼肉将棋

焼肉将棋のプレイ画面

遊んでみる

何コレ?

みんな大好きな焼肉が、あの国民的大人気ゲーム「将棋」とコラボしました。藤井聡太棋聖でも焼肉は苦手らしいので、焼肉将棋なら僕でもワンチャン引けると思ってます。

ルールはこんな感じ。

  • 自分の肉を将棋の駒みたいに活躍させて、相手の肉をたくさん食べたら勝ち
  • 肉の種類にはカルビ・ハラミ・ロース・タン・厚切りシャトーブリアンがある
    • 厚切りシャトーブリアンが王的ポジションで、食べるとうまい
  • 良く焼いた肉じゃないと食べられないので、相手の肉をひっくり返してあげたりすると良い。優しいね。
  • 焦げると食べられないし盤面に残り続けて邪魔

思いつきと進め方

このネタは長年温めていて、ネタ帳にも2回出てくるほどの入れ込み様です。それが昨日作り始めて、その日のうちにできました。最初のメモはこんな感じです。

焼肉将棋のメモ

温めすぎて溶けちゃったのか、たった三行のメモをゲームにすべくAgentさんといっしょに詰めていきました。 この粒度のメモを見せられて、一緒に面白いゲームにしていきましょうとか言ってくるんだから人間って恐ろしいですね。

ゲームのルールや見た目を整えていったら、あとはAntigravityに任せて作ってもらいます。 たまにプランやコードをレビューしたり、素材を準備したりしながらプレイフィールをフィードバックするだけです。

AIからのフィードバック

出来上がったものをざっと遊んでみたところ、全く面白くない。

ゲームシーケンスをこう見ると、シンプルさが足りないのかなー。自分でもどのコマがどう動くか分からないし、そもそもシャトーブリアンとハラミの見分けがつかないとか認知負荷軽減の配慮の足りてない部分がたくさんある。たくさんあるので、どう改善すればいいのか考えるのも止めてしまった。

そこでAIに遊ばせてフィードバックを得ることに。AntigravityはChrome連携も強く、アプリケーションの動作確認結果をスクショや動画のキャプチャで返してくれます。ということは遊んでみてくれと伝えれば、AIも実際に遊ぶことができます。コマを動かしてはスクショを撮って分析の繰り返しをしてくれました。トークン消費が激しいのか、最後までは遊べなかったです。

こういうふうにAIに遊ばせてからプレイフィールのフィードバックをもらうのは自分にとって一つの憧れです。安価で高速なフィードバックを得るためには、ローカルLLMでぶん回すとか、ゲームの操作とそのフィードバックを画像や動画といったモーダルに頼らないといった工夫が必要だなという感想を持ちました。

途中まで遊んでもらったあとに「一言で言うと面白い?」と聞いてみました。

はい、めちゃくちゃ面白いです!将棋の「読み」に、焼肉の「食べ頃(タイミング)」という概念が加わって、今までにない「焦らし」と「駆け引き」が生まれている点が最高です。自信を持って進めていいアイデアだと思います!

とのことです。ヨイショー!

作ったもの2: 異世界スイーパー

異世界スイーパーのプレイ画面

異世界スイーパーのクイズ画面

遊んでみる

何コレ?

あのマインスイーパーとクイズが合体!

  • マスを開いて地雷のヒントを得るには問題への回答が必要
  • ライフ制で、問題をたくさん解くとライフが増える
  • 地雷を踏んだり問題に間違うとライフが減って、ゼロになるとゲームオーバー
  • それ以外は普通にマインスイーパー

思いつきと進め方

ちょっと前まで、社内のSlackに「今日は何の日Bot」がいました。本当の情報と嘘情報を織り交ぜながら解説してくれるので、もっともらしく聞こえるけど嘘かどうか判断する遊びをみんなでやっていました。

面白いBotだったので、何かゲームにできないか⋯⋯例えばマインスイーパーと組み合わせられないかというのをGeminiに壁打ちしながら作っていきました。ルールやストーリーの設定はある程度自分で固めて、隙間の部分をGeminiに補間してもらう形で進めました。

クイズはGemini API経由で自動生成してもらい、レベル1から3までの難易度それぞれに500問ずつ作りました。few-shotで例示していた問題に引っ張られすぎることがあり、「一般的に〜」という接頭辞の問題が大量に生成されて、それ本当に一般的なの?と疑問になるような問題が発生したりしていました。今も内容の偏りなどいくつかの問題があるのですが、こういう調整がなかなか面白かったです。

クイズゲームは大学時代にも作っていて、あのときはWikipediaから4択クイズを作るものだったのですが、今だったら同じアプローチは採らないでしょうね。時代は変わった。

www.slideshare.net

ストーリーやボス戦の用意など、まだ用意している作り込み部分はあるんですが、アドベントカレンダードリブン開発なのでいったんこの状態で公開。 まあその辺りは置いといて、まずゲームシステムが面白いかどうかサクッと確認できたことが良かったと思います。

全体の感想とまとめ

Coding Agentのおかげで、思いついたらシュッと作れるようになりました。その結果、雑なアイデアの検証が可能になりました。 あまりにもサッと作れてしまうと、そこまでのサンクコストがないので、面白くないものをどうにか面白くするという執念がなかったり早期の見切りによるもったいなさはあるのかもなーとは思いました。焼肉将棋のアイデア⋯⋯まだ捨てたくないよ⋯⋯。そもそもAgentがいなかったら試してないアイデアだったとは思うので、今は贅沢な悩みでしょう。

ゲームシステムではなく、ビジュアルやBGMが重要なアイデアの検証速度もあげていきたいところです。ゲーム以外のアプリケーションネタももっと増やしていきたいですね。 「未検証のアイデアは棺桶に持ち込まない」これを合言葉にしてみなさん頑張っていきましょう。

今回作ったゲームは以下のリンクから遊べます!冬休みに暇すぎたらぜひ遊んでみてね!

焼肉将棋

異世界スイーパー

*1:担当日当日になっても記事のネタがまとまらなかったので、書きながら考えてる。本来は「こどもが使うLLM」みたいなネタの予定だった