AI と作った小学校の運動会『加油!運動會』:なわとび、綱引きからリレーまで、音楽に合わせて押す、ブラウザーですぐ遊べる
今回はスポーツのゲームを作りたいと思いました。それも、だれもが経験したことのあるもの、小学校の運動会です。朝礼台、万国旗、四つのクラスのテントと応援する家族、お昼のお弁当、そして午後の最後を飾る、得点二倍のリレー。
四つのクラスは、台湾の学校でよく使われる呼び方で、甲・乙・丙・丁(日本の「い・ろ・は・に」のような順番の名前)です。主人公は丁組。去年は総合最下位で、今年こそ巻き返したいクラスです。去年の優勝は甲組でした。一日に七つの種目があります。
| 時間 | 種目 |
|---|---|
| 午前 | なわとび、お手玉入れ、二人三脚 |
| お昼 | お弁当(セーブ) |
| 午後 | 綱引き、大玉ころがし、ドッジボール |
| 最後 | リレー(得点二倍) |
種目ごとに順位がつき、1 位 4 点、以下 3、2、1 点。最後に表彰台で総合成績が出て、その日の結果によって三つのエンディングがあります。学校、クラス、登場人物はすべて架空です。
ゲームの名前は『加油!運動會』(SPORTS DAY、「がんばれ!運動会」の意味)。懐かしのテレビゲーム機向けのゲームで、ゲームファイル全体で 2 MB です。ルール、プログラム、画面、キャラクター、十曲の音楽はすべて AI が作りました。AI の実作業は約 150 分、API の料金に換算して約 33 ドルです。
ブラウザーですぐに遊べます:aixsfc.app/player/?load=sportsday。無料です。友だちに教えるときは、このアドレスを送ってください。ゲーム内の文字は中国語(繁体字)です。
遊び方









