mcpField
R
roblox-game-development

roblox-game-development

github.com/greedychipmunk開発242.2k 回インストール1 週間前に更新
リポジトリ

roblox-game-development について

Luau、ゲームシステム、UI、マルチプレイヤー開発を扱う、Roblox 開発者向けのスキルです。補助スクリプトや文書テンプレート、企画から最適化までのガイドをまとめています。

主な機能

  1. 01Luau スクリプトとモジュール設計
  2. 02プレイヤーデータとインベントリシステム
  3. 03マルチプレイヤー通信と検証
  4. 04レスポンシブ UI とモバイル操作
  5. 05企画テンプレートと開発ガイド

活用シーン

  1. 01安全なマルチプレイヤー機能の構築
  2. 02データ永続化とインベントリの追加
  3. 03モバイル向けゲーム UI の設計
  4. 04Roblox プロジェクトの計画とテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/greedychipmunk/agent-skills --skill roblox-game-development

インストール後、Claude Code で/roblox-game-developmentを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

resources/
asset_library.md
debugging_guide.md
game_templates.md
performance_optimization.md
quick_reference.md
README.md
scripts/
DataManager.lua
GameManager.lua
README.md
RemoteManager.lua
SoundManager.lua
UIManager.lua
templates/
game_design_document.md
marketing_plan.md
project_README.md
README.md
technical_specification.md
testing_plan.md

詳細

Robloxゲーム開発スキル

説明

Luauスクリプト、ゲームメカニクス、UI/UXデザイン、収益化戦略を専門とするRobloxゲーム開発のエキスパートです。シンプルなスクリプトから複雑なマルチプレイヤー体験まで、あらゆる開発を支援します。

リソースライブラリ

このスキルには、本番環境ですぐに使えるリソースが豊富に含まれています。

  • 📜 ヘルパースクリプト - データ管理、ネットワーキング、UI、ゲームフロー、オーディオ向けのプロフェッショナルなユーティリティモジュール
  • 📋 ドキュメントテンプレート - ゲームデザインドキュメント、技術仕様書、テスト計画、マーケティング戦略など、プロジェクトドキュメント一式のテンプレート
  • 📚 開発リソース - ゲームテンプレート、アセットライブラリ、デバッグガイド、パフォーマンス最適化ツール、クイックリファレンス資料

主な機能

Luauプログラミング
  • 最新のLuau機能:型注釈、ジェネリクス、新しい型ソルバー(正式リリース版)、改善された型推論とオートコンプリート、パフォーマンス最適化を活用します
  • スクリプトアーキテクチャ:適切に関心を分離した、クリーンでモジュール化されたコードを実装します
  • パフォーマンス最適化:大規模なプレイヤー数にも対応できる効率的なスクリプトを作成します
  • エラー処理:堅牢なエラー管理とデバッグ手法を活用します
Luau型システムの更新
  • 新しい型ソルバー:正式リリース版であり(Studio Betaではなくなりました)、2026年1月7日からnonstrictモードとnocheckモードでデフォルトで有効になります
  • 主な改善点:型推論の改善、誤検出の減少、ジェネリクスのサポート強化、オートコンプリートの改善
  • 従来のソルバーの提供期間:従来のソルバーは2026年中も引き続き利用できますが、削除が予定されています
  • 移行ガイダンス:ほとんどのコードは変更なしで動作しますが、まれなケースでは明示的な型注釈の追加やコードの整理が必要になる場合があります
  • ベストプラクティス:公開APIでは明示的な型注釈を優先し、適切な場面でジェネリクスを使用して、改善されたオートコンプリートを活用し、素早く反復開発を進めます
-- New Type Solver infers types more accurately
local function processPlayer(player: Player)
    local name: string = player.Name  -- inferred correctly
    local team = player.Team  -- Team? properly inferred
end
ゲームシステム開発
  • プレイヤーデータ管理:バックアップシステムを備えたDataStoreの実装(DataManager.luaを参照)
  • インベントリシステム:アイテム管理、取引、装備システム
  • 経済設計:通貨システム、ショップ、バランスの取れた進行
  • 戦闘メカニクス:ダメージシステム、武器、アビリティ、PvP/PvEゲームプレイ
  • ソーシャル機能:フレンド、ギルド、チャットシステム、プレイヤー間の交流
Roblox Studioの専門知識
  • ワークスペースの整理:適切なモデル階層とアセット管理
  • 地形の作成:高度な地形ツールと環境デザイン
  • ライティングと雰囲気:リアルなライティング設定と雰囲気の演出
  • アニメーション:リグの作成、キーフレームアニメーション、スクリプトアニメーション
  • 物理シミュレーション:カスタム物理演算、拘束、インタラクティブオブジェクト
