「Gemini CLI」を使ってみる! その2 ゲームをブラッシュアップしていきます!(完成度アップしてるよ☆)

「Gemini CLI」を使ってみる! その2 ゲームをブラッシュアップしていきます!(完成度アップしてるよ☆)

はじめに

最初に念のため書きますが、今回はコードは一切触らず、全て「Gemini CLI」が作成したゲームです。

また、基本的に指示は、曖昧な指示を出すように心がけました。

・もう少し当たり判定を小さくして
・ボスの攻撃バリエーションを増やして
・敵が硬すぎるのでもう少し柔らかくして
みたいな指示です

実際にブラッシュアップして遊べる状態にしたのが以下になります。
https://test.aisgm.me/test_prog/js/003/

遊べるのはPC onlyです

画像からのリンクはスマホ対応版

前の状態だと、システム的な部分は色々入っていますが、バランス悪いし分かりにくい状態でした。
途中で絶対クリアできないって場所もあります。

そこで、今回はバランスの調整や、表示する情報など大幅に更新しました。
デバッグするに当たって、自分のパワーアップがどんな状態かを確認できないと不便なので、その辺も結構変わっているかと思います。
あと、今回はクリアの概念もありますので、ウェーブ15をクリアしてください。

ここから下は、具体的な作成過程をはしょりながら見ていきます。
実際は少しづつ変更しているので(一気にやりすぎると、どこの変更で不具合が入ったのか分かりにくい)「Gemini CLI」とのラリー回数はそれなりにあります。
同じバグが何度指示しても中々治らないとかもあるので、その辺は省略しています。

と、その前に、発生した事を少し書いておきます。

しばらく使っていると、以下のようなメッセージが出て、「gemini-2.5-pro」 から 「gemini-2.5-flash」 切り替わってしまいました。
「Gemini Flash」でしばらく使ってみましたが、使えなくはないが、凡ミスも多いなって印象でした。

*⚡ Slow response times detected. Automatically switching from gemini-2.5-pro to gemini-2.5-flash for faster
responses for the remainder of this session.
⚡ To avoid this you can either upgrade to Standard tier. See: https://goo.gle/set-up-gemini-code-assist
⚡ Or you can utilize a Gemini API Key. See: https://goo.gle/gemini-cli-docs-auth#gemini-api-key
⚡ You can switch authentication methods by typing /auth

最初の部分を翻訳すると、以下の感じになります。

⚡ Slow response times detected. Automatically switching from gemini-2.5-pro to gemini-2.5-flash for faster
responses for the remainder of this session.
応答速度が遅いことが検出されました。このセッションの残りの時間は、応答速度を上げるため、gemini-2.5-pro から gemini-2.5-flash に自動的に切り替えます。
*

/auth

このコマンドで、Googleアカウントでログインし直せば、「gemini-2.5-pro」に戻す事ができます。

長く使っていると発生するかもなので、たいした問題では無いですが、メモ程度に見てもらえれば。
あと、手っ取り早いのは「Gemini CLI」を一旦終わらせて、再起動するとかでも良いかと思います。

では、ここからバランスや見た目の変更をしていきます。
次のお願いをして、どのようにしていくかを聞きます。

本格的にバランス調整を行いたいと思います。以下の内容で検討してください
・序盤の難易度を下げたい
・ボスの出現ウェーブと耐久度と攻撃方法を再検討
・パワーアップの種類を増やす

*✦ 承知いたしました。本格的なバランス調整ですね。承知いたしました。ゲームをより面白く、やりごたえのあるものにするための調整案をご提案します。

以下の3つの大きな柱で変更を加えたいと思います。


  1. 序盤の難易度緩和(スムーズな体験のために)

現在のバージョンでは、ウェーブ2から急に難しくなる印象があります。そこで、序盤のウェーブ(1〜4)を以下のよ
うに変更し、プレイヤーがゲームのシステムに慣れ、徐々に成長を実感できるようにします。

ウェーブ1: 敵の数を15から10に減らし、より簡単なスタートにします。
ウェーブ2:
    敵の数を35から25に減らします。
    敵の出現間隔を700msから800msに延長し、少し余裕を持たせます。
    強敵である brute の出現をウェーブ3以降に変更します。
