
コードなんて書いたことがない50歳のおじさんが、Claude Codeと日本語でやり取りしただけで、ちゃんと遊べるゲームを1本作ってしまった。きっかけは、まさかの腱鞘炎だった。
きっかけは、右手首の痛みだった
ある朝、マウスを握った瞬間に手首がズキッとした。 病院で言われたのは腱鞘炎。原因は、はっきり言ってマウスの使いすぎだった。
仕事でも自宅でも、一日の大半をマウスと一緒に過ごしている。ブログを書くのも、写真を選ぶのも、全部マウス。手首を固定して湿布を貼りながら、「これ、しばらく治らないやつだな」と思った。
そこで、ずっと気になっていながら手を出していなかったトラックボールマウスを買った。今更である。50歳にして、初めてのトラックボールデビュー。
トラックボール、想像以上に慣れない
届いた日は少し感動した。手首を動かさなくていい。親指でコロコロ転がすだけでカーソルが動く。 ただ、その感動は30分で消えた。
- カーソルが狙ったところで止まらない
- ドラッグ&ドロップで指が疲れる
- テキストを範囲選択しようとすると、行がずれる
「トラックボール 慣れない」で検索すると、同じように悩んでいる人がたくさんいた。だいたい「2週間我慢すれば慣れる」と書いてある。でも、仕事でイライラしながら2週間我慢するのはつらい。
そこで思った。 練習する場所がないなら、練習するためのゲームを作ればいいんじゃないか。
非エンジニアでも、ゲーム開発はできるのか
僕はプログラマーではない。仕事でGoogle Apps Scriptをちょっと触る程度で、「ゲーム制作」なんて自分には縁のない世界だと思っていた。
ただ最近、AIコーディングツールのClaude Codeを触る機会があった。チャットで「こういうものを作って」と伝えると、コードを書いて、動かして、直してくれる。噂には聞いていたが、実際に「非エンジニアのゲーム開発」がどこまで現実的なのか、自分で試してみたくなった。 以前、別のAIで作ってもらった簡単なHTMLの叩き台も手元にあった。
「これを本格的なトラックボール練習ゲームにしたい」
そう伝えるところから、Claude Codeでのゲーム作成が始まった。
できあがった「トラックボール道場」

