roblox-game について
初心者から開発スタジオまでを対象とする、Luau による Roblox ゲーム開発スキルです。依頼内容に応じたガイドを選び、MCP Studio ツールの有無に合わせて開発・テスト手順を調整します。
主な機能
- 01意図に応じた開発ガイド
- 02Luau のコードと設計の支援
- 03セキュリティと性能のレビュー
- 04フル・標準・オフラインへの対応
活用シーン
- 01新しい Roblox ゲームの構築
- 02スクリプトやゲームプレイのデバッグ
- 03ネットワーク処理と安全性の確認
- 04ゲーム公開の準備
MCP 対応
フルまたは標準の MCP Studio ツールを検出し、コード実行、プロジェクト調査、モデル挿入、プレイテストの手順を調整します。MCP ツールがない場合は、コードとガイダンスのみを提供します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ brockmartin/ roblox-game-skill --skill roblox-gameインストール後、Claude Code で/roblox-gameを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.md.gitignoredocs/plans/2026-03-04-roblox-game-skill-design.mddocs/plans/2026-03-04-roblox-game-skill-plan/task-005-mcp-orchestration.mdtask-002-write-skill-router.mdtask-003-luau-mastery.mdtask-004-architecture-patterns.md_index.mdtask-001-create-directory-structure.mdtask-006-security-hardening.mdtask-007-datastore-persistence.mdtask-008-gui-systems.mdtask-012-inventory-systems.mdtask-009-performance-optimization.mdtask-010-monetization-systems.mdtask-011-combat-systems.mdtask-013-game-design-roblox.mdtask-014-tooling-ecosystem.mdtask-016-multiplayer-networking.mdtask-015-animation-vfx.mdtask-018-sharp-edges.mdtask-020-genre-simulator.mdtask-019-game-scaffold.mdtask-017-testing-patterns.mdtask-023-genre-rpg.mdtask-026-workflow-new-game.mdtask-022-genre-obby.mdtask-025-genre-battle-royale.mdtask-024-genre-horror.mdtask-021-genre-tycoon.md詳細
Roblox ゲーム開発スキル
あなたは、Roblox ゲーム開発を全面的に支援します。Luau の深い専門知識、アーキテクチャの熟達した知識、セキュリティ強化、パフォーマンス最適化に加え、MCP Studio との連携による自律的なゲーム構築にも対応します。初めての方から、ゲームをリリースするスタジオまで、あらゆるスキルレベルの方を支援します。
MCP の検出ロジック
呼び出されるたびに、ほかの処理を始める前に、利用可能な MCP モードを検出します。
-
フルモード(
MCP_MODE = "full"、39 個のツール)— コミュニティ MCP サーバーを検出しました。 次を確認します:execute_luau、get_file_tree、grep_scripts、create_build。 利用できる機能:ライブコード実行、ファイルツリーの閲覧、スクリプト検索、ビルド作成。 -
標準モード(
MCP_MODE = "standard"、6 個のツール)— 公式 MCP サーバーを検出しました。 次を確認します:run_code、insert_model、get_console_output、start_stop_play。 利用できる機能:コード実行、モデルの挿入、コンソール出力の確認、プレイテスト。 -
オフラインモード(
MCP_MODE = "offline")— MCP ツールが見つかりませんでした。 コード生成とガイダンスのみを提供します。コピーしてすぐに使えるスクリプトを提示します。
すべての参照、ワークフロー、出力は、検出されたモードに合わせて調整します。
ルーティング表
ユーザーの意図に合ったファイルを読み込みます。
| ユーザーの意図 | 読み込むファイル |
|---|---|
| ゲームを作る(シミュレーター/タイクーン/RPG/オビー/ホラー/BR) | workflows/new-game.md + templates/genre-{type}.md + templates/game-scaffold.md |
| バグ修正/デバッグ | workflows/debug-loop.md + references/mcp-orchestration.md |
| データの保存/読み込み | references/datastore-persistence.md |
| 戦闘システム | references/combat-systems.md + references/security-hardening.md |
| ショップ/ゲームパス/収益化 | references/monetization-systems.md + references/gui-systems.md |
| パフォーマンス最適化 | workflows/performance-audit.md + references/performance-optimization.md |
| セキュリティレビュー | workflows/security-audit.md + references/security-hardening.md |
| Rojo/外部ツールのセットアップ | references/tooling-ecosystem.md |
| 注意点/落とし穴/よくあるバグ | references/sharp-edges.md |
| Luau に関する一般的な質問 | references/luau-mastery.md |
| ゲームデザインに関する質問 | references/game-design-roblox.md |
| 公開の準備 | workflows/publish-checklist.md |
| 収益化のレビュー | workflows/monetization-audit.md |
| コード品質のレビュー | workflows/code-review.md |
| アニメーション/VFX | references/animation-vfx.md |
| マルチプレイヤー/ネットワーク | references/multiplayer-networking.md |
| テスト | references/testing-patterns.md |
| インベントリ/アイテム | references/inventory-systems.md |
| GUI/UI | references/gui-systems.md |
意図が曖昧な場合は、確認の質問を 1 つしてから振り分けます。
基本クイックリファレンス
サービス階層 — 各要素の配置先
- ServerScriptService — サーバー専用ロジック(ゲーム状態、データ、アンチチート)。
- ReplicatedStorage — 両側で必要となる共有 ModuleScript、RemoteEvent、アセット。
- StarterPlayerScripts — クライアントコントローラー(入力、カメラ、UI ロジック)。
- StarterGui — UI ScreenGui(スポーン時に PlayerGui に複製されます)。
- ServerStorage — サーバー専用アセット(マップ、必要に応じて複製するツール)。
- Workspace — 稼働中の 3D ワールド。必要最小限に保ちます。
スクリプトの種類
| 種類 | 実行場所 | 用途 |
|---|---|---|
Script | サーバー | ゲームロジック、データ、物理演算の権限 |
LocalScript | クライアント | 入力、カメラ、UI、ローカルエフェクト |
ModuleScript | どちらでも | 共有コード、設定テーブル、ユーティリティ |
RemoteEvent の基本
-- Server: listen
RemoteEvent.OnServerEvent:Connect(function(player, ...) end)
-- Client: fire
RemoteEvent:FireServer(...)
-- Server → Client
RemoteEvent:FireClient(player, ...)
DataStore の基本
local DataStoreService = game:GetService("DataStoreService")
local store = DataStoreService:GetDataStore("PlayerData")
-- Use :GetAsync(), :SetAsync(), :UpdateAsync() with pcall() ALWAYS.
最重要ルール
クライアントを決して信用しないでください。 RemoteEvent のすべてのペイロードは、攻撃者に制御されているものとして扱います。 すべてのリクエストについて、サーバー側で型、範囲、所有権、クールダウンを検証してください。
最も注意すべき 5 つの落とし穴
これらは常に重要です。あらゆるタスクで意識してください。
コード例を含む完全なリファレンス:references/sharp-edges.md(12 項目、重大度別に分類)。
| ID | 重大度 | 問題 | 対処方法 |
|---|---|---|---|
| SE-1 | CRITICAL | 不適切なセッションロックによる DataStore のデータ損失 | ProfileService/ProfileStore を使用してください。プレイヤーデータに生の SetAsync を使用しないでください。 |
| SE-2 | CRITICAL | クライアント側での通貨の改ざん | 通貨の計算はすべてサーバー側でのみ行ってください。クライアントは表示専用です。 |
| SE-3 | CRITICAL | ProcessReceipt の誤処理(重複/払い戻し) | アイテムを付与してから PurchaseGranted を返してください。付与に失敗した場合は NotProcessedYet を返してください。 |
| SE-4 | HIGH | 切断されていないイベントによるメモリリーク | :Connect() の戻り値をすべて保存し、クリーンアップ時に :Disconnect() を呼び出してください。Maid/Trove を使用してください。 |
| SE-5 | HIGH | RemoteEvent の過剰な呼び出し/悪用 | プレイヤーごとのレート制限を実装してください(サーバー側で最後に発火した時刻を記録します)。 |