AI x SFC Player

記事 · · English · 繁體中文 · 简体中文

AI と作った小学校の運動会『加油!運動會』:なわとび、綱引きからリレーまで、音楽に合わせて押す、ブラウザーですぐ遊べる

今回はスポーツのゲームを作りたいと思いました。それも、だれもが経験したことのあるもの、小学校の運動会です。朝礼台、万国旗、四つのクラスのテントと応援する家族、お昼のお弁当、そして午後の最後を飾る、得点二倍のリレー。

四つのクラスは、台湾の学校でよく使われる呼び方で、甲・乙・丙・丁(日本の「い・ろ・は・に」のような順番の名前)です。主人公は丁組。去年は総合最下位で、今年こそ巻き返したいクラスです。去年の優勝は甲組でした。一日に七つの種目があります。

時間種目
午前なわとび、お手玉入れ、二人三脚
お昼お弁当(セーブ)
午後綱引き、大玉ころがし、ドッジボール
最後リレー(得点二倍)

種目ごとに順位がつき、1 位 4 点、以下 3、2、1 点。最後に表彰台で総合成績が出て、その日の結果によって三つのエンディングがあります。学校、クラス、登場人物はすべて架空です。

ゲームの名前は『加油!運動會』(SPORTS DAY、「がんばれ!運動会」の意味)。懐かしのテレビゲーム機向けのゲームで、ゲームファイル全体で 2 MB です。ルール、プログラム、画面、キャラクター、十曲の音楽はすべて AI が作りました。AI の実作業は約 150 分、API の料金に換算して約 33 ドルです。

ブラウザーですぐに遊べます:aixsfc.app/player/?load=sportsday。無料です。友だちに教えるときは、このアドレスを送ってください。ゲーム内の文字は中国語(繁体字)です。

タイトルから表彰台まで(音を出してご覧ください):開会式、なわとび、お手玉入れ、二人三脚、綱引き、大玉ころがし、ドッジボール、リレーを少しずつ。「上手」のボットが「ふつう」の難しさで遊んでいます。総合成績はご自分で遊んで確かめてください。プレイヤーのエミュレーターの画面と音をそのまま記録しました。

遊び方

開会式:朝礼台の前で、甲組の男の子が丁組をからかう
開会式:朝礼台の前に整列。去年の優勝クラス、甲組がさっそく挑発してきます。
なわとび:なわが足もとに来たら A
なわとび:なわが足もとに来たら A。三人が 20 秒ずつ跳びます。
お手玉入れ:竿の上のかごへ飛んでいくお手玉
お手玉入れ:角度を選び、力加減を決め、風を読みます。
二人三脚:相棒が「一 左」と声をかける、上には拍子のバー
二人三脚:相棒の「一 左」「二 右」のかけ声。上の三角が円に届いた瞬間に押します。
綱引き:丁組対甲組の準決勝
綱引き:準決勝は甲組と。「シュッ」のところで A。
大玉ころがし:大玉を押してコーンをよける
大玉ころがし:かけ声に合わせて押し、上下キーでコーンをよけます。
ドッジボール:甲組の投げ手が投げる
ドッジボール:投げる前の構えで、どんな球かを見分けます。
リレー:バトンゾーン
リレー:最後の種目で得点二倍。バトンゾーンで A を押してバトンを渡します。
表彰台
表彰式:だれがいちばん上に立つかは、ご自分で遊んで確かめてください。

まず体験版、それから最後まで

AI はまず企画書を書きました。七つの種目、一日の流れ、各種目の遊び方と使うボタン。そのうえで体験版として、なわとび、綱引き、リレーの三種目を、開会式から表彰式まで通して遊べるように作りました。体験版のあと残りの四種目を加えて、まる一日の運動会になりました。

スポーツゲームは、これまで作ったロールプレイングや潜入パズルとは大きく違うので、今回は以前のゲームエンジンは使わず、ジャンルに関係のない部分だけを引き継ぎました。中国語フォントと文字枠、サウンドドライバー、ビルドの道具です。

試遊のあとの修正は主に手ざわりです。リレーは最初 8 分音符ごとに一歩で速すぎたので、4 分音符ごとに一歩にして判定時間を広げました。二人三脚には拍子のバーを付け、ドッジボールは投げる前のキーを数えないようにしました。拍子がずれる問題もありました。AI がエミュレーターで、音楽の各拍の太鼓が何フレーム目に鳴るかを測り、判定の拍を聞こえる拍の少しあとに合わせ直しました。プレイヤーの音の遅れも、揺れないよう一定にしました。

難しさの確かめ方

AI はボットのプレイヤーを書きました。ゲームのメモリーから拍子を直接読み、腕前に応じてわざと少しずらして押します。腕前は五段階です。

各種目、難しさごと・腕前ごとに 6 回ずつ(1 種目 90 回)。下の表は「ふつう」のボットが勝った回数です。

種目かんたんふつうむずかしい
なわとび6/63/60/6
お手玉入れ6/63/60/6
二人三脚6/63/60/6
綱引き6/60/60/6
大玉ころがし6/64/60/6
ドッジボール6/64/62/6
リレー6/66/62/6

「上手」はどの種目・どの難しさでもほぼ全勝、「連打」は一度も勝てません。お手玉入れには拍子がないので、ボットはゲームと同じ飛び方の計算でかごに入る力の範囲を求め、腕前に応じてずらします。

ボットにタイトルから表彰式まで一日を通して遊ばせ、三つのエンディングすべてに到達しました。

ボット難しさ丁組の総得点ほかのクラスの最高エンディング
完璧ふつう3221総合優勝
ふつうふつう2424総合優勝(同点は丁組)
雑かんたん16263 位
連打ふつう8284 位

AI による作り方

かかった費用

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 を起動します。詳しくはホームへ。

出典とライセンス