Back to Blog
·Summer Team

Flappy Birdのようなゲームの作り方(AIを使って)

AIを活用してFlappy Birdクローンを作るステップバイステップガイドです。再現すべき具体的なメカニクス、どのテンプレートから始めるべきか、そしてSummer Engineでリリースする方法を解説します。

Flappy Birdは、一つのメカニクスが絶妙に調整されると止められなくなるという、ゲームにおける最も明快な例です。タップして羽ばたき、重力に引っ張られながら、二本のパイプの隙間に鳥を通します。一ピクセルでも外れればその走りは終わりです。レベルデザインも、パワーアップも、ストーリーもありません。ゲーム全体が、ハイスコアを更新するか怒ってやめるかするまで繰り返される、たった一つのインタラクションです。

そのスコープの小ささこそ、自分で作るゲームとして最適な理由の一つです。ルールは明確で、複雑な物理演算やネットワーク機能は必要なく、楽しさはすべて手動で調整できる三つの数値に宿っています。このガイドでは、Flappy Birdを成立させる四つのシステムを解説し、白紙のプロジェクトではなくテンプレートから始めてAIでそれぞれを作る方法を紹介します。

{/* IMAGE: Hero graphic showing a side-scrolling arcade scene, a small bird mid-flap threading a gap between two green pipes, score counter at the top. 1200x675, illustration. */}

Flappy Birdを構成する四つのシステム

Flappy Birdを分解すると、四つのシステムが残ります。これらを連携させればゲームの完成です。それ以外はすべてテーマとポリッシュです。

システム役割重要な理由
タップで羽ばたくプレイヤー常に重力が下に引っ張り、タップごとに固定の上向きブーストが発生するゲーム全体を支える唯一のインタラクション
スクロールする障害物パイプのペアが右側にスポーンし、一定速度で左に移動する羽ばたきを挑戦に変えるプレッシャー
当たり判定とゲームオーバーパイプ、地面、天井に触れると走りが終わるすべてのタップを重要にする即座の失敗
スコアカウンター鳥がギャップを通過するたびに一点加算されるプレイヤーをもう一回試したくさせる数値

ゼロから作る際の罠は、羽ばたきを感じる前にスクロールとスポーンの実装に最初のセッションを費やしてしまうことです。それは退屈な部分であり、テンプレートが解決してくれる部分です。テンプレートを使えば楽しい部分に先に到達できます。

白紙のプロジェクトではなく、エンドレスランナーのテンプレートから始める

最大の時間節約は、すでにスクロールとスポーンが実装されているテンプレートから始めることです。Summer Engineのエンドレスランナーテンプレートには、横スクロールする世界、障害物スポーナー、スコアカウンター、死亡とリスタートのループがすでに組み合わさっています。開いた瞬間から最初の実行でプレイアブルなゲームが動きます。

ランナーとフラッパーはメカニクス的に近いです。どちらも世界をプレイヤーの方向にスクロールさせ、タイマーで障害物をスポーンし、衝突で走りを終え、スコアを記録します。唯一の本質的な違いはプレイヤーの動き方です。ランナーは地面からジャンプしますが、Flappy Birdは空中で重力に逆らって羽ばたきます。つまり新しいゲームを作るのではなく、既存のシステムを一つだけ変えるということです。

エンドレスランナーテンプレートはこちら。

ほかに何から始められるか見たい場合は、テンプレートライブラリでRPG、プラットフォーマー、デッキビルダーなど多様なジャンルを網羅しています。ただしこのゲームに関しては、エンドレスランナーテンプレートが最適な出発点です。

ステップ1:ベースループを動かして鳥と対面する

何も変える前にテンプレートを一度開いてプレイしてみましょう。世界のスクロール速度、障害物の出現タイミング、走りの終わりとリスタートの感触を体験しておきます。このベースラインが、その後のすべての調整の基準点になります。

それからランナーの動きを羽ばたきに変えます。これがコンバージョン全体の核心です。

プレイヤーの動きをFlappy Birdのようなタップで羽ばたく方式に変えてください。キャラクターは常に重力で落下し、タップやクリックごとに一定の上向きブーストが発生するようにします。地面からのジャンプをなくして、空中に浮かぶようにしてください。