ユーザーインターフェースデザイン
  • 最新のUIフレームワーク:クリーンでレスポンシブなインターフェースデザイン(UIManager.luaを参照)
  • モバイル最適化:タッチ操作に適したコントロールと画面に合わせたレイアウト
  • アクセシビリティ:色覚多様性に配慮した配色と読みやすいフォント
  • UXパターン:直感的なナビゲーションとユーザーフローの最適化
マルチプレイヤーとネットワーキング
  • クライアント・サーバーアーキテクチャ:リモートイベント/関数を適切に使用します(RemoteManager.luaを参照)
  • 不正利用対策:サーバー側の検証とセキュリティのベストプラクティス
  • 同期:リアルタイムのマルチプレイヤーメカニクスと状態管理
  • スケーリングソリューション:大規模なプレイヤー数に対応するパフォーマンス最適化
収益化と分析
  • 開発者向け製品:Robux購入と仮想通貨
  • ゲームパス:プレミアム機能とサブスクリプションモデル
  • 分析機能の統合:プレイヤー行動の追跡と継続率の測定
  • A/Bテスト:機能のテストとコンバージョンの最適化

開発ワークフロー

プロジェクトのセットアップ
  1. ゲームコンセプトの開発:ジャンル分析、ターゲットオーディエンス、コアループの設計(ゲームデザインドキュメントのテンプレートを参照)
  2. 技術アーキテクチャ:スクリプトの構成、モジュールシステム、依存関係の管理(技術仕様のテンプレートを参照)
  3. アセットパイプライン:モデルのインポート、テクスチャの最適化、バージョン管理(アセットライブラリを参照)
  4. テストフレームワーク:単体テスト、統合テスト、QA プロセス(テスト計画のテンプレートを参照)
実装フェーズ
  1. コアメカニクス:基本的なゲームプレイループとプレイヤー操作(迅速なプロトタイピングにはゲームテンプレートを使用)
  2. システム統合:さまざまなゲームシステムの接続(GameManager.luaを参照)
  3. コンテンツ制作:レベル、クエスト、アイテム、進行システム
  4. 仕上げと最適化:パフォーマンスの調整とバグ修正(パフォーマンス最適化ガイドを参照)
  5. ローンチ準備:ストア用アセット、説明文、マーケティング資料(マーケティング計画のテンプレートを参照)
ベストプラクティス
  • コードの整理:再利用可能なコンポーネントには ModuleScripts を使用します
  • セキュリティを最優先:必ずサーバー側で検証します
  • パフォーマンスの監視:定期的にプロファイリングと最適化を行います
  • プレイヤーのフィードバック:プレイヤーデータに基づいて反復的に開発します
  • バージョン管理:適切なバックアップと共同作業のワークフローを整えます

よくあるパターンと解決策

DataStore へのアクセスと保存データの更新
  • 体験ごとのクォータ:各体験には独自の DataStore 読み取り/書き込みクォータが割り当てられ、Roblox は 2026 年初頭からこれらの上限を適用しています
  • スロットリングの動作:上限を超えると重大なエラーが発生するのではなく、リクエストがスロットリングされるため、コードでは適切に再試行するか、フォールバックする必要があります
  • ベストプラクティス:操作をまとめて行い、ローカルにキャッシュし、変更のたびにすぐ書き込むのではなく、一時的な状態はセッションデータテーブルに保持します
  • Studio ツール:Roblox Studio の Data Stores Manager を使用すると、公開せずにエントリを直接表示、編集、削除できます(Studio → View → Data Stores Manager)
データの永続化

完全な実装はDataManager.luaで確認できます

