AI と作った潜入パズル『添財義賊』:大稲埕の軒下で金持ちから盗んで貧しい人へ、ブラウザーですぐ遊べる
今回は、台湾の歴史にちなんだ、反射神経のいらないゲームを作りました。アクションや対戦のゲームはボタンの手ざわりが大事で、スマートフォンのタッチ操作では不利になります。そこでターン制の潜入パズルにしました。あなたが一マス進むと、見張りも一マス進みます。あなたが動かなければ、見張りも動きません。じっくり考えられます。
舞台は日本統治の初めごろ(1905 年前後)の台北・大稲埕(ダーダオチェン)。十七歳の茶問屋の見習い添財(ティエンツァイ)は、主人の陳金水に盗みの濡れ衣を着せられ、給金を取り上げられて追い出されます。その夜、彼は裏口から帳場に忍び込み、自分の銀貨三枚だけを取り返します。これが彼の初めての盗みでした。やがて陳家の薪小屋で借用書の束を見つけますが、その署名は偽物でした……。「添財」は「財が増える」という意味で、お金持ちになってほしいと両親が付けた名前です。盗んだ銀貨を自分のものにするか、近所の人に分けるかは、あなたが決めます。
場所は実在します:大稲埕、艋舺(萬華)、剝皮寮、淡水河の波止場、台北城、八里、観音山。人物と物語は架空です。
ゲームの名前は『添財義賊』(GENTLE THIEF)。懐かしのテレビゲーム機の形式で作ったゲームで、ゲームファイルは 2 MB。序章と五つの章、エンディングは 3 つ、潜入ステージは全部で 16 あります。物語、ルール、プログラム、ステージ、マップ、キャラクター、音楽はすべて AI が作りました。AI の作業時間は約 129 分、API 料金で換算して約 22 ドルです。
ブラウザーですぐに遊べます:aixsfc.app/player/?load=gentlethief。無料です。友だちに教えるときは、このアドレスを送ってください。ゲーム内の文字は中国語(繁体字)です。
章と場所
| 章 | 場所 | ステージ |
|---|---|---|
| 序章 濡れ衣の夜 | 大稲埕 | 茶問屋の帳場 |
| 第一章 | 大稲埕 | 陳家の裏庭、波止場の倉庫、陳家の表座敷、陳家の奥の間 |
| 第二〜第四章 | 艋舺、淡水河、台北城 | 遊んで確かめてください |
| 第五章 | 八里、観音山 | 遊んで確かめてください |
章ごとに歩き回れる街のマップがあります。人と話し、屋台で買い物をし、次のステージの入り口を探します。
遊び方




