roblox-game-development
greedychipmunk/agent-skills
Expert Luau scripting and game systems for Roblox development
What is roblox-game-development?
Comprehensive Roblox game development skill covering Luau programming, game mechanics, UI/UX design, and monetization. Includes production-ready scripts, templates, and resources for building multiplayer experiences from concept to launch.
- Luau scripting with modern type system, generics, and performance optimization
- Player data management, inventory systems, economy design, and combat mechanics
- Client-server architecture, anti-exploit measures, and multiplayer synchronization
- UI/UX design with mobile optimization and accessibility features
- DataStore implementation with caching, retry logic, and quota awareness
- Game templates, design documents, testing plans, and marketing strategy templates
How to install roblox-game-development
npx skills add https://github.com/greedychipmunk/agent-skills --skill roblox-game-development- Roblox Studio installed
- Basic understanding of Lua or Luau
- Access to Roblox game development environment
How to use roblox-game-development
- 1.Review the Game Design Document template to plan your game concept and core mechanics
- 2.Set up your project structure using the Technical Specification template and ModuleScript organization patterns
- 3.Implement player data management using the provided DataManager.lua with DataStore best practices
- 4.Build game systems (inventory, economy, combat) using the helper scripts and patterns provided
- 5.Design your UI using UIManager.lua and modern responsive design principles
- 6.Implement multiplayer networking with RemoteManager.lua and server-side validation
- 7.Test using the Testing Plan template and performance optimization guide
- 8.Prepare for launch using asset library, marketing plan template, and monetization strategies
Use cases
- Building multiplayer RPGs with player progression and economy systems
- Implementing real-time combat and PvP mechanics with server-side validation
- Creating data persistence systems with DataStore best practices and quota management
- Designing responsive UI for both desktop and mobile Roblox players
- Structuring large projects with modular code and proper client-server separation
- Roblox game developers
- Luau programmers
- Game designers building multiplayer experiences
- Developers migrating from deprecated DataStore2 to native DataStoreService
- Teams building production-grade Roblox games
roblox-game-development FAQ
Yes. DataStore2 is deprecated. Native DataStoreService now includes per-experience quotas and a built-in Data Stores Manager in Studio, reducing the need for an extra caching layer. Most code works without changes, but review quota limits and implement graceful retry/fallback logic.
The New Type Solver is now the default for nonstrict and nocheck modes (general release as of January 7, 2026). It provides better type inference, fewer false positives, and improved autocomplete. Most existing code works unchanged; only edge cases may need explicit type annotations or cleanup.
Batch operations, cache data locally in session tables, keep transient state out of DataStores, and implement graceful retry logic. Exceeding limits throttles requests instead of throwing errors, so code should handle retries or fall back to cached data.
Always validate on the server-side, use RemoteManager.lua patterns for proper client-server communication, sanitize player input, and never trust client-side data for critical game logic like currency or inventory.
Use the Performance Optimization Guide, implement efficient Luau scripts, batch DataStore operations, cache frequently-accessed data, profile regularly with Studio tools, and follow the modular code organization patterns provided.
Full instructions (SKILL.md)
Source of truth, from greedychipmunk/agent-skills.
name: roblox-game-development description: Use this skill for any Roblox related tasks
Roblox Game Development Skill
Description
Expert Roblox game developer specializing in Luau scripting, game mechanics, UI/UX design, and monetization strategies. Assists with everything from simple scripts to complex multiplayer experiences.
Resource Library
This skill includes a comprehensive collection of production-ready resources:
- 📜 Helper Scripts - Professional utility modules for data management, networking, UI, game flow, and audio
- 📋 Document Templates - Complete project documentation templates including Game Design Documents, Technical Specifications, Testing Plans, and Marketing Strategies
- 📚 Development Resources - Game templates, asset libraries, debugging guides, performance optimization tools, and quick reference materials
Core Capabilities
Luau Programming
- Modern Luau Features: Utilize type annotations, generics, the New Type Solver (general release), improved type inference/autocomplete, and performance optimizations
- Script Architecture: Implement clean, modular code with proper separation of concerns
- Performance Optimization: Write efficient scripts that handle large player counts
- Error Handling: Robust error management and debugging techniques
Luau Type System Updates
- New Type Solver: General release (no longer a Studio Beta); enabled by default for
nonstrictandnocheckmodes starting January 7, 2026 - Key Improvements: Better type inference, fewer false positives, stronger generics support, and improved autocomplete
- Legacy Solver Timeline: The legacy solver remains available through 2026, but it is slated for removal
- Migration Guidance: Most code works without changes, but a few edge cases may need explicit type annotations or cleanup
- Best Practices: Prefer explicit annotations on public APIs, use generics where appropriate, and lean on improved autocomplete for faster iteration
-- 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
Game Systems Development
- Player Data Management: DataStore implementation with backup systems (see DataManager.lua)
- Inventory Systems: Item management, trading, and equipment systems
- Economy Design: Currency systems, shops, and balanced progression
- Combat Mechanics: Damage systems, weapons, abilities, and PvP/PvE gameplay
- Social Features: Friends, guilds, chat systems, and player interactions
Roblox Studio Expertise
- Workspace Organization: Proper model hierarchy and asset management
- Terrain Sculpting: Advanced terrain tools and environmental design
- Lighting & Atmosphere: Realistic lighting setups and mood creation
- Animation: Rig creation, keyframe animation, and scripted animations
- Physics Simulation: Custom physics, constraints, and interactive objects
User Interface Design
- Modern UI Frameworks: Clean, responsive interface design (see UIManager.lua)
- Mobile Optimization: Touch-friendly controls and adaptive layouts
- Accessibility: Colorblind-friendly palettes and readable fonts
- UX Patterns: Intuitive navigation and user flow optimization
Multiplayer & Networking
- Client-Server Architecture: Proper remote event/function usage (see RemoteManager.lua)
- Anti-Exploit Measures: Server-side validation and security best practices
- Synchronization: Real-time multiplayer mechanics and state management
- Scaling Solutions: Performance optimization for high player counts
Monetization & Analytics
- Developer Products: Robux purchases and virtual currency
- Game Passes: Premium features and subscription models
- Analytics Integration: Player behavior tracking and retention metrics
- A/B Testing: Feature testing and conversion optimization
Development Workflow
Project Setup
- Game Concept Development: Genre analysis, target audience, and core loop design (see Game Design Document template)
- Technical Architecture: Script organization, module system, and dependency management (see Technical Specification template)
- Asset Pipeline: Model importing, texture optimization, and version control (see Asset Library)
- Testing Framework: Unit tests, integration tests, and QA processes (see Testing Plan template)
Implementation Phases
- Core Mechanics: Basic gameplay loop and player controls (use Game Templates for rapid prototyping)
- System Integration: Connecting different game systems (see GameManager.lua)
- Content Creation: Levels, quests, items, and progression systems
- Polish & Optimization: Performance tuning and bug fixes (see Performance Optimization Guide)
- Launch Preparation: Store assets, descriptions, and marketing materials (see Marketing Plan template)
Best Practices
- Code Organization: Use ModuleScripts for reusable components
- Security First: Always validate on server-side
- Performance Monitoring: Regular profiling and optimization
- Player Feedback: Iterative development based on player data
- Version Control: Proper backup and collaboration workflows
Common Patterns & Solutions
DataStore Access and Storage Updates
- Per-Experience Quotas: Each experience gets its own DataStore read/write quota, and Roblox is enforcing these limits starting in early 2026
- Throttle Behavior: Exceeding limits throttles requests instead of throwing hard errors, so code should gracefully retry or fall back
- Best Practices: Batch operations, cache locally, and keep transient state in session data tables instead of writing every change immediately
- Studio Tooling: Use Data Stores Manager in Roblox Studio to view, edit, and delete entries directly without publishing (
Studio → View → Data Stores Manager)
Data Persistence
Complete implementation available in 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 Migration Guidance
- Deprecation Status: Berezaa/DataStore2 is deprecated; prefer native
DataStoreServicefor new and existing projects - Why Migrate: Per-experience quotas and the built-in Data Stores Manager reduce the need for an extra caching layer
- Migration Steps:
- Replace
DataStore2()calls withDataStoreService:GetDataStore() - Manage session caching manually with tables for transient state
- Use
UpdateAsyncfor atomic updates instead of DataStore2's:Update()helper
- Replace
Remote Communication
Complete implementation available in 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)
Performance Optimization
Complete optimization guide available in Performance Optimization
-- 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
Specialized Areas
Mobile Game Development
- Touch controls and gesture recognition
- Battery optimization and memory management
- Cross-platform compatibility testing
Educational Games
- Learning objective integration
- Progress tracking and assessment
- Age-appropriate content and safety
Competitive Gaming
- Ranked systems and matchmaking
- Spectator modes and replay systems
- Tournament organization tools
Creative/Building Games
- Advanced building tools and constraints
- Save/load systems for user creations
- Collaborative building features
Troubleshooting & Debugging
Comprehensive debugging resources available in Debugging Guide
Common Issues
- Memory Leaks: Connection cleanup and proper garbage collection
- Performance Bottlenecks: Profiling tools and optimization strategies
- Networking Problems: Latency handling and connection management
- Cross-Platform Bugs: Device-specific testing and compatibility
Development Tools
- Roblox Studio Debugger: Breakpoints and variable inspection
- Performance Profiler: CPU and memory usage analysis
- Network Monitor: Remote event tracking and bandwidth usage
- Data Stores Manager: View, edit, and delete DataStore entries directly in Studio for debugging and testing (
Studio → View → Data Stores Manager) - Error Logging: Custom logging systems for production debugging
Quick Reference
Essential commands and snippets available in Quick Reference
Stay Updated
- Follow Roblox Developer Hub for platform updates
- Participate in developer forums and community discussions
- Experiment with new features in beta releases
- Study successful games for design patterns and trends
Getting Started
Quick Setup
- Choose a Game Template from Game Templates to match your vision
- Set up Core Systems using the helper scripts in scripts/
- Plan Your Project using the documentation templates in templates/
- Optimize Performance following the guides in resources/
Essential Helper Scripts
- DataManager.lua - Robust player data persistence with autosave and retry logic
- RemoteManager.lua - Secure networking with built-in rate limiting and validation
- UIManager.lua - Modern UI system with animations and responsive design
- GameManager.lua - Complete game state and lifecycle management
- SoundManager.lua - Professional audio system with 3D spatial support
Project Documentation
- Game Design Document - Complete project specification and vision
- Technical Specification - Detailed architecture and implementation docs
- Testing Plan - Comprehensive QA strategy and procedures
- Marketing Plan - Strategic marketing and launch campaign planning
Development Resources
- Asset Library - Curated collection of audio, visual, and model assets
- Performance Optimization - Tools and techniques for smooth gameplay
- Debugging Guide - Comprehensive troubleshooting and error handling
- Quick Reference - Essential commands and code snippets
This skill enables comprehensive Roblox game development from concept to launch, with focus on best practices, security, and player engagement. All resources are production-ready and can be immediately integrated into your projects.
Version: 2.0 Last Updated: May 2026
Related skills
More from greedychipmunk/agent-skills and the wider catalog.

playwright-bot-bypass
This skill should be used when the user asks to "bypass bot detection", "avoid CAPTCHA", "stealth browser automation", "undetected playwright", "bypass Google bot check", "rebrowser-playwright", or needs to automate websites that detect and block bots.

gsap-core
Official GSAP core API for JavaScript animations — tweens, easing, stagger, and responsive animation.

gsap-frameworks
Official GSAP animations for Vue, Nuxt, Svelte, and SvelteKit with lifecycle management and cleanup.

gsap-performance
Optimize GSAP animations for 60fps—prefer transforms, batch operations, and avoid layout thrashing.

gsap-plugins
Official GSAP plugins for animations—scroll, drag, flip layouts, text effects, SVG, and easing.

gsap-react
Official GSAP hook and patterns for smooth animations in React and Next.js.