FAILURE MAP
← Case archive

FA-86521 / Procedural level generation constraints / Open access

Chunk seed derivation: Large world seeds are not reduced · case 01

Seeds above 32 bits produce different chunk ids than the save format stores.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The world seed product is not masked to 32 bits.

VERIFIED REPAIR

Restore `(world_seed * 1000003) & 0xFFFFFFFF` at the world seed mask step.

Unsuccessful approach: Masking before the multiply still leaves the product unbounded.

Case contract

Coordinates are zigzag encoded (v >= 0 -> 2v, v < 0 -> -2v-1). seed = (world_seed*1000003 mod 2^32) xor (zz(cx)*73856093 mod 2^32) xor (zz(cy)*19349663 mod 2^32). The generator state is seed, or 1 when seed is 0, advanced by three 32-bit xorshift rounds (<<13, >>17, <<5, each left shift masked to 32 bits). Returns [seed, state % 100].

Why this case matters

Procedural generators silently emit unplayable or unfair levels when a single constraint check uses the wrong boundary, axis, neighborhood or update order; the defect is visible in exact generated geometry.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(world_seed, cx, cy):
    def zz(v):
        return v * 2 if v >= 0 else -v * 2 - 1
    s = world_seed * 1000003
    s ^= (zz(cx) * 73856093) & 0xFFFFFFFF
    s ^= (zz(cy) * 19349663) & 0xFFFFFFFF
    x = s or 1
    for _ in range(3):
        x ^= (x << 13) & 0xFFFFFFFF
        x ^= x >> 17
        x ^= (x << 5) & 0xFFFFFFFF
    return [s, x % 100]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('fault site world seed mask #1', [1099511627779, -1, 155], [1640198686, 4]),
  ('fault site world seed mask #2', [1099511627779, 1, 1], [179220301, 79]),
  ('regression world seed mask #1', [2147483655, -2, 0], [2371752642, 72]),
  ('regression world seed mask #2', [17601332116874, -1, 1], [1431083645, 95]),
  ('origin with zero seed #1', [0, 0, 0], [0, 61]),
  ('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),
  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),
  ('control #1', [42, -1, 1], [78162845, 87])],
 [('fault site world seed mask #1', [1099511627779, -374, 0], [3628518806, 87]),
  ('fault site world seed mask #2', [1099511627779, -1, 3], [44085550, 32]),
  ('regression world seed mask #1', [3799470242044, -1, 0], [3783972265, 71]),
  ('regression world seed mask #2', [34120951125993, -2, 3], [4279618902, 0]),
  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),
  ('origin with zero seed #1', [0, 0, 0], [0, 61]),
  ('control #1', [42, -1, 1], [78162845, 87]),
  ('control #2', [0, 0, 3], [116097978, 65])],
 [('regression world seed mask #1', [2147483655, -2, 0], [2371752642, 72]),
  ('regression world seed mask #2', [17601332116874, -1, 1], [1431083645, 95]),
  ('regression world seed mask #3', [1995433905251, -2, 3], [1501273412, 90]),
  ('regression world seed mask #4', [2147483655, -2, -3], [2291814873, 91]),
  ('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),
  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),
  ('control #1', [0, 0, 3], [116097978, 65]),
  ('control #2', [0, 2, -3], [341807727, 72])],
 [('fault site world seed mask #1', [1099511627779, -1, 0], [72037012, 17]),
  ('regression world seed mask #1', [3799470242044, -1, 0], [3783972265, 71]),
  ('regression world seed mask #2', [2147483655, -1, 1], [2252520118, 90]),
  ('regression world seed mask #3', [2147483655, -1, 0], [2215394184, 69]),
  ('origin with zero seed #1', [0, 0, 0], [0, 61]),
  ('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),
  ('control #1', [1, -2, 1], [259333738, 52]),
  ('control #2', [42, -1, -303], [3206913376, 67])],
 [('fault site world seed mask #1', [1099511627779, -2, 1], [257399520, 7]),
  ('regression world seed mask #1', [34120951125993, -2, 3], [4279618902, 0]),
  ('regression world seed mask #2', [33191991793503, -1, 1], [3224972990, 81]),
  ('regression world seed mask #3', [5692288785053, 0, 141], [4054752817, 57]),
  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),
  ('origin with zero seed #1', [0, 0, 0], [0, 61]),
  ('control #1', [0, -22, 3], [3147860005, 93]),
  ('control #2', [42, 1, 0], [172832324, 53])]]