ウェーブ3:
    敵の数を40から30に減らします。
    ここから brute が登場するようにします。
プレイヤーの初期強化:
    基本武器(Basic Gun)の連射速度を少しだけ上げ(500ms → 450ms)、序盤の爽快感を高めます。
  1. ボス戦の再設計(よりエキサイティングな体験のために)

現在のボスは、他の敵を召喚するだけなので、単調になりがちです。ボス戦をゲームの大きな見せ場にするため、以下の変更を提案します。

出現ウェーブの変更:
    最初のボスの出現をウェーブ5からウェーブ8に変更します。これにより、プレイヤーはボスに挑む前により多く
     のアップグレードを得られます。
    ウェーブ15に、より強力な第2のボスを追加します。
ボスの耐久力(HP)の大幅アップ:
    ウェーブ8ボスのHPを50から1500に増やし、手応えのある戦闘にします。
    ウェーブ15ボスのHPを4000に設定します。
新しい攻撃パターンの追加:
   1. 全方位弾幕(Radial Burst):
      ボスが定期的に、自身の周囲360度に向けて弾を発射します。プレイヤーは回避に専念する必要があります。
   2. 狙撃弾(Targeted Volley): プレイヤーを狙って、高速の弾を3連射します。
   3. ミニオン召喚: 現在の能力も維持し、これらの新しい攻撃と組み合わせて使用します。
  1. パワーアップの多様化(戦略の幅を広げるために)

現在のアップグレードは武器とHPに限られていますが、より多くの選択肢を提供することで、プレイヤーは自分だけの戦略を組み立てられるようになります。レベルアップ時に、以下の新しいアップグレードがランダムに出現するようにします。

プレイヤー能力強化系:
    移動速度アップ: プレイヤーの足が速くなります。
    取得経験値アップ: より早くレベルアップできるようになります。
    体力自動回復: 毎秒、最大HPの一定割合が自動で回復します。
防御・特殊系:
    ダメージ軽減: 受けるダメージを少し減らします。
    リバイブ: HPが0になった時、一度だけその場で復活します。(1ゲームにつき1回のみ)
新しい武器の追加:
    チェーンライトニング: 最初に当たった敵から、近くの別の敵へと連鎖してダメージを与える雷を追加します。
     集団の敵に特に有効です。

これらの変更により、序盤はより遊びやすく、ボス戦はよりドラマチックになり、レベルアップの楽しみも大幅に増えると考えています。

こちらの内容で修正を進めてもよろしいでしょうか?

みたいな感じで修正案を聞いてきてくれます。
こちらは、それに対してGOするだけです。

*✦ 承知いたしました。ご提案いただいた方針で、ゲームのバランス調整と機能追加を行います。これは大規模な更新となる
ため、いくつかのステップに分けて慎重に作業を進めます。

まず、ステップ1として、バージョン情報を「v1.2.0」に更新し、ゲームの基本的なデータ構造(プレイヤーの能力、
武器、アップグレード、ウェーブ構成など)を新しい仕様に合わせて一新します。

以下の修正を順番に適用していきます。

  1. タイトル画面のバージョン情報を更新します。
  2. プレイヤーに新しい能力値(移動速度、経験値ブーストなど)を追加します。
  3. 新しいアップグレードの選択肢を定義します。
  4. 武器の性能を調整し、新武器「チェーンライトニング」を追加します。
  5. 敵の性能を調整し、新しいボスタイプを追加します。
  6. 全15ウェーブの構成を再設計します。
  7. 新しいアップグレードシステムに合わせて、レベルアップ処理を更新します。
  8. ゲーム開始時に新しい能力値がリセットされるようにします。
  9. ボスや新しい武器が使用する、敵の弾やエフェクトを管理する仕組みを追加します。

それでは、修正を開始します。

✦ お待たせいたしました。すべての修正が完了しました。

今回の更新(v1.2.0)の主な変更点は以下の通りです。

ゲームバランスの全体的な見直し:
    序盤のウェーブ(1〜4)の難易度を緩和し、プレイヤーがゲームに慣れやすいように調整しました。
    全15ウェーブ構成に拡張し、より長く遊べるようになりました。


