Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
npx skills add greedychipmunk/agent-skills --skill "roblox-game-development"
Install specific skill from multi-skill repository
# Description
Use this skill for any Roblox related tasks
# SKILL.md
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, 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
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
Data Persistence
Complete implementation available in DataManager.lua
-- DataStore best practices with retry logic and caching
local DataStoreService = game:GetService("DataStoreService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PlayerDataModule = {}
local dataStore = DataStoreService:GetDataStore("PlayerData_v1")
local sessionData = {}
function PlayerDataModule:LoadData(player)
local success, data = pcall(function()
return dataStore:GetAsync(player.UserId)
end)
if success and data then
sessionData[player.UserId] = data
else
-- Default data structure
sessionData[player.UserId] = {
level = 1,
coins = 100,
inventory = {},
settings = {}
}
end
return sessionData[player.UserId]
end
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
- 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.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.