もう一度プレイしてみましょう。世界はまだスクロールし、障害物は変わらず来ますが、今はジャンプするランナーではなく重力と戦う鳥を操作しています。これがビルド全体のリズムです。小さく変えて、プレイして、判断して、繰り返す。

{/* IMAGE: Before and after of the movement swap, a running character on the left, a flapping bird in open air on the right. 1200x675, illustration. */}

ステップ2:障害物をパイプのペアに変える

エンドレスランナーは地面に置かれた単独の障害物をスポーンします。Flappy Birdはペアでスポーンします。上からのパイプと下からのパイプがあり、その間に鳥が通り抜けるための隙間が高さをランダムにして作られます。

変更は普通の言葉で説明します。

障害物をパイプのペアに変えてください。各ペアは上のパイプと下のパイプで構成され、その間に隙間があります。プレイヤーが不可能なほど高くまたは低く羽ばたかなくても済むよう、安全な範囲内で隙間の縦位置をランダムにしてください。一定の水平距離を保ってスポーンし続けるようにしてください。

感触を決める値は二つです。隙間のサイズは難易度のダイヤルです。広い隙間は優しく、狭い隙間は厳しいです。水平間隔はペースを制御します。パイプが密接していると回復する時間がなく、遠すぎるとゲームが間延びします。両方ともプレイしながら設定するのであって、コードの中の定数を当てずっぽうで探すのではありません。そのため短いプロンプトで行う方が、コードを直接いじるより早いのです。

ステップ3:羽ばたき、重力、隙間をセットで調整する

これこそFlappy Birdクローンを成功させるか失敗させるかを決めるステップです。ゆっくり丁寧に取り組む価値があります。三つの数値がゲームを中毒性のあるものにするかイライラさせるかを決め、それらはお互いとの相対的な関係でのみ意味を持ちます。

  • 重力は鳥がどれだけ速く落下するかです。弱すぎるとゲームがふわふわと遅く感じられます。強すぎると一度タップを外すと回復不能になります。
  • 羽ばたきの強さはタップごとの上向きブーストです。上昇できる程度には強くする必要がありますが、一回のタップで画面外に飛び出すほど強くてはいけません。
  • 隙間のサイズはくぐり抜けられる余裕です。重力と羽ばたきが調整されて初めて公平に感じられます。なぜなら、フィーリングの悪い物理演算を広い隙間で救うことはできないからです。

セットで調整します。

鳥が少し落下が速すぎて羽ばたきが弱く感じられ、空中に留まりにくいです。重力を少し弱め、羽ばたきの強さを上げて鳥がより安定してホバリングできるようにしてください。それからパイプの隙間を少し広げて、きれいな羽ばたきで確実に通過できるようにしてください。

これを会話で行う理由はスピードです。ゲームの感触はイテレーションで見つかるものです。数値を変えて五回プレイし、弧の底で鳥が沈みすぎることに気づいたらまた調整します。そのループを短いプロンプトで回す方が、一定数を一つずつ編集するよりはるかに速いです。より正確な制御が必要なら、エディターを開いて重力、衝撃力、隙間の値を直接編集することもできます。どちらの方法も同じプロジェクトを編集しています。

目指すのはFlappy Birdの「スイートスポット」です。一秒で理解できて、千回プレイしても習得できない。鳥は常にあと一タップで致命的なミスをしそうな感覚であるべきです。

ステップ4:スコアとゲームオーバーループを繋ぐ

スコアは物理のおもちゃをゲームに変えるものです。Flappy Birdでは隙間を通過するたびに一点獲得し、何かに触れた瞬間に走りが終わります。テンプレートにはすでにスコアカウンターとリスタートループがあるため、これは主に新しいルールと繋ぎ合わせる作業です。

鳥がパイプの隙間を完全に通過するたびにスコアに一点追加してください。鳥がパイプ、地面、または画面の上端に触れた瞬間に走りを終わらせてください。ゲームオーバーになったら現在のスコアとハイスコアを表示し、タップで即座にリスタートできるようにしてください。

