mcpField
R
roblox-game-development

roblox-game-development

github.com/greedychipmunk开发242.2k 次安装1 周前更新
代码仓库

关于 roblox-game-development

面向 Roblox 开发者的游戏开发技能,涵盖 Luau、玩法系统、界面与多人项目。它将辅助脚本、文档模板和开发指南结合起来,覆盖项目规划到性能优化。

主要功能

  1. 01Luau 脚本与模块化架构
  2. 02玩家数据与库存系统
  3. 03多人网络通信与验证
  4. 04响应式界面与移动端控制
  5. 05规划模板与开发指南

适用场景

  1. 01构建安全的多人玩法机制
  2. 02添加数据持久化与库存功能
  3. 03设计适配移动端的游戏界面
  4. 04规划并测试 Roblox 项目

安装

复制下面的命令,在终端中运行。

$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 游戏开发技能

描述

精通 Roblox 游戏开发,擅长 Luau 脚本编写、游戏机制、UI/UX 设计和变现策略。可协助完成从简单脚本到复杂多人游戏体验的开发。

资源库

此技能包含一套全面的生产就绪资源:

  • 📜 辅助脚本 - 用于数据管理、网络通信、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()
    • 使用表手动管理会话缓存,以保存临时状态
    • 使用 UpdateAsync 进行原子更新,而不是使用 DataStore2 的 :Update() 辅助方法
远程通信

完整实现请参见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

专项领域

移动游戏开发
  • 触控操作和手势识别
  • 电池优化和内存管理
  • 跨平台兼容性测试
教育游戏
  • 融入学习目标
  • 进度跟踪与评估
  • 符合年龄的内容与安全保障
竞技游戏
  • 排位系统和匹配机制
  • 观战模式和回放系统
  • 锦标赛组织工具
创意/建造游戏
  • 高级建造工具和限制条件
  • 用户创作内容的保存/加载系统
  • 协作建造功能

故障排除与调试

完整的调试资源请参见调试指南

常见问题
  • 内存泄漏:连接清理和正确的垃圾回收
  • 性能瓶颈:性能分析工具和优化策略
  • 网络问题:延迟处理和连接管理
  • 跨平台 Bug:特定设备测试和兼容性
开发工具
  • Roblox Studio 调试器:断点和变量检查
  • 性能分析器:CPU 和内存使用情况分析
  • 网络监视器:远程事件跟踪和带宽使用情况
  • 数据存储管理器:直接在 Studio 中查看、编辑和删除 DataStore 条目,以便调试和测试(Studio → View → Data Stores Manager)
  • 错误日志记录:用于生产环境调试的自定义日志系统
快速参考

快速参考中提供了常用命令和代码片段

保持更新

  • 关注 Roblox Developer Hub,了解平台更新
  • 参与开发者论坛和社区讨论
  • 在 Beta 版本中尝试新功能
  • 研究成功游戏的设计模式和趋势

开始使用

快速设置
  1. 从游戏模板中选择游戏模板,使其符合你的构想
  2. 使用 scripts/ 中的辅助脚本设置核心系统
  3. 使用 templates/ 中的文档模板规划项目
  4. 按照 resources/ 中的指南优化性能
必备辅助脚本
项目文档
开发资源

此技能支持从构想到发布的全面 Roblox 游戏开发,重点关注最佳实践、安全性和玩家参与度。所有资源均可用于生产环境,可立即集成到你的项目中。

版本:2.0 最后更新:2026 年 5 月

评论

支持 Markdown