以下の内容はhttps://kugi-masa.hatenablog.com/entry/u1w202508より取得しました。


unity1week「ひく」振り返り ~ ClaudeCodeと参加するゲームジャム ~

はじめに

Unity1週間ゲームジャム - お題「ひく」で「PigUp」という、しゃっくりで飛ぶブタのゲームを作りました!

プレイしてくださった方、評価してくださった方ありがとうございます! まだの方は下のリンクからプレイできるのでよかったら遊んでみてください。 unityroom.com

今回は「PigUp」の振り返り記事になります。

ClaudeCodeと参加するゲームジャム

実は今回参加を決めたのは開発期間終盤の8/8(金)の夜でした。

というのも、開発期間前半は親戚が遊びに来ており、評価期間中は夏季休暇ではありましたが、旅行など予定が詰まっていたため「今回は参加が厳しいかな~」と参加を見送るつもりでいました。

金曜日の夜、「そういえばunity1weekか、お題何だったっけな~」とunity1weekのことを考えながら眠りにつこうとしていたところ...

『 「ひく」 → 「Hiccup」→「Pig ... Up ...」→「PigUp ... !?」 』とブタがしゃっくりをしながら空を飛んでいる絵が思い浮かびました。

開発時間はあまり取れそうではなかったのですが、「ブタを飛ばしたい!」という気持ちと、 最近話題のClaudeCodeを使ってみたかったこともあり、 「逆にこの時間が取れない状況でClaudeCodeでどれだけ時短になるかを試してみる良いタイミングかも?」 と考えとりあえず参加してみることにしました。

世のものもすなる『ゔぁいゔこーでぃんぐ』といふものを、kugiもしてみむとて、するなり

Claude Codeセットアップ

ということで、早速

npm install -g @anthropic-ai/claude-code

しました。

docs.anthropic.com

課金形態

課金形態はAPIの従量課金で、まずはお試しで5ドル課金しました。 後々追加で30ドル課金しました。

公開までにかかったトークン費用としてはおおよそ15ドルでした。

プラグイン

Riderのプラグインもあったので試しに入れてみました。

Claude Code [Beta] - IntelliJ IDEs Plugin | Marketplace

Claude Code [Beta] Rider Plugin

日本語入力が不便な問題は依然として残りますが、いちいちターミナルを起動してclaudeコマンドを入力しなくても良くなります。 また、Shift + Enterで改行できるようでした。

Claude Codeとのやりとり

Claude Codeにコードを書いてもらう前に、PLAN MODE で計画した後に書いてもらった方が良いと聞いていたので、 最初の指示文をClaude Codeに渡す前にGeminiにプロンプトの相談をしつつ、ゲームアイディアを整理してみました。

- 豚をひっぱり、しゃっくりさせながら、どこまで高く到達できたかでスコアが決まるゲーム
- 豚をひっぱるにはエネルギー(スタミナ)が必要
- スタミナがなくなったらゲーム終了

また指示文も英語で渡すようにしてみました。

# 📝 実際に最初に渡した指示プロンプト
I'm making a 2D game for a gamejam. These are the details of the game.

- A 2D Platforming game where player controls a character(pig) by pulling and releasing the character so that the character can jump.
- The objective is to climb as high as possible.
- The character has a stamina gauge and the player will use the gauge to do the pulling action.
- When the stamina gauge is empty the game will finish and move to results by showing how high the character reached in the end.
- There will be some items in the stage during the climb
    - Health Item (Soda) : The character recovers some stamina
    - Boost Item (Balloon) : When the character gains 3 Balloons, the character will have a speed up boost for a specific duration.
    - Damage Item (Water) : The character lose some stamina

PLAN MODEで何度か内容の確認をしたうえで、実際にコードを書いてもらいました。

Shift + Tab でモード切替

数分待っているとUnity側でのセットアップガイドとともに、実装コードが出来上がっていました。

Unity側でセットアップガイド

いざUnityを起動してみるとエラーが出てSafeModeで起動することになりましたが、 エラーの該当箇所を修正し、セットアップガイド通りにひとまずシーンのセットアップをしてみて、 シーンの実行までたどり着きました。

開発中の修正依頼

初日に実装コードを提供してもらってから、途中でゲームの終了判定やブタ挙動、スタミナなどの仕様修正が出てきました。 途中の修正依頼についても軽く紹介します。

ブタのしゃっくりジャンプ時の方向表示依頼など

  • しゃっくりジャンプの際の方向表示
  • 豚落下中にカメラがカクツク問題の調査
  • Rキーでリトライする処理

📝指示プロンプト

Now I want to brush up my game.

- The hopping direction is not clear for the Player so I want to show the directin by a trajectory line.
You can reuse the trajectoryLine in the PigController if it's suitable.
Only show the hopping direction when the Pig is in the air.
- If the player inputs the key [R], I want to restart the game by calling the GameManager.Restart().

If your done with that, I also want you to check why the view has stuttering when the pig falls.

細かな追加修正

  • ブタの反転と飛ぶ方向に応じて向きを変える
  • 設定表示中はゲームを停止する
  • はじめてクリックしてからタイマー開始

📝指示プロンプト

Hi! I'm almost done making this game!
I'm doing a final brush up so I want you to help.
Please consider the following tasks.

- I want to make the Pig's sprite flip according to the direction the Pig is flying.
    - Also I want the top of the sprite to face the direction the Pig is flying.
    - The Pig's implementation is @Assets/Scripts/Core/PigController.cs
- I want to Pause the game(the game time, the Pig's rigid body simulation) when the user presses the [S] key
    - The InputAction is already implemented (Please use "settingsAction")
- I want the GameTimer to start on the First release pull action. (On the initial PigJump)


概ね意図通りの追加実装や修正をしてくれました。

また、私が追加で実装した箇所(おそらくコピペ実装のままになっていた部分)の修正まで合わせて行ってくれました...。

私の実装ミスを合わせて修正してくれた

Claude Codeを使ってみて

実際に使ってみて、序盤の走り出しのスピード感がかなり早く、 まず「動くもの」が欲しくなるような、プロトタイプの制作やゲームジャムのような場面と、相性がとても良いと感じました。

ただ、ずっとClaudeCodeに書いてもらっていたかというとそういうわけでもなく、 ClaudeCodeにコードを書いてもらったのは主に序盤の2日で、 後半の演出実装や細かな調整は自分で実装していました。

また、実装コードについては[SerializeField]が一切使われていなかったり、冗長なコードがあったりなど、こちらの意図を汲み切れていない部分がありました。 命名規則なども含め、プロジェクト構成やコーディング規約についてはコードを書いてもらう前段階で CLAUDE.mdで指示したうえで着手してもらう方が良いんだろうなと感じました。

(「ものごとを簡潔に伝える力」が必要になっていきますね...)

今回はコードのみの部分で助けてもらいましたが、どこかのタイミングでMCPも試してみたいです。

まとめ

今回は、妻のNaTsuもボイス、イラストで手伝ってくれ、久々に夫婦で共同開発ができたのも良かったです。 妻は子供の頃にDoodleJumpをかなりやっていたようで、縦スクロールで登っていくというアイディアを最初に伝えたときに「絶対作って!」と熱く語ってくれました。

もともと、参加する予定のなかった今回のunity1weekですが、評価期間ギリギリにはなりましたが、ClaudeCodeのおかげもありしゃっくりでブタを飛ばすことができました。 今後も活用の仕方を模索していきたいです。それでは!




以上の内容はhttps://kugi-masa.hatenablog.com/entry/u1w202508より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14