しばらくBlender記事が続きましたが、現在Blender熱はちょっと下がっていて、最近はRobloxのゲーム作りに挑戦しています。
Robloxは3Dモデルを使ったゲームプラットフォームなのでBlenderで覚えたことが無駄にならないしなんならBlenderで作ったモデルを持ち込めるのでよかったなーと思います。
Robloxは子どもが小学生の頃にちょっと遊んでいて、なんか素人でも自分でゲーム作って公開して遊んでもらえるという仕組みはなんとなく知っていました。めちゃくちゃな数のゲームが公開されていて、素人からプロまでいろんな人が作っているので玉石混交。ゲームのYouTubeと呼ばれています。
最初のうちは自力で(といっても専用のゲームツールがあるので素人でも簡単にそれなりのゲームを作れます)オリジナルゲーム作りに挑戦していましたが、スクリプトを組むには知識が足りなさ過ぎて頓挫してしまいました。
いろいろwebで調べているうちに、流行りのAIでバイブコーディングとかAIエージェントに開発丸投げとかそういった記事がちらほら見えるようになってきたので、試しにちょっとやってみるかとAIエージェントに手を出した次第。
しかし日本ではまだまだ一般に浸透していないRoblox、さらに開発情報となるとなかなか最新のものは見つかりません。あっても有料記事だったり。仕方ないのでそこらへんは自力で解決。
まずは無料のAntigravityでやってみました。ゲーム画面はRobloxStudioで自作、スクリプト部分をAIに頼むという形。でもAIが出したスクリプトに合わせてオブジェクト名やらプロパティやら自分で変える必要があり、なかなか面倒。そもそも自分でわからないスクリプト部分をAIに任せたので、コピペしてテストしたときエラーの内容が理解できません。それをまたAIに聞いて……と、AIと開発ツール(RobloxStudio)の間に自分が入って伝言ゲームしている感じ。
さらに調べていると、今度はAIエージェントとRobloxStudioを直接つないで開発を任せられるMCP(Model Context Protocol)という仕組みがあることを知りました。AIが開発ツールを自分で操作して作業を進めてくれるという未来感ある仕組み。まさにこれこそAIエージェント。
実はRobloxStudioにも最初からAIツールが入ってて、自然言語で相談して開発を進められるのですが、反応が遅くてなかなか話が進まない。なので外部ツールを使うことにしました。AntigravityもMCPでRobloxStudioと接続できるようですが、接続の設定がよくわからなかったのでClaudeCodeを使うことにしました。
これがなかなかよい。RobloxStudioに組み込まれたAIエージェントより反応が早く、どんどん作業を進めてくれる。私にはよくわからないけど自分で問題を洗い出して自分で納得してエラーを修正してくれる。こっちはClaudeの解答を見ながら「はぁ……はぁ……ほーぉ」などとあいまいな相槌をうちながら、開発に必要な操作権限を与えるだけで仕事してくれます。
ClaudeCodeデスクトップをインストールして、RobloxStudioの編集画面から組み込みAIを開き、設定でClaudeCodeのスイッチをONにしておけば、あとはClaudeCodeのチャットで接続できているか確認するだけ。簡単ですね。

いま作ってるのは「エアホッケーライド」というオリジナルゲーム。でっかいエアホッケーでパックは2個あり対戦形式で得点を競う、みたいなゲームです。

青(S)は赤(N)ゴールに、赤(N)は青(S)ゴールに、それぞれ自分のパックを入れたら得点になります。真ん中の星はずっと回ってて、パックをはじいたりしてゲームをかきまわす要素。まだまだ開発途中ですがいちおう公開状態なので16歳以上なら遊べます。
途中まで自力で作ったゲームなので、スクリプトとかプロパティとか手動で作られているのを、Claudeに解析してもらってより複雑な処理が楽にできるようになりました。

パックが思うように滑ってくれないので、もっと滑らかに動かしてくれとかいろいろ頼んでいます。もともとRobloxに入ってる物理エンジンとの兼ね合いもあって、スクリプト通りにいかないのを強引に補正したりしている模様。処理が重くならんのかなと心配しつつよくわからないのでClaudeにおまかせ。

ちょくちょくコメントの誤字を自分で発生させて自分で修正する。「あ、」とか言って人間かよ。このあと「本筋とは関係ないのであとで修正します」とか言い出します。可愛いやつめ。
そんなこんなで開発を進めていますが、無料プランだとすぐ制限にひっかかってしまうので、ちまちまのんびりやってます。
テストプレイしてみたい奇特な方は以下のリンクから遊べます。
www.roblox.com
内部的には得点計算とかしてますがまだ表示できません。床が滑るのでプレイヤーの動きが鈍いです。パックに乗ると予測不能な挙動があり、勢いよくどっかへ飛んで行ったりします。下手するとコートの外まで飛んでってなくなることも……いちおう透明な天井をつけてコート外に出るのを防いでるはずなんですが。
これから徐々にスコアボードつけたりパックの動きを修正したりして、ゲームの形を整えていく予定です。