- 音楽に合わせて押す。 ほとんどの種目で問われるのは、連打の速さではなくリズムとタイミングです。綱引き、二人三脚、大玉ころがしは画面の上に拍子のバーがあり、三角が円に届いた瞬間に押します。リレーと二人三脚は左下に次に出す足が表示され、押すべきときに金色になります。むやみに連打するとリズムが崩れて、かえって負けます。
- なわとび:なわが足もとに来たら A。跳ぶたびになわが速くなり、引っかかるとゆっくりからやり直し。三人が 20 秒ずつ跳び、合計で競います。
- お手玉入れ:上下キーで角度を選び、A で力をため始め、もう一度 A で投げます。お手玉ごとに風が違います。角度が低いと風の影響は小さいけれど力加減が難しく、高いと入りやすいけれど流されやすい。
- 二人三脚:相棒が「一」と言ったら左、「二」で右。拍子に合わせ続けると歩幅がどんどん広がり、足を間違えると二人いっしょに転びます。
- 綱引き:「シュッ」のところで A。続けて合わせるほど、クラス全員の力が重なります。準決勝の相手は甲組、勝てば決勝です。
- 大玉ころがし:かけ声に合わせて A で押し、上下キーで 12 か所のコーンの間を抜けます。コーンにぶつかると大玉は止まります。タイムで競います。
- ドッジボール:投げる前の構えを見ます。腕を高く上げたら高い球、下でしゃがむ。体を低くしたら低い球、B でジャンプ。腕を後ろに引いたら正面の球、A で受け止めると、外野に出た仲間をひとり戻せます。
- リレー:足音の拍子に合わせて左右キーを交互に押し、合っていれば加速します。バトンゾーンで A を押してバトンを渡します。早すぎると落とします。
- 三つの難しさと自由練習。 かんたん(低学年、親子で)、ふつう、むずかしいの違いは、判定時間の幅とほかのクラスの強さだけです。自由練習ではどの種目もひとつだけ遊べるので、交代で遊ぶのにも向いています。
まず体験版、それから最後まで
AI はまず企画書を書きました。七つの種目、一日の流れ、各種目の遊び方と使うボタン。そのうえで体験版として、なわとび、綱引き、リレーの三種目を、開会式から表彰式まで通して遊べるように作りました。体験版のあと残りの四種目を加えて、まる一日の運動会になりました。
スポーツゲームは、これまで作ったロールプレイングや潜入パズルとは大きく違うので、今回は以前のゲームエンジンは使わず、ジャンルに関係のない部分だけを引き継ぎました。中国語フォントと文字枠、サウンドドライバー、ビルドの道具です。
試遊のあとの修正は主に手ざわりです。リレーは最初 8 分音符ごとに一歩で速すぎたので、4 分音符ごとに一歩にして判定時間を広げました。二人三脚には拍子のバーを付け、ドッジボールは投げる前のキーを数えないようにしました。拍子がずれる問題もありました。AI がエミュレーターで、音楽の各拍の太鼓が何フレーム目に鳴るかを測り、判定の拍を聞こえる拍の少しあとに合わせ直しました。プレイヤーの音の遅れも、揺れないよう一定にしました。
難しさの確かめ方
AI はボットのプレイヤーを書きました。ゲームのメモリーから拍子を直接読み、腕前に応じてわざと少しずらして押します。腕前は五段階です。
- 完璧:いつも拍子ぴったり。
- 上手:いつも判定時間の中。
- ふつう:判定時間+2 フレームまでずれ、4 回に 1 回ほど失敗。
- 雑:判定時間の 2 倍までずれる。
- 連打:リズムなしで押し続ける。
各種目、難しさごと・腕前ごとに 6 回ずつ(1 種目 90 回)。下の表は「ふつう」のボットが勝った回数です。
| 種目 | かんたん | ふつう | むずかしい |
|---|---|---|---|
| なわとび | 6/6 | 3/6 | 0/6 |
| お手玉入れ | 6/6 | 3/6 | 0/6 |
| 二人三脚 | 6/6 | 3/6 | 0/6 |
| 綱引き | 6/6 | 0/6 | 0/6 |
| 大玉ころがし | 6/6 | 4/6 | 0/6 |
| ドッジボール | 6/6 | 4/6 | 2/6 |
| リレー | 6/6 | 6/6 | 2/6 |
「上手」はどの種目・どの難しさでもほぼ全勝、「連打」は一度も勝てません。お手玉入れには拍子がないので、ボットはゲームと同じ飛び方の計算でかごに入る力の範囲を求め、腕前に応じてずらします。
ボットにタイトルから表彰式まで一日を通して遊ばせ、三つのエンディングすべてに到達しました。
| ボット | 難しさ | 丁組の総得点 | ほかのクラスの最高 | エンディング |
|---|---|---|---|---|
| 完璧 | ふつう | 32 | 21 | 総合優勝 |
| ふつう | ふつう | 24 | 24 | 総合優勝(同点は丁組) |
| 雑 | かんたん | 16 | 26 | 3 位 |
| 連打 | ふつう | 8 | 28 | 4 位 |
AI による作り方
- 種目ごとにひとつのモジュール。 七つの種目はそれぞれルール、相手、画面を持ち、65C816 のアセンブリ言語で書かれていて、文字枠、得点板、表彰式を共有します。ほかのクラスは台本どおりではなく、各クラスの強さに応じて、プレイヤーと同じルールでシミュレーションしています。
- 拍子は音楽に従う。 各種目に「メトロノーム」があり、画面のフレーム数で時間を数えます(1 秒に約 60 フレーム)。1 拍は 32 または 40 フレームで、ちょうど曲の 4 分音符ひとつ分。競技中は文字を描き直しません。描き直しに 1 フレーム以上かかると、拍子が 1 フレーム遅れるからです。
- 耳に頼らず拍を合わせる。 エミュレーターで毎フレームの音を記録し、急に音が大きくなるフレーム(太鼓や音の出だし)をメトロノームと比べます。プログラムを変えるたびに測り直します。
- 絵はすべてプログラムで描く。 校庭は左右がつながる幅 512 ピクセルの一枚の絵です。万国旗、教室、朝礼台、四つのクラスのテントと家族、4 レーンのトラック。リレーでは空、校舎、トラックが違う速さでスクロールします(HDMA)。子どもたちには横向き 8 種類、正面 5 種類のポーズがあり、クラスごとに色が違います。
- 十曲すべて書き下ろし。 タイトル、なわとび、綱引き、リレー、お昼、表彰式、お手玉入れ、二人三脚、大玉ころがし、ドッジボール。MML(文字で書く楽譜)で書き、ゲーム機の音源データに変換しました。
かかった費用
| AI の作業時間 | 約 150 分(企画・体験版・完全版で約 132 分、試遊後の手ざわりの修正で約 18 分) |
| モデル | Claude Opus 5.5、返答は約 330 回 |
| AI の出力トークン | 約 38 万 |
| 処理したトークンの合計 | 約 1 億(ほとんどがキャッシュの読み込み) |
| 推定費用 | 約 33 ドル(2026 年 11 月の Anthropic API 料金で換算。サブスクリプションは課金のしかたが違います) |
| そのほかの費用 | 0:フォントはオープンライセンス、それ以外はすべてこのゲームのために作ったもの |
バージョン履歴
| バージョン | 変更点 |
|---|---|
| 1.261107.6 | リレーの判定時間を広げた |
| 1.261107.5 | 拍子を音楽に合わせ、判定時間内の表示が金色に。二人三脚に拍子のバー。ドッジボールは投げる前のキーを数えない |
| 1.261107.4 | 二人三脚:相棒のかけ声を白い吹き出し「一 左」「二 右」に、草の上に次の足を表示 |
| 1.261107.3 | まる一日:お手玉入れ、二人三脚、大玉ころがし、ドッジボールを追加。リレーは反対の足でも一歩になる |
| 1.261107.2 | リレーを 4 分音符ごとに一歩にし、判定時間を広げた |
| 1.261107.1 | 綱引きの子どもたちが切れて見えなくなる問題を修正 |
| 1.261107.0 | 体験版:なわとび、綱引き、リレー |
まだできていないこと
- 難しさはボットで決めたもので、人が遊んだときの手ざわりは、もっと多くの人に試してもらう必要があります。
- リズムの種目はスマートフォンのタッチ操作ではまだしっかり試しておらず、判定時間の調整が要るかもしれません。
AI で自分のゲームを作るには、空のフォルダーで npx https://aixsfc.app/skill/aixsfc.tgz を実行して claude を起動します。詳しくはホームへ。
出典とライセンス
- フォント:Cubic 11(俐方體11號)、ACh-K、SIL Open Font License 1.1。
- 学校、クラス、登場人物:架空。
- プログラム、ルール、画面、キャラクター、音楽:このゲームのためにゼロから制作。