二つの細部が重要です。第一に、リスタートは即座でなければなりません。このゲームの魅力の全体が速いリトライループにあるからです。遅くて煩雑なゲームオーバー画面は、Flappy Birdを成立させている「もう一回」という衝動を殺してしまいます。第二に、ハイスコアを走りをまたいで保存してください。そうすることでプレイヤーは超えるべき数値を持てます。この一つ保存された数値こそ、ゲーム全体のモチベーションの大半です。

{/* IMAGE: A minimal game-over overlay showing the current score, a high-score number, and a "tap to retry" prompt over a paused scene. 1200x675, illustration. */}

ステップ5:気持ちよく感じさせるジュースを加える

Flappy Birdは容赦ないゲームなので、フィードバックはキレのあるものでなければなりません。小さな鳥の回転、羽ばたきのたびに鳴る効果音、死亡時の鋭い反応があるだけで、同じ走りが倍は気持ちよく感じられます。テンプレートで動くループは手に入りましたが、ここで完成した感触を作ります。

羽ばたくときに鳥の頭が上を向き、落下するにつれて頭が下を向くように回転させ、角度が動きに追従するようにしてください。タップのたびに短い羽ばたき音を鳴らし、スコアが上がるときにチーンという音を鳴らし、死亡時に鋭いヒット音と短い画面フラッシュを追加してください。

これは下の四つのシステムを何も変えません。それらの感触を変えるのです。そして感触こそ、オリジナルをあれほど中毒性のあるものにした大半の部分です。落下に向かって傾く鳥は、人々が最も記憶しているディテールです。そして追加するのに一文もあれば十分です。

ステップ6:自分だけのひとひねりを見つける

Flappy Birdに忠実なクローンは楽しいですが、数百万人がすでにプレイしたゲームでもあります。あなたのゲームがシェアする価値を持つのは、オリジナルにはなかった一つのアイデアです。ループが非常に小さいため、ほぼどんなひねりも新鮮に映ります。

  • 二回目のタップで鳥を前方にダッシュさせて隙間を通り抜け、スキルの天井を作る
  • 隙間に浮かぶコインを集めるために、よりタイトなラインを狙うリスクを取れる
  • 毎回のタイミングを変える、動いたり回転したりするパイプ
  • スコアのマイルストーンに連動した昼から夜への変化やシフトする背景
  • 二羽の鳥が一つの壊れやすいスコアを共有する二人協力モード

ひねりの実装は他のすべてと同じ方法です。説明して、プレイして、調整する。土台がすでにしっかりしているため、自分のバージョンを際立たせる一つのアイデアにほぼすべての努力を注げます。

無料でできること、お金がかかること

Summer Engineは無料で使えます。エンドレスランナーテンプレート、2D機能、会話形式のビルドフロー、エディター、そしてウェブ、itch.io、またはモバイルストアに公開できる実際のビルドへのエクスポートがすべて無料プランに含まれています。支払いなしで完全なFlappy Birdスタイルのゲームを作ってリリースできます。

有料プランは、多くのイテレーションを行う場合にAIの利用頻度が高くなったり、より速いターンアラウンドが必要になったりするときのために存在します。アーケードゲームはフィールパスが多いため、こうしたニーズが生まれやすいです。ただし、このガイドのシステムはいずれも有料機能の裏に隠れていません。始めたばかりであれば、プロトタイプと最初のリリースは無料プランで作るのが正しい選択です。

作ってみよう

Flappy Birdは自分で作ると最もやりがいのあるゲームのひとつです。「何もない」から「プレイアブル」までの距離が短く、「プレイアブル」から「中毒性がある」までの距離は完全に感触の問題であり、これこそAIが最も加速してくれる部分だからです。テンプレートから始め、鳥を羽ばたかせて、止められなくなるまで三つの数値を調整しましょう。

エンドレスランナーテンプレートから始めるか、AIゲームメーカーを開いて頭の中にあるアーケードゲームを説明してみてください。先に幅広いウォークスルーが見たい場合は、AIで2Dゲームを作る方法のガイドで同じ会話形式のワークフローを複数のジャンルにわたって解説しています。

