Level editors & modding tools
Build levels and mods in game-specific editors.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- Ultimate Doom Builder · RPG Maker · Minecraft structure tools
- Class GUI-need label
G3· GUI-only
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R06.10.01.04-T01 Add a door sector linking two rooms in Doom Builder
Original instruction
Open maps/test01.wad (UDMF, GZDoom) in Ultimate Doom Builder. Rooms A and B are separated by a 16-unit gap. Draw a 64x16 door sector joining them, set its ceiling to its floor height, give both faces action 'Door Open Wait Close' (repeatable, player use), use texture BIGDOOR2 on faces and DOORTRAK on the jambs (lower unpegged). Save.
- Platforms
win· Windows- Applications
- Ultimate Doom Builder
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropgeom· Precise geometryclick· Point & click- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Parse TEXTMAP: new sector bridges A and B (shared linedefs), ceiling==floor, door-face lines carry special 12/202-equivalent with repeat and playeruse flags; textures and dontpegbottom on jambs. Map has no unclosed sectors. File-write audit: WAD written only by the editor process.
Proposed partial credit
35% door sector connects rooms; 35% specials and flags; 20% textures; 10% map valid
R06.10.01.04-T02 Build a switch-activated lift to reach a ledge
Original instruction
In maps/ledge.wad (UDMF) the exit ledge is 128 units above the courtyard. In Ultimate Doom Builder add a 64x64 lift sector against the ledge with a wall switch on the nearest courtyard wall that lowers the lift (Plat_DownWaitUpStay, speed 32, tagged), so the player can ride it up. Save.
- Platforms
win· Windows- Applications
- Ultimate Doom Builder
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropgeom· Precise geometryclick· Point & click- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
TEXTMAP: lift sector floor at ledge height, adjacent to ledge, tag shared with the switch line whose special is Plat_DownWaitUpStay speed 32. GZDoom headless harness with scripted bot reaches the exit trigger within 60 s. UDBScript plugin is removed and the agent has no terminal; writes to the .wad by any process other than Builder.exe are caught by a file-write audit log and score 0.
Proposed partial credit
30% lift sector geometry; 30% switch special and tag; 40% bot reaches exit
R06.10.01.04-T03 Recreate a map layout from a dimensioned sketch
Original instruction
Using Ultimate Doom Builder, create maps/E1M9.wad (Doom 2 format) reproducing sketch/e1m9_plan.pdf: 7 rooms with labelled vertex coordinates, floor/ceiling heights and light levels per room table, connecting stairs (8 steps of 16 units), a player 1 start and exit switch. Build nodes on save.
- Platforms
win· Windows- Applications
- Ultimate Doom Builder
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropgeom· Precise geometrytype· Text & forms- Work product
WP11· Game/sim state- Conditions
long· Long-horizon- Proposed difficulty
- 4 / 5
Proposed verifier
Parse map: each room's polygon vertices within 8 units of sketch (Hausdorff); sector heights and light levels match table; staircase has 8 sectors with 16-unit increments; NODES lump present; exit reachable by graph search over passable lines. UDBScript plugin is removed and the agent has no terminal; .wad writes by processes other than Builder.exe are caught by a file-write audit log.
Proposed partial credit
40% room geometry; 20% heights/light; 15% stairs; 25% start/exit reachable and nodes built
R06.10.01.04-T04 Design key-locked progression with blue and red keys
Original instruction
In maps/keys.wad (UDMF) using Ultimate Doom Builder: lock the armory door with a blue key door, place the blue key in the west wing (reachable from start), lock the exit door with a red key door, and place the red key inside the armory. No key may be reachable out of order.
- Platforms
win· Windows- Applications
- Ultimate Doom Builder
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clicknav· Pan/zoom/scroll- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Parse map; build a region graph with lock edges. Check: blue key reachable without keys; red key reachable only with blue; exit requires red; no bypass path (including jumps ≤24 units step). Door specials use correct lock numbers. UDBScript plugin is removed and the agent has no terminal; .wad writes by any process other than Builder.exe are caught by a file-write audit log.
Proposed partial credit
25% blue door and key; 25% red door and key; 40% ordering holds (no bypass); 10% lock specials
R06.10.01.04-T05 Create an NPC event that gives a Potion once
Original instruction
RPG Maker MZ project VillageQuest, map 'Elder House'. Add an NPC event at tile (8,5) using the Elder graphic: on Action Button, show 'Take this, traveler.', give 1 Potion, and turn on Self Switch A; page 2 (Self Switch A on) says 'Good luck out there.' Save the project.
- Platforms
mac· macOSwin· Windows- Applications
- RPG Maker MZ
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Load data/Map003.json: event at (8,5) with 2 pages; page 1 trigger 0, commands Show Text, Change Items (Potion id +1), Control Self Switch A=ON; page 2 condition selfSwitch A, text matches. Playtest harness talks twice: inventory +1 only once. Compared with control pair T19. Agent has no terminal or text editor; data/*.json writes by any process other than the MZ editor are caught by a file-write audit log.
Proposed partial credit
30% event placed with graphic; 40% page 1 commands; 20% page 2; 10% playtest
R06.10.01.04-T06 Paint a town map to match a reference screenshot
Original instruction
RPG Maker MZ project VillageQuest. Map 'Riverside' (20x15, Outside tileset) is blank. Paint it to match reference/riverside.png: water and autotile shores, roads, three houses from B/C tiles, trees on the upper layer, and passability so the bridge is walkable. Save.
- Platforms
mac· macOSwin· Windows- Applications
- RPG Maker MZ
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathdrag· Drag & dropvis· Visual judgment- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Map JSON tile layers compared to gold: ≥95% cell match per layer (autotile shape ids normalised to base tile); passability BFS from map entrance reaches bridge and all three house doors. Agent has no terminal or text editor; data/Map*.json writes by any process other than the RPG Maker MZ editor are caught by a file-write audit log and score 0.
Proposed partial credit
40% ground and water; 25% houses and trees; 20% autotile shores; 15% passability
R06.10.01.04-T07 Enter an enemy roster and a scripted troop battle
Original instruction
RPG Maker MZ project DungeonCrawl. In the Database create 10 enemies from enemies.xlsx (name, HP, MP, ATK, DEF, MAT, MDF, AGI, LUK, EXP, gold, drop item and rate) and troop 'Goblin Ambush' (3 Goblins + 1 Shaman) with a battle event at turn 2: Shaman says 'Reinforcements!' and a hidden Goblin appears.
- Platforms
mac· macOSwin· Windows- Applications
- RPG Maker MZ
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
type· Text & formsclick· Point & click- Work product
WP02· Records/table- Conditions
multiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
Load data/Enemies.json: 10 rows equal xlsx values (all params, drops). data/Troops.json: troop members incl. 1 hidden Goblin; page condition turn 2, Show Text then Enemy Appear on the hidden index. Battle test harness confirms appearance at turn 2. No terminal, scripting runtime or text editor; data/*.json writes by processes other than the MZ editor are caught by a file-write audit log.
Proposed partial credit
50% enemy stats (5 points each); 20% troop composition; 30% turn-2 event
R06.10.01.04-T08 Reproduce the first three tower floors of a reference game
Original instruction
Using RPG Maker XP, project MotaRemake: rebuild floors 1–3 of the reference tower game (reference/floor1–3.png and monster_stats.txt): 11x11 tile maps, stairs linking floors, colored key doors, and 8 monster types with exact stats, encountered as touch events that start battles. Save the project.
- Platforms
win· Windows- Applications
- RPG Maker XP
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G3· GUI-only- Interaction primitives
path· Continuous pathdrag· Drag & dropvis· Visual judgmenttype· Text & forms- Work product
WP11· Game/sim state- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Unmarshal Data/Map001–003.rxdata and Enemies.rxdata: tile arrays equal reference ≥95%; stairs transfer events link floors; key doors require matching items; monster stats exact. Scripted playthrough reaches floor 3 stairs. Agent has no terminal or Ruby interpreter; Data/*.rxdata writes by any process other than the RPG Maker XP editor are caught by a file-write audit log and score 0.
Proposed partial credit
35% three floor maps; 20% stairs and doors; 30% monster stats; 15% playthrough
R06.10.01.04-T09 Script an autorun cutscene with move routes and a branch
Original instruction
RPG Maker MZ project VillageQuest, map 'Square'. Add an autorun event (runs once, then erases via switch 12): fade out/in, scroll camera 6 tiles up, Guard walks the route in cutscene.md, a conditional branch on variable 7 (Reputation ≥ 10) shows one of two lines, then sets switch 12 ON. Save.
- Platforms
mac· macOSwin· Windows- Applications
- RPG Maker MZ
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Map JSON event: trigger autorun, condition switch 12 OFF; command list contains fade out/in, Scroll Map up 6, Set Movement Route on Guard matching the route steps, Conditional Branch variable 7 ≥ 10 with both lines, Control Switches 12 ON. Playtest harness with var 7 = 5 and 12 checks text. No terminal or text editor; data/*.json writes by processes other than the MZ editor are caught by a file-write audit log.
Proposed partial credit
15% autorun/erase; 20% fade and scroll; 30% move route; 35% branch and playtest
R06.10.01.04-T10 Save a house as a structure and place it rotated elsewhere
Original instruction
In the Minecraft Java world worlds/BuildTest (creative), use a Structure Block in Save mode to save the house at corner (100,64,200) size 9x7x9 as test:cottage, excluding entities. Then load it with a Structure Block at (140,64,200) rotated 90° clockwise. Save and quit the world.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Minecraft Java Edition
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & formsnav· Pan/zoom/scroll- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
generated/test/structures/cottage.nbt: size [9,7,9], palette and block list equal to source region, entities empty. Region files: blocks at destination equal source rotated 90° CW (block states rotated). Command log shows no /place or /clone usage. No terminal, NBT or world editors on the agent VM; region and .nbt writes by any process other than the Minecraft client are caught by a file-write audit log.
Proposed partial credit
40% structure saved correctly; 40% rotated placement; 20% no command shortcuts
R06.10.01.04-T11 Replace building materials in a world region with Amulet
Original instruction
Open world worlds/Village in Amulet Editor. Inside box (0,60,0)–(63,100,63) replace all oak_planks with spruce_planks and oak_stairs with spruce_stairs preserving facing/half, without touching chest contents or blocks outside the box. Save the world.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Amulet Editor
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickgeom· Precise geometry- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Diff region files vs original: inside box all oak planks/stairs replaced with matching state properties; zero changes outside box; chest NBT items identical. Count of replaced blocks equals expected. Amulet's custom Python operation plugins are removed and the agent has no terminal or Python; region writes by other processes are caught by a file-write audit log.
Proposed partial credit
35% planks replaced; 35% stairs with states; 20% no changes outside; 10% chests intact
R06.10.01.04-T12 Build a walled courtyard with WorldEdit and copy a corner tower
Original instruction
Minecraft Java with WorldEdit, world worlds/Keep. Build a 31x31 courtyard centred on (0,64,0): stone_bricks walls 6 high, a cobblestone floor, then copy the tower template at (100,64,100) (7x12x7) and paste it centred on each of the 4 courtyard corners. Save.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Minecraft Java Edition · WorldEdit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
type· Text & formsnav· Pan/zoom/scrollgeom· Precise geometry- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Region scan: wall perimeter 31x31 stone_bricks, 6 high, gaps none; floor cobblestone inside; four tower copies equal template block-for-block at corner-centred offsets. Air elsewhere unchanged. WorldEdit CraftScripts (/cs) and RCON are disabled, the agent has no terminal or world editors, and region writes by other processes are caught by a file-write audit log.
Proposed partial credit
30% walls; 15% floor; 45% four towers exact; 10% no stray edits
R06.10.01.04-T13 Build a leak-free Quake room with a sliding door in TrenchBroom
Original instruction
In TrenchBroom (Quake, ericw-tools) create maps/lab.map: two 256x256 rooms joined by a 128-long corridor, a func_door in the corridor (speed 100, lip 8, opens up), info_player_start in room 1, three lights (300) and a trigger_changelevel in room 2. Compile with qbsp/vis/light to lab.bsp without a leak.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- TrenchBroom
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropgeom· Precise geometryclick· Point & click- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Parse .map: brushes form two rooms and corridor within 16 units; func_door keys exact; entity counts. Compile logs: no 'leaked', no lab.pts; light ran. lab.bsp loads in a headless Quake engine and bot reaches changelevel through the door. Agent has no terminal or text editor; lab.map writes by any process other than TrenchBroom are caught by a file-write audit log and score 0.
Proposed partial credit
30% geometry; 20% door entity; 20% entities/lights; 30% compiles leak-free and passes
R06.10.01.04-T14 Make and compile a sealed Source map in Hammer
Original instruction
Using Hammer (Source SDK 2013 MP / Hammer++), create mapsrc/arena.vmf: a sealed 1024x1024x384 room with a 128-unit raised platform and ramp, info_player_teamspawn x2, a light_environment-free interior lit by 4 light entities, and a prop_physics crate. Compile with VBSP/VVIS/VRAD (normal) to arena.bsp with no leaks.
- Platforms
win· Windows- Applications
- Hammer++
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropgeom· Precise geometryclick· Point & click- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Parse VMF: room bounds ±16 units, platform and ramp brushes, entity classes and counts. Compile log: no LEAK, VVIS and VRAD completed; arena.bsp present with lighting lump non-empty. Agent has no terminal or text editor; arena.vmf writes by any process other than Hammer are caught by a file-write audit log and score 0.
Proposed partial credit
30% room and platform; 25% entities; 45% clean compile with lighting
R06.10.01.04-T15 Script a region spawn trigger in the Warcraft III World Editor
Original instruction
Open maps/Outpost.w3x in the Warcraft III World Editor. Create region 'Gate' around the north gate, and a GUI trigger: when a unit owned by Player 1 enters Gate, create 3 Footmen for Player 2 at region 'Barracks' facing 270°, ping the minimap, and disable the trigger. Save the map.
- Platforms
mac· macOSwin· Windows- Applications
- Warcraft III World Editor
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Extract war3map.w3r and war3map.wtg/j from the MPQ: region Gate bounds cover gate tiles; trigger event, condition owner==Player 1, actions CreateNUnitsAtLoc(3,'hfoo',Player 2,Barracks,270), PingMinimap, DisableTrigger. Map loads in headless validator. Agent has no terminal, MPQ or JASS tools; Outpost.w3x writes by any process other than World Editor are caught by a file-write audit log and score 0.
Proposed partial credit
20% region; 30% event and condition; 40% actions; 10% map saved valid
R06.10.01.04-T16 Add a vendor NPC with custom stock in the Creation Kit
Original instruction
In the Skyrim Special Edition Creation Kit, create plugin TestVendor.esp: a new NPC 'Hilde Ashvale' (Nord, female) placed in Whiterun's Drunken Huntsman, member of a new vendor faction with buy/sell flags for potions and ingredients, a merchant chest containing items in stock.csv, and the vendor active 8:00–20:00. Save the plugin.
- Platforms
win· Windows- Applications
- Creation Kit
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsdrag· Drag & drop- Work product
WP11· Game/sim state- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Parse TestVendor.esp records: NPC_ with name/race/sex; REFR in the Huntsman cell; FACT with vendor flags, item-type keywords, hours 8–20, merchant container REFR; CONT items equal stock.csv. No edits to vanilla records beyond the cell placement. xEdit and other plugin editors are absent and there is no terminal; .esp writes by processes other than CreationKit.exe are caught by a file-write audit log.
Proposed partial credit
20% NPC record; 15% placement; 35% vendor faction settings; 30% stock and clean plugin
R06.10.01.04-T17 Fix all Map Analysis errors in a broken Doom map
Original instruction
maps/broken.wad (Doom 2 format) has unclosed sectors, missing upper/lower textures, overlapping vertices, things stuck in walls and a 2-sided line with no back sector. In Ultimate Doom Builder use Map Analysis to fix every reported issue without deleting rooms, then save with nodes built.
- Platforms
win· Windows- Applications
- Ultimate Doom Builder
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickvis· Visual judgmentnav· Pan/zoom/scroll- Work product
WP11· Game/sim state- Conditions
hidden· Hidden/stale state- Proposed difficulty
- 3 / 5
Proposed verifier
Re-run UDB map-analysis rules via standalone checker: 0 errors. Sector count ≥ original minus merged duplicates; room polygons cover ≥98% original area; all things inside valid sectors with radius clearance; NODES rebuilt. UDBScript plugin is removed and the agent has no terminal; .wad writes by any process other than Builder.exe are caught by a file-write audit log and score 0.
Proposed partial credit
40% structural errors fixed; 20% textures fixed; 20% things fixed; 20% rooms preserved
R06.10.01.04-T18 Configure plugins and deploy an RPG Maker game for web
Original instruction
RPG Maker MZ project VillageQuest. In the Plugin Manager enable the 4 plugins in plugins_list.md in the listed order with the given parameters (text speed 2, window opacity 200, font size 26), disable DebugTools, then Deploy for Web/Browsers to dist/web excluding unused files.
- Platforms
mac· macOSwin· Windows- Applications
- RPG Maker MZ
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & formsdrag· Drag & drop- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
js/plugins.js in project: plugin order and status exact, parameters equal. dist/web/index.html runs in headless Chromium to title screen with no console errors; unused-file exclusion reduced asset count vs full set. Agent has no terminal or text editor; js/plugins.js and dist/ writes by any process other than the RPG Maker MZ editor are caught by a file-write audit log.
Proposed partial credit
35% plugin order/status; 25% parameters; 30% web build runs; 10% unused excluded
R06.10.01.04-T19 Create the Potion NPC by editing map JSON (control pair of T05)
Original instruction
Control pair of T05. Without opening the RPG Maker editor, add the same Elder NPC event (two pages, Potion once, Self Switch A) to data/Map003.json of VillageQuest using a script or text editor, keeping the JSON loadable by the editor and engine.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- RPG Maker MZ
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP11· Game/sim state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Same structural checks and playtest harness as T05; JSON parses and the project opens in the editor without repair prompts.
Proposed partial credit
60% event structure; 25% playtest; 15% project still loads
R06.10.01.04-T20 Build a complete three-key Doom level to a design brief
Original instruction
In Ultimate Doom Builder build maps/MAP01.wad (UDMF, GZDoom) per brief_map01.md: hub with 3 wings, blue/yellow/red key progression, 8 secret sectors, 40+ monsters split by skill flags (easy ≤25, hard ≥40), ammo balance per the brief's table, and an exit room. Build nodes and save.
- Platforms
win· Windows- Applications
- Ultimate Doom Builder
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropgeom· Precise geometryclick· Point & clicknav· Pan/zoom/scroll- Work product
WP11· Game/sim state- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Parse map: key-lock graph enforces brief order with no bypass; 8 sectors with secret flag each reachable; monster counts per skill flags; ammo/health totals within brief ranges; exit reachable. GZDoom bot run with keys order reaches exit. UDBScript plugin is removed and the agent has no terminal; .wad writes by any process other than Builder.exe are caught by a file-write audit log.
Proposed partial credit
30% key progression; 15% secrets; 20% monster counts per skill; 35% ammo balance and playable to exit
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.