roblox-game-development

Use this skill for any Roblox related tasks

greedychipmunk/agent-skills1.7k installsMITSynced Aug 31

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
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 2026

More General & Other skills

← All General & Other skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free Β· No signup Β· No trial clock

SEE THE DIRECTORY