Factorial Studio›Blog›AI
AI

Proving a Generated Level Is Finishable

A generator that produces an impossible level has not produced a hard level. It has produced a bug that ships.

By Muhammad Qasim·

Any system generating playable content — levels, boards, puzzles — can produce something unsolvable. The player does not experience that as difficulty. They experience it as a broken game, and they are right.

Generate, then verify, then ship

The reliable pattern is to treat generation as a proposal and verification as the gate. Generate a candidate, prove it solvable, and only then let it reach a player. Anything that fails verification is discarded and regenerated.

The proof depends on the genre:

Difficulty is the second problem

Solvable is necessary, not sufficient. A level solvable only by a twenty-move sequence nobody would find is technically fine and practically broken. The solver's output — moves required, branching at each step, how many wrong paths look right — is what turns "possible" into "appropriately hard".

Verify in the build, not in the design document

Run the check as an automated test over a large sample of generated content, as part of the build. A generator that was correct last month and is not now is exactly the kind of regression that reaches players, because nothing crashes.

The short version Generation proposes, verification decides. If no automated check proves a level finishable, you are shipping a guess.

This is what we do day to day — game, app and website QA at Factorial Studio.

Muhammad Qasim
Muhammad Qasim
Founder & CEO, Factorial Studio

Runs Factorial Studio in Lahore — game QA, WebGL porting, console certification and playable ads. Has shipped and tested games on Unity and Unreal for studios in eight countries.

Got a build that needs this kind of attention?

QA, WebGL porting, console certification and playable ads — send us the build and we will tell you what we find.

Start a project →