{"schemaVersion":1,"record":{"key":"lesson/level-blockout","type":"lesson","id":"level-blockout","lang":"en","title":"Blockout: test space before art","summary":"Build a rough playable level around actual character dimensions, speed and camera to test a gameplay question.","updatedAt":"2026-10-20","status":"active","url":"https://gamemechanics.pro/en/lessons/level-blockout/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/lesson/level-blockout.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/lesson/level-blockout.md","aliases":[],"tags":["level-design","prototyping","playtesting"],"sourceIds":["source-8b44f85f2d184343","source-acb101d0c9741385"],"sources":[{"id":"source-8b44f85f2d184343","title":"The Level Design Book: Blockout","url":"https://book.leveldesignbook.com/process/blockout","verifiedAt":null},{"id":"source-acb101d0c9741385","title":"The Level Design Book: Metrics","url":"https://book.leveldesignbook.com/process/blockout/metrics","verifiedAt":null}],"sections":[{"id":"prerequisites","title":"Prerequisites","body":"A blockout, or graybox, tests play in a space that is still easy to rebuild. Cubes, planes and placeholder signs are enough when the character already moves according to the real rules."},{"id":"principle","title":"The principle","body":"A floor plan shows connections between rooms. A playable draft shows how those connections interact with movement speed, collision and the camera. [The Level Design Book](https://book.leveldesignbook.com/process/blockout) treats blockouts as a tool for early iteration. This does not mean a level will never change afterward.\n\nStart with a question: for example, “Can the player notice the closing door and choose a detour in time?” An attractive editor view cannot answer it. If the core mechanic is missing, conclusions about suitable geometry remain provisional.\n\n<span id=\"example-a-warehouse-door\"></span>"},{"id":"example","title":"Practical example","body":"### A warehouse door\n\nThis is an original teaching scenario, not a reported test result. The character is 0.8 m wide and moves at 4 m/s. A warehouse has a direct corridor of 12 m and a detour of 20 m. Without stops, they take 3 and 5 seconds. The direct door closes 4 seconds after a signal.\n\nBuild both routes with primitives. Use the gameplay camera and actual collision. Measure the route from where the player can first notice the signal, rather than a convenient editor marker. Turns and acceleration can increase travel time.\n\nThe first pass checks whether the door is reachable. The second checks whether an understandable exit remains after it closes. The third checks the return trip with cargo, if cargo affects movement."},{"id":"mistakes","title":"Common mistakes","body":"- Flying an editor camera through the level: the passage looks wide while the character gets stuck.\n- Using a temporary controller: changing the jump later invalidates the distances.\n- Adding decoration early: the author protects an expensive room even when its route fails."},{"id":"checks","title":"Verify it","body":"1. Walk both routes from the same start and record actual travel times.\n2. Check narrow passages with the gameplay collider and camera.\n3. Change one dimension, repeat the walk and explain the behavioral difference.\n4. Record the unresolved question before adding final art."},{"id":"agent-task","title":"Prompt for an AI agent","body":"> Build the warehouse from simple shapes. Expose dimensions, speed and door delay as parameters. Show the timer origin and travel time. Do not claim route clarity without observing a player. Prepare three manual acceptance scenarios.\n\nContinue with [Paper Current](/en/practice/#paper-current): test the rule in a cheap prototype before translating it into space."}],"relations":[{"type":"requires","direction":"outgoing","label":"Before you start","key":"lesson/scope-and-prototype","title":"Scope and a testable prototype","url":"https://gamemechanics.pro/en/lessons/scope-and-prototype/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/lesson/scope-and-prototype.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/lesson/scope-and-prototype.md"},{"type":"requires","direction":"outgoing","label":"Before you start","key":"lesson/collision-basics","title":"Collision fundamentals","url":"https://gamemechanics.pro/en/lessons/collision-basics/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/lesson/collision-basics.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/lesson/collision-basics.md"},{"type":"requires","direction":"incoming","label":"Continue learning","key":"lesson/level-wayfinding","title":"Making a route readable","url":"https://gamemechanics.pro/en/lessons/level-wayfinding/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/lesson/level-wayfinding.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/lesson/level-wayfinding.md"},{"type":"explains","direction":"outgoing","label":"Apply the principle","key":"mechanic/game-mechanics--gm-forced-path","title":"Forced path","url":"https://gamemechanics.pro/en/knowledge/mechanic/game-mechanics--gm-forced-path/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/mechanic/game-mechanics--gm-forced-path.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/mechanic/game-mechanics--gm-forced-path.md"},{"type":"practices","direction":"outgoing","label":"Put it into practice","key":"practice/paper-current","title":"A current on paper","url":"https://gamemechanics.pro/en/knowledge/practice/paper-current/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/practice/paper-current.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/practice/paper-current.md"},{"type":"contains","direction":"incoming","label":"Learning paths","key":"path/level-design","title":"Level design","url":"https://gamemechanics.pro/en/learn/level-design/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/path/level-design.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/path/level-design.md"}],"placements":[],"supersededBy":[],"attributes":{"category":"design","level":"beginner","minutes":5},"endsAt":null,"provenance":"Original gamemechanics.pro material. Check illustrative examples in your own project.","license":"CC-BY-4.0","codeLicense":"MIT","attribution":"gamemechanics.pro contributors"}}