Frequently asked questions

Flappy Birdのようなゲームを作るのは難しいですか?

これは作れる中でも最も簡単な完成度の高いゲームのひとつです。システムは四つだけで、複雑な物理演算やネットワーク機能は一切必要ありません。難しいのはコードではなく「感触」の部分です。羽ばたきの強さ、隙間の広さ、重力の厳しさがそれです。テンプレートから始めればボイラープレートを書かずに済むので、この三つの数値の調整に集中できます。この調整こそが、感触の良いクローンと感触の悪いクローンを分ける違いです。

どのテンプレートから始めるべきですか?

エンドレスランナーのテンプレートを使いましょう。横スクロールする世界、障害物スポーナー、スコアカウンター、死亡とリスタートのループがすでに組み合わさっています。最初の実行からプレイアブルなゲームとして起動できます。そこから走ってジャンプするキャラクターをタップで羽ばたく鳥に変え、地上の障害物をパイプのペアに変えればいいだけです。白紙のプロジェクトから始めると、羽ばたきを試す前にスクロールとスポーンを手動で作り直さなければなりません。

AIはFlappy Birdの感触に合う物理演算を扱えますか?

はい、なぜなら物理演算はシンプルだからです。常に下向きにかかる重力と、タップごとに発生する固定の上向き衝撃力だけです。望む感触を普通の言葉で説明し、何回か試してプレイし、鳥が思い通りに浮かぶまで二つの数値を調整します。重力と衝撃力の設定はAIが行い、それが気持ちよく感じるかどうかの判断はあなたが行います。その判断は人間にしかできない部分です。

コードの書き方を知らなくても大丈夫ですか?

大丈夫です。やりたいことを普通の言葉で説明するだけで、エンジンが内部のGodotコードを書いて編集してくれます。羽ばたきの強さや隙間の幅などの値をより細かく制御したい場合はエディターを開いて直接調整することもできますが、Flappy Birdのクローンを動かすためにスクリプトをゼロから書く必要はありません。

Flappy Birdのようなゲームを作るのは無料ですか?

はい。Summer Engineは無料で使えます。エンドレスランナーのテンプレート、2D機能、そしてウェブやitch.io、モバイルストアに公開できる実際のビルドへのエクスポートもすべて無料プランで利用できます。AIの利用頻度が高い場合や高速なターンアラウンドが必要な場合は有料プランがあります。しかしこのガイドで紹介するシステムはすべて有料機能の裏に隠れていません。始めたばかりなら、プロトタイプと最初のリリースを作るには無料プランで十分です。

Flappy Birdのクローンを公開できますか?

はい、自分のアート、名前、音楽を使っている限り問題ありません。ゲームのメカニクスには著作権はなく、特定のアセットと正確な名称にのみ著作権があります。そのため、自分の鳥、自分のタイトル、自分のアートを使ったパイプをくぐり抜けるゲームは公開しても大丈夫です。オリジナルのスプライトをコピーしたり「Flappy Bird」という名称を使うのは避けてください。Summer Engineは実際のビルドをエクスポートするので、テストしているプロジェクトがそのままリリースできるものになります。

プロトタイプを作るのにどれくらいかかりますか?

エンドレスランナーのテンプレートからであれば、プレイアブルなプロトタイプは一時間以内に完成します。まずコアループを動かし、そこからキャラクターを鳥に変え、障害物をパイプに変え、羽ばたきと隙間を調整し、スコアを追加していきます。ゲームが非常に小さいため、ほとんどの時間がシステムの構築ではなく感触の調整に使われます。これはまさにAIが最も加速してくれる部分です。

なぜFlappy Birdは最初に作るゲームとして優れているのですか?

スコープが小さく、デザインの課題がはっきりしているからです。コンテンツの量で粗削りなメカニクスを隠す余地がないため、一つのコアインタラクションを正しく感じさせることで、より大きなプロジェクトより多くのことをゲームの感触について学べます。完成できるほど小さく、完全に理解できるほどシンプルで、オリジナルが持つあの中毒性を追求できるほど調整の余地があります。