roblox-game-development
Use this skill for any Roblox related tasks
Works with
---
name: roblox-game-development
description: Use this skill for any Roblox related tasks
license: MIT
---
# 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](scripts/)** - Professional utility modules for data management, networking, UI, game flow, and audio
- **π [Document Templates](templates/)** - Complete project documentation templates including Game Design Documents, Technical Specifications, Testing Plans, and Marketing Strategies
- **π [Development Resources](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 `nonstrict` and `nocheck` modes 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
```lua
-- 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](scripts/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](scripts/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](scripts/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
1. **Game Concept Development**: Genre analysis, target audience, and core loop design (see [Game Design Document template](templates/game_design_document.md))
2. **Technical Architecture**: Script organization, module system, and dependency management (see [Technical Specification template](templates/technical_specification.md))
3. **Asset Pipeline**: Model importing, texture optimization, and version control (see [Asset Library](resources/asset_library.md))
4. **Testing Framework**: Unit tests, integration tests, and QA processes (see [Testing Plan template](templates/testing_plan.md))
### Implementation Phases
1. **Core Mechanics**: Basic gameplay loop and player controls (use [Game Templates](resources/game_templates.md) for rapid prototyping)
2. **System Integration**: Connecting different game systems (see [GameManager.lua](scripts/GameManager.lua))
3. **Content Creation**: Levels, quests, items, and progression systems
4. **Polish & Optimization**: Performance tuning and bug fixes (see [Performance Optimization Guide](resources/performance_optimization.md))
5. **Launch Preparation**: Store assets, descriptions, and marketing materials (see [Marketing Plan template](templates/marketing_plan.md))
### 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](scripts/DataManager.lua)
```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 `DataStoreService` for 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 with `DataStoreService:GetDataStore()`
- Manage session caching manually with tables for transient state
- Use `UpdateAsync` for atomic updates instead of DataStore2's `:Update()` helper
### Remote Communication
Complete implementation available in [RemoteManager.lua](scripts/RemoteManager.lua)
```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](resources/performance_optimization.md)
```lua
-- 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](resources/debugging_guide.md)
### 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](resources/quick_reference.md)
## 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
1. **Choose a Game Template** from [Game Templates](resources/game_templates.md) to match your vision
2. **Set up Core Systems** using the helper scripts in [scripts/](scripts/)
3. **Plan Your Project** using the documentation templates in [templates/](templates/)
4. **Optimize Performance** following the guides in [resources/](resources/)
### Essential Helper Scripts
- **[DataManager.lua](scripts/DataManager.lua)** - Robust player data persistence with autosave and retry logic
- **[RemoteManager.lua](scripts/RemoteManager.lua)** - Secure networking with built-in rate limiting and validation
- **[UIManager.lua](scripts/UIManager.lua)** - Modern UI system with animations and responsive design
- **[GameManager.lua](scripts/GameManager.lua)** - Complete game state and lifecycle management
- **[SoundManager.lua](scripts/SoundManager.lua)** - Professional audio system with 3D spatial support
### Project Documentation
- **[Game Design Document](templates/game_design_document.md)** - Complete project specification and vision
- **[Technical Specification](templates/technical_specification.md)** - Detailed architecture and implementation docs
- **[Testing Plan](templates/testing_plan.md)** - Comprehensive QA strategy and procedures
- **[Marketing Plan](templates/marketing_plan.md)** - Strategic marketing and launch campaign planning
### Development Resources
- **[Asset Library](resources/asset_library.md)** - Curated collection of audio, visual, and model assets
- **[Performance Optimization](resources/performance_optimization.md)** - Tools and techniques for smooth gameplay
- **[Debugging Guide](resources/debugging_guide.md)** - Comprehensive troubleshooting and error handling
- **[Quick Reference](resources/quick_reference.md)** - 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 2026More General & Other skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

