level-design
Skill2 starsChanged 30 days agoMITView on GitHub
Engine-agnostic level-design practice, adapted for Roblox worlds. Covers player metrics, blockout before art, critical path and gating, the tension/rest pacing curve, teach-then-test, and guidance through light, landmarks and leading lines. Use when planning or reviewing a Roblox map, hub or zone layout; deciding zone order and progression gates; sizing paths, gaps, fences and jumps from Humanoid metrics; choosing StreamingEnabled or fast-travel; or when players get lost, stuck or bored in the world. For world generation it assumes a re-runnable builder script synced by Rojo, not hand-placed parts.
9 other projects use a version of this.
Adopted by
Most recently taken up by
- gamedev-skills/awesome-gamedev-agent-skillstheir own version, first seen Nov 11, 2026
- MRCalderon3D/everything-game-dev-codetheir own version, first seen Oct 13, 2026
- jammyfu/open-game-skillstheir own version, first seen Oct 11, 2026
- poorvith-mp/skills-gamedevtheir own version, first seen Aug 19, 2026
- ukanwat/aaabenchtheir own version, first seen Aug 15, 2026
- ukanwat/overtimetheir own version, first seen Aug 15, 2026
Used with
Projects with it also use game-ai, unreal-enhanced-input and 7 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ukanwatSkillgame-ai
Design NPC and enemy decision-making with finite state machines, behavior trees, steering behaviors, and A* pathfinding — engine-neutral algorithms that pair with the detected engine's navigation API. Use when building enemy AI, an FSM or behavior tree, steering/flocking, or pathfinding, or when the user mentions state machine, behavior tree, blackboard, A*, navmesh, seek, or patrol/chase.
Also in 5 projects that use this
MRCalderon3DSkillunreal-enhanced-input
Implement Unreal input with Enhanced Input — Input Actions, Mapping Contexts, triggers/modifiers, and runtime remapping.
Also in 5 projects that use this
ukanwatSkillcamera-systems
Build game cameras that feel good — 2D follow with a deadzone, look-ahead, smoothing, and level-bounds clamping; 3D third-person orbit with collision and first-person look; plus multi-target framing and a shake hook. Engine-neutral techniques that pair with the engine's camera node and rigs like Unity Cinemachine or Godot Camera2D/PhantomCamera. Use when the user mentions camera follow, follow camera, deadzone, look-ahead, camera smoothing, camera bounds/ limits, third-person camera, orbit camera, first-person look, Cinemachine, or camera jitter.
Also in 4 projects that use this
- +6 more from ukanwat
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 9
- gamedev-skills/awesome-gamedev-agent-skills★ 9ksame name
- ukanwat/aaabench★ 399same name
- ukanwat/overtime★ 399same name
- ukanwat/selfstarter★ 399same name
- MRCalderon3D/everything-game-dev-code★ 105same name
- jammyfu/open-game-skills★ 12same name
- poorvith-mp/skills-gamedev★ 4same name
- jarrodmedrano/jarrod-claude-skills★ 2same name
- mattstruble/skills★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository19 other files it gives its agents.
- template/CLAUDE.mdCLAUDE.md
- roblox-lessonsSkill
- audio-designSkill
- game-feelSkill
- game-ui-uxSkill
- roblox-creator-store-security-auditSkill
- roblox-dataSkill
- roblox-debugging-bugfixSkill
- roblox-devSkill
- roblox-monetizationSkill
- roblox-networkingSkill
- roblox-publish-checklistSkill
- roblox-release-operationsSkill
- roblox-security-economySkill
- roblox-securitySkill
- roblox-studio-mcpSkill
- roblox-to-issuesSkill
- roblox-toolingSkill
- save-systemsSkill
The file
Files
Level design
Where this conflicts with the roblox-lessons skill, roblox-lessons wins.
A level is a sequence of intentional experiences delivered through space. Design is a process: derive metrics, block out, play, then dress. Never dress first.
On Roblox
- Metrics come from the Humanoid.
- Defaults:
WalkSpeed16 studs/s,JumpHeight7.2 studs,Workspace.Gravity196.2 studs/s². - So a flat running jump clears about 8.5 studs, and a character is about 5 studs tall.
- Re-derive the numbers if upgrades raise walk speed. Measure them in play.
- Defaults:
- Blocking walls: anything under 7.2 studs can be jumped. A wall that must block gets an invisible collider above that height.
- Build the world from a builder script (a Rojo-synced ModuleScript run in Edit), never by hand-placing objects that code depends on. The blockout is the builder with plain Parts; dressing swaps in assets later. Keep a separate folder for user decoration that the builder never touches.
- Server-enforced gates: progression gates (a rebirth tier, a key, a pass) are checked on the server for every action in the zone. A client may make a gate non-solid locally, but that is cosmetic.
- StreamingEnabled:
- On: big worlds and lower memory, but far instances may not exist on the client. Use bounded
WaitForChild,ModelStreamingMode = Persistentfor anchors clients must always resolve, andRequestStreamAroundAsyncbefore teleports. - Off: simpler, but everything loads, so budget the part count for phones.
- On: big worlds and lower memory, but far instances may not exist on the client. Use bounded
- Fast travel:
Character:PivotTo(target.CFrame)to named target parts. Guidance can use aPathfindingServiceroute drawn as a trail, aBeamand aHighlight. - Terrain snaps to a 4-stud grid. Turn the terrain under paths to a grassless material so grass doesn't poke through.
Workflow
- Derive metrics (speed, jump, reach, camera) and size every gap, ledge, path and fence in them.
- Block out the whole level with primitives at the correct scale, and validate flow, sightlines and reachability while changes are cheap.
- Define the critical path (start to goal) and the golden path most players take. Hang optional branches off it.
- Pace it as a rising sawtooth of tension and rest, with a breather before each spike.
- Teach, then test: introduce each mechanic somewhere safe, let the player practise, then test it under pressure.
- Gate with intent: locks, abilities and progression tiers. Guide with light, lines and landmarks rather than walls.
- Playtest and iterate: watch where players get lost, stuck or bored, and fix the blockout before dressing.
Patterns
- Pacing as data: a list of beats
{ area, type = "teach" | "combat" | "rest" | "climax", intensity }. Read the intensity column: it should rise overall with dips, never flatline. - Gating graph: areas with exits that may need a key or ability, and areas that grant them. A flood fill that only crosses an exit once its requirement is obtainable proves there is no soft-lock.
Pitfalls
- Dressing before the layout plays well.
- Geometry that ignores metrics: impossible gaps, jumpable "walls", paths narrower than the camera needs.
- Flat pacing, or testing a mechanic before teaching it.
- Soft-locks: a gate whose key is only reachable past the gate.
- Nothing to draw the eye, so players get lost.
- Unsignposted one-way drops.
- Client-only gates that exploiters walk through.
- Hand-edited builder-owned objects, lost on the next rebuild.
References
references/pacing-and-flow.md: the tension curve, the teaching loop, paths and gating tools, readability, hub-and-spoke worlds, and a blockout review checklist.
Related: game-feel, game-ui-ux, roblox-lessons.
Adapted from awesome-gamedev-agent-skills (Apache-2.0). Modified; see SOURCE.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

