Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/brockmartin/roblox-game-skill/llms.txt

Use this file to discover all available pages before exploring further.

Every game built with the Roblox Game Skill starts from a genre template. Templates are opinionated, end-to-end starting points — not blank slates. Each one ships with real, production-quality Luau modules wired together and ready to run, covering data persistence, remote validation, UI scaffolding, and all genre-specific systems. Instead of spending days on boilerplate, you spend it on what makes your game unique.

Universal Game Scaffold

Every genre template extends a common base called the game scaffold. It provides the structural foundation all other code depends on: a consistent folder hierarchy, a server lifecycle controller, a profile-based data persistence layer, and a centralized remote handler with rate limiting and validation built in. The scaffold defines these extension points that genre templates plug into:
Extension PointWhereWhat Genre Templates Add
Profile template fieldsDataManager PROFILE_TEMPLATEGenre-specific player data (pets, quest state, rebirths, etc.)
ConstantsConstants.luauRound times, spawn rates, upgrade costs
TypesTypes.luauGenre-specific type definitions
Item definitionsItemDefinitions.luauGenre-specific items, tools, pets, upgrades
Remote registrationsAfter RemoteHandler.init() in GameManagerGenre-specific remotes with validators
Game loop logicRunService.Heartbeat in GameManagerRound management, spawners, world simulation
Client input bindingsonInputBegan in ClientControllerGenre-specific keybinds and interactions
UI wiringinitializeUI in ClientControllerGenre-specific HUD elements and menus
Character setuponCharacterAdded in ClientControllerGenre-specific per-spawn logic

Folder Hierarchy

game/
├── ServerScriptService/
│   ├── GameManager.server.luau      -- Game lifecycle: init, load modules, create remotes, game loop
│   ├── DataManager.server.luau      -- Player data persistence (ProfileService pattern)
│   └── RemoteHandler.server.luau    -- Centralized remote validation, rate limiting, dispatch
├── ServerStorage/
│   ├── Modules/                     -- Server-only modules (not visible to clients)
│   │   └── ItemDefinitions.luau     -- Item/asset data tables, drop rates, pricing
│   └── Assets/                      -- Server-only models/assets (cloned on demand)
├── ReplicatedStorage/
│   ├── Shared/                      -- Shared modules (both server and client can require)
│   │   ├── Types.luau               -- Shared type definitions (PlayerData, ItemData, etc.)
│   │   └── Constants.luau           -- Shared constants (intervals, limits, enums)
│   ├── Remotes/                     -- RemoteEvents and RemoteFunctions (created at runtime)
│   └── Assets/                      -- Client-visible assets (effects, animations, UI prefabs)
├── StarterGui/
│   └── MainGui/                     -- Primary ScreenGui container for all UI
├── StarterPlayer/
│   └── StarterPlayerScripts/
│       └── ClientController.client.luau  -- Client initialization, input, UI wiring
└── Workspace/
    └── Map/                         -- Game world geometry and spawn locations

Placement Rules

ContentLocationWhy
Game logic, data, anti-cheatServerScriptServiceHidden from clients, server-authoritative
Secret configs, drop tables, pricingServerStorage/ModulesClients cannot read server storage
Cloneable models, maps, NPCsServerStorage/AssetsLoaded on demand, hidden until needed
Shared types, constants, utilitiesReplicatedStorage/SharedBoth sides need identical definitions
RemoteEvents/FunctionsReplicatedStorage/RemotesMust be accessible from both sides
Client-visible effects, animationsReplicatedStorage/AssetsClient needs to render these
UI layoutsStarterGuiCloned into PlayerGui on spawn
Client controllersStarterPlayerScriptsPersist across respawns
3D worldWorkspace/MapThe live game environment

Genre Templates

Simulator

Pet Simulator-style collection loop with egg hatching, rarity tiers, zone progression, upgrades, and prestige/rebirth.

Tycoon

Retail Tycoon-style income game with plot claiming, droppers and collectors, button pad purchases, and tiered expansion.

Obby

Tower of Hell-style obstacle course with checkpoint saving, five obstacle types, speedrun timers, and global leaderboards.

RPG

Blox Fruits-style adventure with character stats and leveling, quest system, NPC AI with dialog trees, and zone gating.

Horror

Doors-style atmospheric horror with atmosphere control, a 5-state monster FSM, event sequencer, and jumpscare system.

Battle Royale

Last-player-standing format with full match lifecycle, shrinking storm, loot spawning, and spectator mode.

At a Glance

GenreExample GameCore Systems Included
SimulatorPet Simulator 99Collection mechanics, pet hatching & rarity, zone progression, upgrade multipliers, prestige/rebirth
TycoonRetail Tycoon 2Plot claiming, dropper/collector pipeline, button pad purchasing, passive income, prestige
ObbyTower of HellCheckpoint persistence, 5 obstacle types, speedrun timer, stage completion, OrderedDataStore leaderboards
RPGBlox FruitsCharacter stats & leveling, quest pipeline, NPC AI state machine, dialog trees, level-gated zones
HorrorDoorsAtmosphere presets, 5-state monster AI FSM, proximity event sequencer, jumpscare system, flashlight controller
Battle RoyaleIsland RoyaleMatch lifecycle state machine, shrinking storm, weighted loot spawning, elimination tracker, spectator system
Templates are loaded automatically during the new-game workflow. When you describe your game to the skill, it selects the closest genre template, scaffolds the project in Roblox Studio via MCP, and begins customizing the systems to fit your description. You can also reference a template directly in any prompt: “Use the simulator template as a base and add a fishing mechanic.”See the New Game workflow for the full step-by-step process.

Build docs developers (and LLMs) love