エキサイティングなボス戦:
    ウェーブ8と15に、新しい攻撃パターン(全方位弾幕、狙撃弾)を持つ強力なボスを追加しました。
    ボスのHPを大幅に増やし、手応えのある戦闘を楽しめるようにしました。
    ボス戦専用の大きな体力バーを追加し、戦況を分かりやすくしました。


豊富なアップグレード:
    レベルアップ時に、武器の強化や新しい武器の入手に加え、以下の新しい能力アップグレードがランダムに出現
     するようになりました。
        移動速度アップ
        取得経験値アップ
        体力自動回復
        ダメージ軽減
        リバイブ(復活)
    新武器として、敵の間を連鎖するチェーンライトニングを追加しました。


UIとエフェクトの改善:
    タイトル画面にバージョン情報を表示するようにしました。
    リバイブ能力を持っている場合、体力ゲージのハートが金色で表示されるようになりました。
    チェーンライトニングやボスの攻撃に、新しいビジュアルエフェクトを追加しました。

これまでの変更をすべて反映した game.js でゲーム全体を上書きしました。
ゲームを再読み込みして、新しくなったゲームをお楽しみください!*

という感じで、機能は入りましたが個々の機能をちゃんと動くか確認して、不具合があれば修正を依頼して何回かやりとりして、概ね問題無い所まできました。
だいぶゲームらしくバランスが取れてきたのですが、敵が硬いとかゲームとしては面白みに欠けるので、色々と要素を追加していきます。
と、その前に、ここまでのステータスを見ていきます。

Stats

Last Turn

Input Tokens 3,667,984
Output Tokens 4,492
Thoughts Tokens 8,774

Total Tokens 3,681,250

Turn Duration (API) 5m 12s

ここまでがステータスをとる直前のやりとり以下がトータルのやりとりですね
38回ラリーしてます。

Cumulative (38 Turns)

Input Tokens 10,378,365
Output Tokens 150,039
Thoughts Tokens 185,524

Total Tokens 10,713,928

Total duration (API) 49m 10s
Total duration (wall) 59h 1s

まだ中間地点でこんな感じなので、これを従量課金でやっていたらと思うと・・・・って感じですw

「Total duration (wall) 59h 1s」
トータル時間見ると、めっちゃ時間かけている感じに見えますが、別の事やっている時間の方が長いので、一度プロンプト投げたら別の事やっているって感じで時間が過ぎているので、放置時間がほとんどですね。
「Total duration (API) 49m 10s」
実質のAIが考えている時間がこの時間で、
Cumulative (38 Turns)
AIとのやりとり回数(プロンプト投げた回数)って感じです。

では続きをやっていきます。
次のように指示しました。

*バランスはかなり良くなりました。ただ、徐々に敵の堅さに倒せなくなっていくので、レベルアップ時のダメージ強化の量をもう少し上げても良さそうです。
他に提案があったらお願いします

今後の改善点として以下の提案があります。

  1. 敵の多様性: 現在の敵は主にプレイヤーを追尾するタイプですが、遠距離攻撃を行う敵や、特殊な動きをする敵(例
    :ワープする敵、分裂する敵)を追加することで、ゲームプレイに戦略性と多様性をもたらすことができます。
  2. パワーアップアイテム: 一時的にプレイヤーを強化するアイテム(例:攻撃力アップ、移動速度アップ、無敵)を導
    入することで、ゲームプレイにランダム性と爽快感を加えることができます。
  3. UI/UXの改善:
    ミニマップ: 敵の位置を把握しやすくするために、ミニマップを追加する。
    ヒットインジケーター: 敵にダメージを与えた際に、視覚的なフィードバック(例:敵が点滅する、ダメージ数
    値が表示される)を追加する。
    ゲームオーバー画面の改善:
    スコアだけでなく、プレイ時間や倒した敵の数など、より詳細な統計情報を表示する。

これらの提案は、ゲームの面白さをさらに向上させるためのものです。まずは、今回の修正でWASDキーの問題が完全に
解決したか、そしてダメージバランスが改善されたかをご確認いただけますでしょうか。

