AIゲーム制作ラボ

GAME 06

カサネ

吊られた石を落として積み上げる、縦画面のスコアアタックです。石は左右に揺れていて、タップすると手が離れます。落ちて、ぶつかって、転がるところは Unity の物理に任せています。画像素材も音声素材も使っていません。アクション(物理パズル) / Unity 6.6 / 公開 2026年9月20日

別のページで開きます。読み込みが終わるまで少し待ってください。

1時間30分

AI が動いていた時間

Claude Code 1時間30分

4回

AI に作業させた回数

Claude Code 4回

38/38

最後に流した自動テスト

すべて合格

カサネの、吊られた石を積み上げるプレイ画面

HOW TO PLAY

遊び方

画面をタップすると、吊られた石が落ちます(PC はスペースキーかクリック)。 石は左右に揺れているので、真下に落としたい位置で離します。 積んだ山の高さがスコア(cm)。石がきれいに乗るほど高くなります。 山から転げ落ちて画面の下に消えるとミス3回でゲームオーバーです。 石の形は毎回ちがいます。平たい石ほど積みやすく、傾いた面の上は滑ります。

MAKING OF

どんな狙いで作り、何を直したか

「物理を使うと、自動テストはどこまで成り立つのか」を確かめるために作りました。吊られた石を落として積むだけの遊びですが、落下と衝突はエンジンに任せています。

だれでも1回で記録が残るようにした

最初は「150cm 以上のときだけ送る」という下限を付けていましたが、記録したつもりで何も残らないことがありました。自己ベストを更新すれば必ず送られる形に変え、結果画面にも上位5件と、サイトのランキングを開くボタンを出しています。

物理の結果は、外から受け取る

段階の切り替え・スコア・ミスの判定は、エンジンを参照しない場所に置いています。物理からは「山のてっぺん」「止まったか」など4つの値だけを受け取るため、遊びの規則は物理なしでテストできます。

同じ操作で同じ結果になるかを測った

同じ種と同じ入力で5回回すと、記録は毎回一致しましたが、着地の判定が1回おきに1フレームずれました。そこでテストの合格ラインを「一致」ではなく「この範囲に収まる」に変えています。

積めない原因を、自動プレイで潰した

最初は、まん中で離しても4回中3回は転げ落ちました。台座の広さ・落とす高さ・石の形・崩れたときの扱いを、自動プレイの数字(置けた数・秒数)を見ながら直しています。

絵と音はコードで作る

石の形は種から作る多角形で、絵はその都度テクスチャに焼いています。下を暗く・上を明るく・輪郭だけ明るくすることで、同じ図形でも立体に見えます。効果音も波形を計算して鳴らしています。

物理と再現性を測った記録を読む

SCREENSHOTS

画面

6本目はClaude Codeが制作。1〜5本目は当たり判定も移動も自前で計算していましたが、この作品で初めてUnityの物理(Physics2D)を使っています。画像素材と音声素材は1つも使っていません。

タイトルのタップだけ
タイトルタップだけ
積みはじめの台座は石1個ぶん
積みはじめ台座は石1個ぶん
高く積むのカメラが上がる
高く積むカメラが上がる
結果の到達した高さ
結果到達した高さ

RANKING

みんなの記録

ゲームの中から送られた記録の上位10件です。⚠️ ブラウザで動くゲームから送っているので、不正な書き換えを完全には防げません参考記録として見てください。

まだ記録がありません。これまでに送れた自分の最高を超えると、ゲームから自動で送られます。 記録はゲームオーバーの画面にも上位5件が出ます。

AI RUN LOG

AI に作らせた記録

作業ごとに1件ずつ残しています。時間は「実際に動いていた時間」で、PC がスリープしていた分は入れていません。 失敗した回・中断した回も消していません。 最後に流した自動テストは 38/38 です。

作業ごとの時間
  • Claude Code:題材の決定と仕様書・プロジェクト作成15分
  • Claude Code:Core と Runtime・テスト38件25分
  • Claude Code:決定性の実測と、積めない原因の修正30分
  • Claude Code:見た目の仕上げとビルド・公開20分
  1. Claude CodeClaude Opus 5 / 高成功

    題材の決定と仕様書・プロジェクト作成

    初めて Unity の物理(Physics2D)を使う題材にした。新しく踏むのは物理・ぶれるものの自動テスト・決定性の実測・入力だけのリプレイの4つ。パッケージはテンプレートの55件から14件に削り、ビルド設定(Stripping High・IL2CPP サイズ優先・スプラッシュ停止・縦持ち)は作り始める前にそろえた

    動いた時間
    15分
  2. Claude CodeClaude Opus 5 / 高成功

    Core と Runtime・テスト38件

    物理はエンジンの中にあり Core へ持って来られないので、結果を Observation(山のてっぺん・落としている塊の位置・止まったか)として外から渡す形にした。ロジックは物理と同じ固定 50Hz で進め、入力は「何フレーム目に離したか」だけで保存できる形にした。EditMode 33件・PlayMode 5件

    動いた時間
    25分
    自動テスト
    38/38 合格
  3. Claude CodeClaude Opus 5 / 高成功

    決定性の実測と、積めない原因の修正

    同じ種・同じ入力で5回回すと記録は一致したが、着地の判定が1回おきに1フレームずれた(山のてっぺんの差 0.000126 ユニット)。合格ラインを「一致」から「範囲(1cm 未満)」に変えた。積めない原因は4つ:台座が広すぎる/積み始めだけ落下距離が 14.5 ユニット/とがった形と三角/崩れると詰む。自動プレイの実測で 1個・13cm・9.4秒8個・53cm・26.9秒

    動いた時間
    30分
    自動テスト
    38/38 合格
  4. Claude CodeClaude Opus 5 / 高成功

    見た目の仕上げとビルド・公開

    陰影は「テクスチャの高さ」ではなく「その形の高さ」で割る。平たい石はテクスチャの一部しか使わないので、前者だと立体に見えなかった。背景は靄12枚と粒54個を速度差つきで巻き戻す。見た目の自動検査は音まで合格(明るさ 0.122/背景の階調 0.0333/HUD 0.913)

    動いた時間
    20分
    自動テスト
    38/38 合格

詳しい話は 物理と再現性を測った記録を読む にあります。

BUILDS

ビルド

  • Web(WebGL)v1.1

    合計 6.9MB / 最大 5.2MB / 圧縮 br / ビルド 4分10秒

    起動 1893 ms / 60.0 fpsChrome / Windows 11 / 1920x1080 60Hz / canvas 960x600(自動計測・v1 と同じ条件)2026-09-20 実測)

  • Web(WebGL)v1

    合計 6.9MB / 最大 5.2MB / 圧縮 br / ビルド 4分20秒

    起動 1893 ms / 60.0 fpsChrome / Windows 11 / 1920x1080 60Hz / canvas 960x600(自動計測・?auto=1 の自動プレイ)2026-09-20 実測)