完成したのは、単一のHTMLファイル1本で動くブラウザゲーム。画像もライブラリも使わず、絵はすべて手描きのSVGとCanvasで描いたドット絵。著作権的に完全にクリーンなオリジナル素材だけでできている。
トラックボールで一番つまずく3つの操作を、それぞれゲームにした。
1. 射撃(移動+クリックの練習)
- 初級:酒場でこちらを狙ってくるガンマンを迎撃
- 中級:燃え広がる導火線の火花を、地面を這う炎ごと撃って消火
- 上級:荒廃した街を歩いてくるゾンビの「眉間だけ」を狙うヘッドショット。1発ごとにリロードが入る
2. レールウェイ(ドラッグ&ドロップの練習)
周回する汽車の前に「川」「穴」「停止車両」が現れるので、橋をかけたり、砂利を埋めたり、車をドラッグでどかしたりして通してあげる。 「上→下」「下→上」「全方向」と、練習したいドラッグの方向を選べる。
3. 時限爆弾解除(コピー&ペーストの練習)
基板とLCD画面のある爆弾装置から、解除コードをドラッグで選択→コピー→貼り付け→決定。 桁数と制限時間が難易度で変わり、時間切れになると爆発する。地味に一番緊張するモード。
どれも60秒のスコアアタックで、命中率・反応速度・最大コンボからS〜Dのランクが出る。 ゲームとしてちゃんと遊べるものになったのが、自分でも意外だった。
Claude Codeでのゲーム制作、実際の進め方
ここからが本題。非エンジニアのゲーム開発と聞くと身構えるかもしれないが、実際にやったのは日本語で会話しただけ。「AIに頼めば何でもできる」わけではなかったけれど、「対話だけでここまでできる」のは本当だった。Claude Codeでのゲーム作成で印象に残ったことを5つ書いておく。
① まず設計案を出してもらい、合意してから作る
いきなり「作って」ではなく、先にゲームデザインの案を出して推敲させた。「クリック・ドラッグ&ドロップ・コピペの3モードにしよう」「60秒のスコアアタックにしよう」という骨組みで合意してから実装に入ったので、途中で迷子にならずに済んだ。
② 参考画像は「そのまま使わない」を徹底した
ガンマン、ゾンビ(これは後述)、汽車、爆弾装置。それぞれのイメージをGeminiで作成して「参考画像」として渡した。 ただし、具体的なデザインは真似せず、「西部劇のガンマン」「よろよろ歩くゾンビ」といった一般的な記号だけを抽出して、ゼロから描き起こしてもらう方針にした。
Claude Code自身からも「著作権が保護するのは具体的な表現であって、アイデアやジャンルではない」という説明があった。なるほど。
③ 見た目は何度も作り直しになった
一番苦労したのが上級の射撃モード。 「小さい的+暗いスコープ演出」→「ビルの窓越しに強盗が見える演出」→最終的に「荒廃した街をゾンビが迫ってきてヘッドショット」と、3回ほど大きく作り直した。
原因はいつも同じで、僕が見た目の指示を先に出しすぎていたこと。「何をしているシーンなのか」「舞台はどこなのか」を後から詰めていたから、AIも迷っていた。
逆に「荒廃した街で、ゾンビが歩いてきて、眉間を撃つ」と3点セットで最初に伝えた瞬間、一発でイメージ通りのものができた。これは仕事でも同じだなと思った。
④ 「これ以上は難しそう」と言ってもらえた
ドット絵を固定にしていたが、ゾンビの見た目をもっと精巧にできないかと聞いたとき、「手描きのSVGでここまで来たら、これ以上の作り込みは非効率」と正直に返された。 ちょっと拍子抜けしたけれど、おかげでそこで区切りをつけられた。AIは無限に何でもできるわけではない。得意な範囲を見極めて頼むのが大事だと感じた。
⑤ バグ探しも、難易度調整も、一緒にやった
爆弾解除モードで「画面が震えたまま固まる」不具合が出た。僕がやったのは、スクリーンショットを添えて「この画面のまま震えて動かなくなりました」と伝えただけ。
そこから再現条件を一緒に検証して、「決定ボタンを押すタイミングと時間切れがほぼ同時に重なると、古いタイマーが新しい爆弾のタイマーを誤って止めてしまう」というレース条件(稀にしか起きないタイミングのバグ)だと突き止め、自己解決してくれた。
難易度調整も面白かった。ゾンビモードで「20秒ごとに速く」「30秒後は5体」「ただし60秒で倒しきれるように」とお願いしたら、実際に60秒間のプレイをシミュレーションするコードを書いて、「1発1.1秒ペースまでなら取りこぼしゼロで完走できる」と数字で裏付けを取ってから実装してくれた。感覚ではなく数字で難易度を握れたのは大きかった。
手戻りを減らす依頼テンプレート(コピーして使えます)
一通り作り終えたあと、「今回どこで作り直しが起きたか」を振り返って、依頼のテンプレートにまとめてみた。次にAIで何か作るときに、そのまま使えると思う。
結論:先に決めるのは3つだけ
この3つさえ揃っていれば、絵も演出も数値もほぼ一意に決まる。逆に、揃っていないと作り直しになった。
- 何の練習か(機能の目的):見た目より先に。「ドラッグの練習」と分かっていれば、レールウェイは最初から方向別ステージで作れた
- 舞台・相手・勝ち負け(3点セット):「小さい的を撃つ」では絵が決まらない。「荒廃した街でゾンビの眉間を撃つ/到達されたら失点」まで書くと決まる
- 数値と、クリアできる条件:「速くして」ではなく「20秒ごとに78→140→185」。加えて「60秒で倒しきれること」があると、AI側で検算して破綻を防いでくれる
実際に起きた作り直し
今回のセッションで大きく戻ったのは3か所。原因はどれも同じで、絵の指示が先に来て、目的や舞台が後から出てきたことだった。
上級ライフル(3回作り直し)
- 小さい的+スコープ暗転 →「真っ暗で何がなんだか」
- ビルの窓+5シチュエーション →「何をしているか分からない」
- 荒廃した街+ゾンビ → 採用
- こう書けば1回だった:「荒廃した街。ゾンビが3体こちらへ歩いてくる。眉間だけが的。1発ごとに0.65秒リロード。到達されたら失点」
レールウェイ(2回作り直し)
- 横スクロールで3種類の障害を同時に処理 →「やることが分かりづらい」
- 周回コース化 → さらに1ステージ1種類へ整理
- こう書けば1回だった:「ドラッグ方向の練習。上→下=橋、下→上=砂利、左右=車。ステージごとに1種類だけ」
ドット絵の細かさ(エンジンごと作り直し)
- 「ドット絵で」→ 粗すぎる →「ストリートファイターIIくらい細かく」→ 描画方式から作り直し
- こう書けば1回だった:最初から「スーファミ級の解像度」と基準を1語添える。ファミコン級/スーファミ級/イラスト調、で伝わる
コピーして使う型
A→B→C→Dは依頼が発生する順番。埋まらない項目は「おまかせ」と書けば、AI側で案を出してくれる。
A. 最初の1通(企画をまるごと渡すとき)
■ 作るもの
ジャンル:
目的:(例:トラックボールの操作練習)
1プレイの長さ:
■ モードごとの中身(鍛えたい操作の数だけ)
モード1
練習する操作:
舞台:
相手・障害:
勝ち/負けの条件:
モード2
(同上)
■ 難易度の上げ方
何を上げる:(速度/数/的の小ささ/制限時間)
いつ上げる:(例:20秒ごと)
クリアできる条件:(例:60秒で倒しきれること)
■ 絵のタッチ
参考画像:(添付)
細かさ:(ファミコン級/スーファミ級/イラスト調)
色の方向:
■ 公開まわり
置き場所:
広告:
権利表記:
B. モードを1つ作る/作り直す(今回いちばん効いた型)
■ どのモード:
■ 舞台:(場所・時間帯・雰囲気)
■ プレイヤーは何者:
■ 相手は何で、何をしてくる:
■ プレイヤーの1アクション:(例:眉間をクリック→0.65秒リロード)
■ 成功したら:
■ 失敗したら:
■ 数値
同時に出る数:
速度/制限時間:
難易度の変化:
クリアできる条件:
■ 参考画像:(あれば添付)
C. 直してほしい(最後の1行が事故を防ぐ)
■ 対象:(モード名/画面名)
■ 今こうなっている:
■ こうしたい:
■ 理由:(あれば。判断の材料になります)
■ 変えなくていいところ:
D. バグが出た(画面が固まった時に使った型)
■ 何をしたら:(操作の手順)
■ どうなった:
■ 期待していた動き:
■ 再現性:(毎回/ときどき/1回だけ)
■ スクリーンショット:(添付)
数値は「3点セット」で
「速く」「難しく」は解釈が割れる。開始値・変化・上限の3つが揃うと一度で通った。
| 解釈が割れる書き方 | 一度で通った書き方 |
|---|---|
| だんだん速くして | 20秒ごとに 78 → 140 → 185 |
| 敵を増やして | 30秒までは2体、以降は3体 |
| 難しすぎないように | 60秒で全部倒しきれること |
| 的を小さく | 眉間だけ。13〜26px(距離で変化) |
とくに「クリアできる条件」は効果が大きかった。ゾンビの調整では、これがあったので60秒間のシミュレーションを回して「1発1.1秒ペースまでは取りこぼしゼロ」と数字で確認できた。
今回とても助かった伝え方
型に落とすまでもないけれど、そのまま続けると精度が上がったやり方。
- 参考画像を貼る:ゾンビ・爆弾装置・汽車・ガンマンは、画像1枚で言葉10行分の情報になった
- 実際に遊んでから言う:「震えて動かなくなった」の一言から、決定ボタンと時間切れが重なるレース条件のバグを特定してもらえた
- やめる判断をもらう:「これ以上は難しそうだね」「逆効果だね、やめよう」で、無駄な作り込みを止められた
- 撤回をはっきり言う:「初級2個の話は撤回」と明示したので、古い仕様が残らずに済んだ
公開まで
- サーバーはXserver。ブログはWordPress(テーマはSWELL)だが、ゲームはブログのページにはせず、独立した静的ファイルとして
/game/trackball-dojo/に直接置いた。テーマやプラグインとの衝突を避けるため - タイトルタグ・meta description・OGP・構造化データ(JSON-LD)を設定して、検索で「トラックボール道場」が出るようにした
- 「トラックボール 練習」「トラックボール 慣れない」といったキーワードは、詰め込むのではなく、ちゃんと読める説明文としてページに入れた
- Google AdSenseは承認済みのアカウントだったので、コードを埋め込むだけ。公開後すぐに小さな収益が発生し始めた
- サイトマップは、ブログ側のプラグインがWordPressのコンテンツしか拾わないので、このページ専用の小さなサイトマップXMLを別に作ってSearch Consoleに登録した
で、トラックボールには慣れたのか
慣れた。 毎日ゾンビの眉間を撃ち、汽車のために橋をかけ、爆弾を解除していたら、いつの間にか仕事中のカーソルが狙ったところで止まるようになっていた。 手首の痛みも、マウスを握らなくなってから少しずつ引いている。
非エンジニアがゲーム制作に挑戦するなら
50歳の非エンジニアが、Claude Codeでのゲーム開発を一本やってみて分かったことを、ひとことでまとめるならこうだ。
見た目より先に「目的・舞台・数値」を決めて伝えると、作り直しが激減する。
コードは一行も書いていない。書いたのは日本語と、上のテンプレートだけ。 それでも、非エンジニアの自分が必要だったものを、ちゃんとしたゲームとして手元に作ることができた。
トラックボールに慣れなくて困っている人はもちろん、「自分にもClaude Codeでゲーム作成ってできるのかな」と気になっている人にも、一度遊んでみてほしい。