WASDキーの問題はまだ発生します。
今後の改善点ですが、1の敵の多様性は是非追加してください。これを実装するに当たって、敵の耐久力を減らして、弾を避けやすくするために当たり判定を小さくしてください。
攻撃のバリエーションを増やした分、難易度を下げてバランスをとった方が良いと思います。
ゲームオーバー時の詳細な統計情報は、面白いので是非入れてください。
他は、様子を見ながら考えたいと思います。

  1. WASDキーの問題に対する追加対策

レベルアップ画面に移行する際に、すべてのキーの状態をリセットする処理を追加します。これにより、レベルアップ
中にキーが押されたままでも、ゲームプレイに戻った際に意図しない移動が発生するのを防ぎます。
✦ 2. 敵の多様性、耐久力、当たり判定の調整

敵の多様性を増やす前に、既存の敵の耐久力と当たり判定を調整します。

敵のHPを全体的に減少させ、倒しやすくします。
敵の当たり判定(radius)を小さくし、弾を避けやすくします。

これにより、新しい敵タイプを追加した際のバランス調整がしやすくなります。
✦ 3. ゲームオーバー時の詳細な統計情報

ゲームオーバー画面に、最終スコアに加えて、プレイ時間と倒した敵の数を表示するようにします。
*

ちなみにWASDキーの問題というのは、キーを離しても押しっぱなしの状態になってしまう不具合がすっと治らないやりとりです。
他は、細かいバランス調整で、敵の耐久力が高すぎるとか、近く通っただけでダメージを受けたので。

という感じで、かなり省略したので、変更点だけ大きな物を書いておきます。

具体的な数値はAIが決めていて、全て曖昧に指示を出しています。

「当たり判定を小さくして」「ダメージ減少率を増やして」「リバイブの効果が分からないので演出を入れて」などです。

  • ゲームオーバー画面に、最終スコアに加えて、プレイ時間と倒した敵の数を表示するようにします。
  • ゲームクリア:
  • 全15ウェーブをクリアした際に、ゲームオーバーではなく、専用のゲームクリア画面を表示するように変更します。
  • 経験値調整: レベル10以降のレベルアップに必要な経験値の上昇率を1.5倍から1.25倍に緩和します。
  • ボスの攻撃パターン追加: 各ボスに新しい攻撃パターンを追加し、戦闘が単調にならないようにします。
  • ボスの発狂モード: ボスの体力が10%以下になると「発狂モード」に移行し、攻撃が激化するようにします。移動速度が上昇し、攻撃の頻度が上がり、さらに強力な専用攻撃を繰り出すようになります。
  • ウェーブ9以降の敵の弾発射: WAVEDATAにenemiesShoot:trueを追加しました。次に、一部の敵タイプ(standardとscout)に弾を撃つためのプロパティ(canShoot,fireRate, projectileSpeed,projectileDamage)を追加し、updateEnemies関数内で敵が弾を撃つロジックを実装しました。
  • リバイブ演出: handlePlayerHit関数にリバイブ時の演出(画面フラッシュ)を追加しました。
  • ダメージ減少率の増加: PLAYERUPGRADESのdamagereductionの値を5%から15%に増やしました。
  • 自機の当たり判定: PLAYERCOLLISIONRADIUSMULTIPLIERを0.75から0.5に減らし、当たり判定を小さくしました。
  • ホーミングミサイルのアップグレード: レベルアップ時に弾速も上昇するように修正しました。
  • チェーンライトニング: チェーンライトニングのエフェクトが、より稲妻らしく、見やすいように強化されました。

大体こんな感じで、これらの修正時に出た不具合の修正と、細かいバランス調整をしていった感じです。

今後も、もう少しパワーアップしてきます。
予定としては、音関連の追加と、見た目をもう少し良くするのと、システム面ももう少し手を入れていこうかなと思っています。

この画像クリックで遊べます

では、その3でお会いしましょう。

「Gemini CLI」を使ってみる! その3 音を追加して見た目も豪華にしてみた

Read more

画像フォーマットに関する記事を見て色々と深掘りしてみた

画像フォーマットに関する記事を見て色々と深掘りしてみた