for label, args, expected in cases[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
fault site world seed mask #1[1099514927951082014, 84][1640198686, 4]Failed
fault site world seed mask #2[1099514926490103629, 99][179220301, 79]Failed
regression world seed mask #1[2147490314719938, 74][2371752642, 72]Failed
regression world seed mask #2[17601384920902310525, 72][1431083645, 95]Failed
origin with zero seed #1[0, 61][0, 61]Passed
negative neighbour chunk #1[115747491, 56][115747491, 56]Passed
mirrored coordinates #1[294384589, 20][294384589, 20]Passed
control #1[78162845, 87][78162845, 87]Passed

SHA-256 / 1f54cb923a3c61da4d99dad04eba96de51aaff5d57f1daa0b7fabe662e1a70f1

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(world_seed, cx, cy):
    def zz(v):
        return v * 2 if v >= 0 else -v * 2 - 1
    s = (world_seed & 0xFFFFFFFF) * 1000003
    s ^= (zz(cx) * 73856093) & 0xFFFFFFFF
    s ^= (zz(cy) * 19349663) & 0xFFFFFFFF
    x = s or 1
    for _ in range(3):
        x ^= (x << 13) & 0xFFFFFFFF
        x ^= x >> 17
        x ^= (x << 5) & 0xFFFFFFFF
    return [s, x % 100]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('fault site world seed mask #1', [1099511627779, -1, 155], [1640198686, 4]),
  ('fault site world seed mask #2', [1099511627779, 1, 1], [179220301, 79]),
  ('regression world seed mask #1', [2147483655, -2, 0], [2371752642, 72]),
  ('regression world seed mask #2', [17601332116874, -1, 1], [1431083645, 95]),
  ('origin with zero seed #1', [0, 0, 0], [0, 61]),
  ('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),
  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),
  ('control #1', [42, -1, 1], [78162845, 87])],
 [('fault site world seed mask #1', [1099511627779, -374, 0], [3628518806, 87]),
  ('fault site world seed mask #2', [1099511627779, -1, 3], [44085550, 32]),
  ('regression world seed mask #1', [3799470242044, -1, 0], [3783972265, 71]),
  ('regression world seed mask #2', [34120951125993, -2, 3], [4279618902, 0]),
  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),
  ('origin with zero seed #1', [0, 0, 0], [0, 61]),
  ('control #1', [42, -1, 1], [78162845, 87]),
  ('control #2', [0, 0, 3], [116097978, 65])],
 [('regression world seed mask #1', [2147483655, -2, 0], [2371752642, 72]),
  ('regression world seed mask #2', [17601332116874, -1, 1], [1431083645, 95]),
  ('regression world seed mask #3', [1995433905251, -2, 3], [1501273412, 90]),
  ('regression world seed mask #4', [2147483655, -2, -3], [2291814873, 91]),
  ('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),
  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),
  ('control #1', [0, 0, 3], [116097978, 65]),
  ('control #2', [0, 2, -3], [341807727, 72])],
 [('fault site world seed mask #1', [1099511627779, -1, 0], [72037012, 17]),
  ('regression world seed mask #1', [3799470242044, -1, 0], [3783972265, 71]),
  ('regression world seed mask #2', [2147483655, -1, 1], [2252520118, 90]),
  ('regression world seed mask #3', [2147483655, -1, 0], [2215394184, 69]),
  ('origin with zero seed #1', [0, 0, 0], [0, 61]),
  ('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),
  ('control #1', [1, -2, 1], [259333738, 52]),
  ('control #2', [42, -1, -303], [3206913376, 67])],
 [('fault site world seed mask #1', [1099511627779, -2, 1], [257399520, 7]),
  ('regression world seed mask #1', [34120951125993, -2, 3], [4279618902, 0]),
  ('regression world seed mask #2', [33191991793503, -1, 1], [3224972990, 81]),
  ('regression world seed mask #3', [5692288785053, 0, 141], [4054752817, 57]),
  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),
  ('origin with zero seed #1', [0, 0, 0], [0, 61]),
  ('control #1', [0, -22, 3], [3147860005, 93]),
  ('control #2', [42, 1, 0], [172832324, 53])]]