- あなたが一歩、みんなも一歩。 方向キーで歩き、A でその場で 1 ターン待ちます。B で一歩戻せます。 何歩でも戻せるので、見つかってもすぐ戻るか、最初からやり直せます。
- 見張りに見える範囲が表示されます。 使用人は前方 3 マス、巡査は 4 マス。壁と布のカーテンは視線をさえぎります。暗い所では隣に来た見張りにしか見つからず、水がめや茂みに隠れることもできます。
- 道具。 犬のそばに肉まんを投げると、食べて眠ります。爆竹は投げてから 2 ターン後に鳴り、近くの人が振り向いて 2 ターン立ち止まります。鍵のかかった戸に向かって歩くと、かんざしで鍵を開けます。
- 章ごとに新しい仕掛け。 通れるけれど視線をさえぎるカーテン、踏むと鳴る床板、どこまでも追ってくる人など。
- 星 3 つ。 クリア、銀貨を全部取る、歩数が目安以内。
- 銀貨。 盗んだ銀貨で屋台の肉まんや爆竹を買うことも、近所の人に分けることも、自分で取っておくこともできます。それでエンディングが変わります。
まず体験版、それから最後まで
AI がいくつか案を出し、「金持ちから盗んで貧しい人に配る義賊、ターン制の潜入パズル」に決めてから、物語のあらすじ、人物、ルールを書き、それから作り始めました。最初は体験版:序章と第一章の 5 ステージです。
体験版ができたら aixsfc.app のプレイヤーで試しに遊び、ステージから通りに戻ると主人公が動けなくなる不具合を直しました。続いて第二〜第五章を作り、11 ステージ、新しい仕掛け、5 曲を加えました。完成版をもう一度遊んで、入り口を見つけやすくし、まだ入れない戸は次の行き先を教えるようにしました。銀貨で屋台の道具が買えるようになり、メニューからは使わない項目を外して、記録を見る画面にしました。
街のマップは、前作『無鞘』のマップ部品(屋根、廟、屋台、波止場、城壁、林など)を使っています。潜入の部分と音楽は今回新しく作りました。
AI による作り方
- まずルールを「解ける」プログラムに。 AI は潜入のルールを JavaScript で書きました。1 ターンの中で、主人公が動き、見つかったか調べ、爆竹の導火線が減り、見張りが道順どおりに一歩進み、もう一度調べます。同じルールを 65C816 のアセンブリ言語でゲームに書き込みました。潜入の部分は約 2,200 行です。
- どのステージも解けることをコンピューターで証明。 幅優先探索で各ステージのすべての進み方を調べ、最少歩数と、銀貨を全部取る進み方を見つけます。さらに道具を一つ取り上げて解き直し、そのステージで本当にその道具が要ることを確かめます。たとえば陳家の裏庭は、肉まんがないとクリアできません。目安の歩数は、銀貨を全部取る最少歩数に 3 を足した数です。
- 一歩戻す。 1 ターンごとにステージ全体の状態(80 バイト)を記録し、最大 190 歩まで覚えているので、B でどこまでも戻れます。
- ステージは文字で描いてからマップに。 各ステージはまず文字のマス目(
#は壁、,は暗がり、Jは水がめ、|はカーテン……)で描き、自動でマップに変換します。赤れんが、水がめ、カーテン、爆竹、犬の絵は、プログラムが 1 ドットずつ描きました。 - 音楽はすべて新しく。 10 曲:タイトル、大稲埕の通り、潜入、成功、ストーリー、艋舺の夜市、淡水河、台北城、追跡、観音山の朝。曲を替えるときは、サウンドプロセッサーが「準備できた」と知らせるのを待ってから次の曲を送ります。
最後まで遊べるかの確認
- ゲームとルールのプログラムを 1 ターンずつ比べる。 コンピューターが見つけた解き方を 1 歩ずつエミュレーターに入力し、毎ターン主人公と全員の見張りの位置がルールのプログラムとぴったり同じか比べます。16 ステージすべて合格し、銀貨を全部取る進み方ではすべて星 3 つでした。
- タイトルからエンディングまで。 もう一つのテストはタイトル画面から始め、プレイヤーと同じように各ステージの戸まで歩き、16 ステージをクリアし、すべての場面を見て、エンディングまで進みます。3 つのエンディングもそれぞれ一度ずつ通しました。
かかった費用
| AI の作業時間 | 約 129 分(企画と体験版が約 48 分、テストプレイでの修正が約 11 分、第二〜第五章が約 55 分、完成版のテストプレイでの修正が約 15 分) |
| モデル | Claude Opus 5.5。計約 176 回の応答 |
| AI の出力トークン | 約 28 万 |
| 処理したトークンの合計 | 約 6,100 万(ほとんどがキャッシュ読み取り) |
| 推定費用 | 約 22 ドル(2026 年 11 月の Anthropic API 料金で換算。サブスクリプションは計算方法が異なります) |
| そのほかの費用 | なし:フォントはオープンライセンスで、それ以外はすべてこのゲームのために作ったもの |
バージョン履歴
| バージョン | 変更点 |
|---|---|
| 1.261106.3 | 入り口に乗ると入るか聞かれる;まだ入れない戸は次の行き先を教える;銀貨で屋台の肉まんと爆竹が買える;メニューに「記録」 |
| 1.261106.2 | 完成版:第二〜第五章とエンディング 3 つ;カーテン、鳴る床板、追ってくる見張り |
| 1.261106.1 | 序章のあと通りに戻ると動けなくなる不具合を修正 |
| 1.261106.0 | 体験版:序章と第一章、5 ステージ |
まだできていないこと
- 絵はすべてプログラムで描いたもので、使用人と巡査の見た目をもっと区別できそうです。
- 難しさはコンピューターが出した歩数でしか判断していないので、もっと多くの人に最後まで遊んでもらう必要があります。
AI で自分のゲームを作るには、空のフォルダーで npx https://aixsfc.app/skill/aixsfc.tgz を実行して claude を起動します。詳しくはホームへ。
出典とライセンス
- フォント:Cubic 11(俐方體11號)、ACh-K、SIL Open Font License 1.1。
- 地名:大稲埕、艋舺、剝皮寮、淡水河、台北城、八里、観音山は実在の場所です。人物と物語は架空です。
- プログラム、物語、ステージ、マップ、キャラクター、音楽:このゲームのためにゼロから作りました。