画像フォーマットの正体とWebPの「予測マジック」を理解する 次世代画像フォーマットAVIFを触ってみた 割と最近の画像圧縮フォーマットについてです。 「webp」は比較的見るようになったフォーマットですが、従来は画像のサイズが小さいのはJPGで、透明色が使えて画質を維持するのがPNGって感じで、使い分けられていると思います。 しかし、JPGは古いフォーマットで圧縮アルゴリズムも古い上に、透明色が使えないなど改良の余地が多々あるので、「JPEG 2000」というフォーマットも作成されました。 「JPEG 2000」は技術的には従来のJPEGを大幅に上回る優秀なフォーマットにもかかわらず、処理負荷の高さや互換性の問題から一般消費者向けには普及しませんでした。 今となっては、それ程負荷は高くないのですが、開発された当時(2000年代前半)のPCのスペックを考えると厳しかったと思われます。 2001年のPCスペックを調べてみました。 Intel Pentium III 256MBから512MBのRAM 20GBから80GB Windows 98やWindows 2000が主流 この

suno5.5の実力を過去バージョンと比較(比較曲多めでお送りします)

suno5.5の実力を過去バージョンと比較(比較曲多めでお送りします)

suno5.5を使ってみましたが、なんか音の厚みが増して日本語の再現度も上がって、歌唱クオリティが一ランク上がったように感じるほどです。 とりあえずバージョンの歴史から V2 (2023年秋):  最大生成時間は1分20秒でした V3 (2024年春):  生成時間が2分に更新されました V3.5 (2024年夏): 曲の構造が改善され、初回生成の最大時間が4分に、延長                       (Extend)は1回につき最大2分まで可能になりました V4 (2024年11月): ボーカル品質が向上し、初回生成の最大時間は4分です。また、「Extend(延長)」「Cover(カバー)」「Persona(ペルソナ)」機能が追加されました V4.5 (2025年5月): 初回生成の最大時間が8分に延長され、プロンプトへの忠実度やスタイルのマッシュアップ機能が向上しました V4.5+ (2025年7月): 「Add Vocals(ボーカル追加)」や「Add Instrumental(インスト追加)」などの制作ツールが更新されました V5 (2025年9月):  オーディ

「NANObanana」があれば、LINEスタンプいらなくね?

「NANObanana」があれば、LINEスタンプいらなくね?

LINEスタンプはすぐに返せて便利なんですが、返したいスタンプを探すのが結構手間になってきています。 スタンプをそれ程沢山持っている訳じゃないんですが、30弱程度あります。 それだけでも、確かこんなのあったなとか、軽い感じのお礼スタンプどれがいいかなとか、選ぶのに時間がかかると、手軽に返せるスタンプの意味がありません。 そこで「NANObanana」です。画像に日本語も入れてもらえるので、スタンプが必要な時に、その場にあったスタンプを作ってしまえばいい!! と言う事で、やってみました。 スタンプのプロンプトは、うまい人がいると思うので、そこを突き詰めたい人はその手の記事を参考にしてください。 今回は、お手軽にその場でスタンプを作って、友人とかに利用するってお話です。 とは言え、イメージ通りの結果は欲しいので、何を注意すればそれっぽく作れるのかは少し実験してみたいと思います。 まずはAIに素直に聞いてみる。AIの事はAIに聞くのが一番です。 次の事に注意しろと教えてもらえます。 キャラクター設定: どのキャラクターを使いたいかを明確に指定します。 セリフや感情表現: どのようなセ

「Claude Code」 関連記事まとめ

「Claude Code」 関連記事まとめ

日々「Claude Code」を使用していますが、新しいツールや「Claude Code」自信もバージョンアップしているため、私自身もアップデートしていかないと、いつの間にか置いて行かれて非効率な使い方をしていたなんて事になりかねません。 と言う訳で、個人的に参考になったり、読んでいて面白かった記事をピックアップしました。 良ければ参考にしてください。 簡単コピペでClaude Codeに144種類のエージェントチームを作成 ── agency-agentsという40Kスター超のAIエージェント集を使いこなす 「Claude Code」は、エージェント次第で生成するコードの質が変わってきます。 まだ使ってはいませんが、使って見ようと思ってます。 効果的なCLAUDE.mdの書き方 「Claude Code」は「CLAUDE.md」の書き方次第でも違いが出るので、この辺も見ておくといいかも内容です。「Claude Code」を使う上での基本ですね。 【2026年版】Claude Codeを最強にするプラグイン・MCP・ツール総まとめ これも結構参考になると思います。 はやり廃りがあ