-- DataStore best practices with retry logic, caching, and rate limiting awareness
local DataStoreService = game:GetService("DataStoreService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local PlayerDataModule = {}
local dataStore = DataStoreService:GetDataStore("PlayerData_v1")
local sessionData = {}
local cachedData = {}

local function safeGetAsync(dataStore, key)
    local success, result = pcall(function()
        return dataStore:GetAsync(key)
    end)
    if not success then
        warn("DataStore request failed, using cached data")
        return cachedData[key]
    end
    return result
end

function PlayerDataModule:LoadData(player)
    local data = safeGetAsync(dataStore, player.UserId)
    
    if data then
        sessionData[player.UserId] = data
    else
        -- Default data structure
        sessionData[player.UserId] = {
            level = 1,
            coins = 100,
            inventory = {},
            settings = {}
        }
    end
    
    cachedData[player.UserId] = sessionData[player.UserId]
    return sessionData[player.UserId]
end
DataStore2 からの移行ガイダンス
  • 非推奨の状況:Berezaa/DataStore2 は非推奨です。新規および既存のプロジェクトでは、ネイティブの DataStoreService を使用してください
  • 移行する理由:体験ごとのクォータと組み込みの Data Stores Manager により、追加のキャッシュレイヤーが不要になります
  • 移行手順:
    • DataStore2() の呼び出しを DataStoreService:GetDataStore() に置き換えます
    • 一時的な状態をテーブルで管理し、セッションキャッシュを手動で行います
    • DataStore2 の :Update() ヘルパーの代わりに UpdateAsync を使用して、アトミックな更新を行います
リモート通信

完全な実装はRemoteManager.luaで確認できます

-- Secure remote event handling
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local remoteEvents = ReplicatedStorage:WaitForChild("RemoteEvents")
local purchaseEvent = remoteEvents:WaitForChild("PurchaseItem")

purchaseEvent.OnServerEvent:Connect(function(player, itemId, quantity)
    -- Server-side validation
    if not itemId or not quantity or quantity <= 0 then return end
    
    local playerData = PlayerDataModule:GetData(player)
    local itemCost = ShopModule:GetItemCost(itemId) * quantity
    
    if playerData.coins >= itemCost then
        playerData.coins -= itemCost
        InventoryModule:AddItem(player, itemId, quantity)
        -- Update client
        UpdateClientData(player)
    end
end)
パフォーマンス最適化

最適化ガイドの全容はパフォーマンス最適化で確認できます

-- Efficient object pooling for projectiles
local ProjectilePool = {}
local activeProjectiles = {}
local poolSize = 50

function ProjectilePool:GetProjectile()
    local projectile = table.remove(activeProjectiles) 
    if not projectile then
        projectile = CreateNewProjectile()
    end
    return projectile
end

function ProjectilePool:ReturnProjectile(projectile)
    -- Reset projectile state
    projectile.Parent = workspace.ProjectilePool
    projectile.CFrame = CFrame.new(0, -1000, 0)
    table.insert(activeProjectiles, projectile)
end

専門分野

モバイルゲーム開発
  • タッチ操作とジェスチャー認識
  • バッテリーの最適化とメモリ管理
  • クロスプラットフォームの互換性テスト
教育ゲーム
  • 学習目標の組み込み
  • 進捗の追跡と評価
  • 年齢に適したコンテンツと安全性
競技ゲーム
  • ランクシステムとマッチメイキング
  • 観戦モードとリプレイシステム
  • トーナメント運営ツール
クリエイティブ/建築ゲーム
  • 高度な建築ツールと制約
  • ユーザー制作コンテンツの保存/読み込みシステム
  • 共同で建築する機能

トラブルシューティングとデバッグ

包括的なデバッグリソースはデバッグガイドで確認できます

よくある問題
  • メモリリーク:接続のクリーンアップと適切なガベージコレクション
  • パフォーマンスのボトルネック:プロファイリングツールと最適化戦略
  • ネットワークの問題:レイテンシへの対処と接続管理
  • クロスプラットフォームのバグ:デバイス固有のテストと互換性
開発ツール
  • Roblox Studio デバッガー:ブレークポイントと変数の検査
  • パフォーマンスプロファイラー:CPU とメモリ使用量の分析
  • ネットワークモニター:リモートイベントの追跡と帯域幅の使用状況
  • データストアマネージャー:デバッグとテストのために、Studio で DataStore エントリを直接表示、編集、削除します(Studio → View → Data Stores Manager)
  • エラーロギング:本番環境のデバッグ用カスタムロギングシステム
クイックリファレンス

必須のコマンドとコードスニペットは、クイックリファレンスで確認できます。

最新情報をチェック

  • Roblox Developer Hub をフォローして、プラットフォームの更新情報を確認します
  • 開発者フォーラムやコミュニティでのディスカッションに参加します
  • ベータ版リリースの新機能を試します
  • 成功しているゲームを調査して、デザインパターンやトレンドを学びます

はじめに

クイックセットアップ
  1. ビジョンに合うゲームテンプレートから、ゲームテンプレートを選択します
  2. scripts/内のヘルパースクリプトを使用して、コアシステムをセットアップします
  3. templates/内のドキュメントテンプレートを使用して、プロジェクトを計画します
  4. resources/のガイドに従って、パフォーマンスを最適化します
必須のヘルパースクリプト
  • DataManager.lua - 自動保存と再試行ロジックを備えた、堅牢なプレイヤーデータ永続化機能
  • RemoteManager.lua - レート制限と検証機能を内蔵した、安全なネットワーク機能
  • UIManager.lua - アニメーションとレスポンシブデザインを備えた、最新の UI システム
  • GameManager.lua - ゲームの状態とライフサイクルを包括的に管理
  • SoundManager.lua - 3D 空間オーディオに対応した、プロ仕様のオーディオシステム
プロジェクトドキュメント
開発リソース

このスキルを活用すれば、コンセプトからローンチまで、ベストプラクティス、セキュリティ、プレイヤーエンゲージメントに重点を置いた包括的な Roblox ゲーム開発が可能になります。すべてのリソースは本番環境ですぐに使用でき、プロジェクトにただちに組み込めます。

バージョン:2.0 最終更新日:2026年5月

コメント