for label, args, expected in cases[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
fault site world seed mask #1[1640198686, 4][1640198686, 4]Passed
fault site world seed mask #2[179220301, 79][179220301, 79]Passed
regression world seed mask #1[2147490314719938, 74][2371752642, 72]Failed
regression world seed mask #2[556139566373501, 86][1431083645, 95]Failed
origin with zero seed #1[0, 61][0, 61]Passed
negative neighbour chunk #1[115747491, 56][115747491, 56]Passed
mirrored coordinates #1[294384589, 20][294384589, 20]Passed
control #1[78162845, 87][78162845, 87]Passed

SHA-256 / f3cb4492ee553af406f0ce1cb3e83db0b722a6623c8ff9d0d5835771145d63d6

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(world_seed, cx, cy):
    def zz(v):
        return v * 2 if v >= 0 else -v * 2 - 1
    s = (world_seed * 1000003) & 0xFFFFFFFF
    s ^= (zz(cx) * 73856093) & 0xFFFFFFFF
    s ^= (zz(cy) * 19349663) & 0xFFFFFFFF
    x = s or 1
    for _ in range(3):
        x ^= (x << 13) & 0xFFFFFFFF
        x ^= x >> 17
        x ^= (x << 5) & 0xFFFFFFFF
    return [s, x % 100]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('fault site world seed mask #1', [1099511627779, -1, 155], [1640198686, 4]),
  ('fault site world seed mask #2', [1099511627779, 1, 1], [179220301, 79]),
  ('regression world seed mask #1', [2147483655, -2, 0], [2371752642, 72]),
  ('regression world seed mask #2', [17601332116874, -1, 1], [1431083645, 95]),
  ('origin with zero seed #1', [0, 0, 0], [0, 61]),
  ('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),
  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),
  ('control #1', [42, -1, 1], [78162845, 87])],
 [('fault site world seed mask #1', [1099511627779, -374, 0], [3628518806, 87]),
  ('fault site world seed mask #2', [1099511627779, -1, 3], [44085550, 32]),
  ('regression world seed mask #1', [3799470242044, -1, 0], [3783972265, 71]),
  ('regression world seed mask #2', [34120951125993, -2, 3], [4279618902, 0]),
  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),
  ('origin with zero seed #1', [0, 0, 0], [0, 61]),
  ('control #1', [42, -1, 1], [78162845, 87]),
  ('control #2', [0, 0, 3], [116097978, 65])],
 [('regression world seed mask #1', [2147483655, -2, 0], [2371752642, 72]),
  ('regression world seed mask #2', [17601332116874, -1, 1], [1431083645, 95]),
  ('regression world seed mask #3', [1995433905251, -2, 3], [1501273412, 90]),
  ('regression world seed mask #4', [2147483655, -2, -3], [2291814873, 91]),
  ('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),
  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),
  ('control #1', [0, 0, 3], [116097978, 65]),
  ('control #2', [0, 2, -3], [341807727, 72])],
 [('fault site world seed mask #1', [1099511627779, -1, 0], [72037012, 17]),
  ('regression world seed mask #1', [3799470242044, -1, 0], [3783972265, 71]),
  ('regression world seed mask #2', [2147483655, -1, 1], [2252520118, 90]),
  ('regression world seed mask #3', [2147483655, -1, 0], [2215394184, 69]),
  ('origin with zero seed #1', [0, 0, 0], [0, 61]),
  ('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),
  ('control #1', [1, -2, 1], [259333738, 52]),
  ('control #2', [42, -1, -303], [3206913376, 67])],
 [('fault site world seed mask #1', [1099511627779, -2, 1], [257399520, 7]),
  ('regression world seed mask #1', [34120951125993, -2, 3], [4279618902, 0]),
  ('regression world seed mask #2', [33191991793503, -1, 1], [3224972990, 81]),
  ('regression world seed mask #3', [5692288785053, 0, 141], [4054752817, 57]),
  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),
  ('origin with zero seed #1', [0, 0, 0], [0, 61]),
  ('control #1', [0, -22, 3], [3147860005, 93]),
  ('control #2', [42, 1, 0], [172832324, 53])]]
for label, args, expected in cases[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
fault site world seed mask #1[1640198686, 4][1640198686, 4]Passed
fault site world seed mask #2[179220301, 79][179220301, 79]Passed
regression world seed mask #1[2371752642, 72][2371752642, 72]Passed
regression world seed mask #2[1431083645, 95][1431083645, 95]Passed
origin with zero seed #1[0, 61][0, 61]Passed
negative neighbour chunk #1[115747491, 56][115747491, 56]Passed
mirrored coordinates #1[294384589, 20][294384589, 20]Passed
control #1[78162845, 87][78162845, 87]Passed

SHA-256 / 210667e66a48bdc341652dd5b8e37fa3676f85943a6988b86532500552aa2a60

Verification & scope

Deterministic toy contract stipulated for this model; integer or exact arithmetic only, not a reproduction of any specific game engine. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.

Observations recorded using Python 3.12.14 at 2026-09-29T14:50:50.218062+00:00.

Case digest / c25f66a0c35d41ced7f63d960f3df14b232cf2028bf3bc2c9261419829a343a4