BiasedDoom 4.15.5
Added
- Procedural savegames now archive the exact generated UDMF together with seed, theme, difficulty, size, layout, verticality, detail, and outdoor metadata, preserving the original base map across generator revisions.
- Added deterministic Layout Shape, Verticality, Architecture Detail, and Outdoor Spaces menu controls, each backed by an independent generation-effect and runtime/node regression.
- All five procedural themes now own architectural silhouettes, ceiling/elevation behavior, courtyard and interactive-feature cadence, colored lighting, landmark materials, trim, and prop rhythms; Corrupted Tech gains dedicated four-phase hybrid surfaces.
- Procedural routes now use broad multi-level terraces connected by full-width 8-unit stair sectors; structural regression checks require a 96-unit vertical range and size-scaled stair coverage.
- Procedural progression now audits every composed connection by lock stage and rejects any cross-stage opening that is not the single planned keyed gate.
- Structural validation removes keyed door sectors and proves that ordinary doors and open portals cannot reconnect either side of a key gate.
- Added Industrial, Gothic, and Corrupted Tech procedural themes with distinct material transitions and decoration vocabularies.
- Added size-scaled deep-branch survival caches, a guaranteed main-route recovery cadence, and substantially denser role-aware decoration.
- Added size-80 extreme-map generation with guarded UDMF coordinate limits and regression coverage for real runtime loading.
- Added a fixed-seed, all-theme size-80 regression for seed
1771465796, including serialized passage-clearance and real node-builder checks. - Added a five-seed maximum-size stress matrix with developer-level BSP diagnostics; renderer-dangerous coincident lines, open/branched sector boundaries, zero-area loops, and synthetic hole subsectors are now regression failures.
- Procedural secrets now use the engine's real
SECRET_MASK, receive staged backpack, invisibility, berserk, soulsphere, computer-map, light-amplification, invulnerability, and Doom II megasphere rewards, and have dedicated structural/runtime regressions. - Ordinary doors now select stock 64×72, 128×96, 128×112, and 64/128×128 profiles by theme and IWAD, including Doom II
SPCDOORvariants.
Changed
- Screenshot requests are captured after final 2D composition and before presentation, so full-screen automap, HUD, and console layers are included consistently by OpenGL, GLES, and Vulkan.
- Ordinary procedural room floors now follow a
0 → 32 → 64 → 96terrace rhythm with deterministic branch offsets and a bounded 64-unit inter-room transition, replacing shallow per-room height jitter. - Key-triggered ambushes and switch-opened opportunity caches now vary silhouette, floor/ceiling treatment, lighting, reveal-door prominence, and actor/reward layout; some cache switches are placed in a nearby room within the same lock stage.
- Procedural surface families now use broader IWAD-safe palettes and progression/role clusters. Continuous chamber walls retain one material, while connector, jamb, platform, and reveal accents change only at visible geometry seams.
- The procedural size slider now reaches 80, optional-branch density is higher, major fights receive more recovery, and ordinary rooms attempt one to three decorations instead of being mostly bare.
- Sizes above 40 now reflow excess horizontal growth into height and center the emitted bounds, retaining extreme capacity without placing starts against the UDMF coordinate edge.
- Industrial and Gothic now use dedicated four-phase wall, floor, and ceiling tables; every theme has a more varied semantic prop rhythm.
- Same-room joins now use explicit 224–256-unit hall portals instead of consuming whole coarse-cell edges, keeping huge four-way junctions topologically well-defined.
- Direct recovery now has a deterministic floor of one substantial pickup per four authored monsters, so high-difficulty huge maps scale their survival economy with actual encounter pressure.
- Door openings now inherit the selected stock texture's native width and height, with explicit lowered approach sectors forming real lintels on both sides instead of fitting one motif to every tall room.
- The macOS deployment target and application metadata now require macOS 10.15, matching the C++17 filesystem support required by the enabled glTF stack.
Fixed
- Hardware sky fog now uses a non-overlapping, continuously interpolated 32-strip hemisphere, eliminating concentric rings and translucent fan wedges when looking into the sky.
- GLES mapped-buffer subupdates no longer write through a missing CPU shadow allocation, preventing a crash when the new sky-fog gradient is uploaded through the compatibility renderer.
- Saving an in-memory procedural map no longer dereferences the invalid
-1map-lump container and crashes. Loading stages the archived TEXTMAP before world restoration instead of depending on ambient procedural CVars. - Automap screenshots no longer capture the hidden 3D view underneath the map overlay.
- Door thresholds that must remain level are normalized before emission; every other non-level room connection receives a traversable staircase instead of an impassable ledge.
- Room composition and UDMF emission can no longer turn a progression-stage boundary into a normal unlocked door or opening.
- Corridor support textures no longer begin in the middle of a flat chamber wall; 8-unit depth returns provide a natural architectural transition.
- Remote opportunity switches are assigned only to rooms proven to contain a full panel wall, preventing large-map generation failures in highly connected one-cell rooms.
- Solid decorations now reserve 112-unit approaches around passages, doors, lifts, and full stair routes, plus a tighter exclusion around shallow landmark tiers, instead of checking actor overlap alone.
- Maximum-width four-way joins no longer emit coincident solid lines or zero-area pinwheel boundaries that produced black floor/ceiling holes after GL-node construction.
- Exit and key chambers with sufficient physical space now always receive their authored landmark platform, including single-cell exits on huge seeds.
- Dramatic terraces on maximum Exploratory graphs now use a graph-distance fallback when cyclic local relaxation cannot converge, guaranteeing every adjacent rise remains within the eight-tread staircase bound.
- Every mission graph now reserves a one-door optional leaf before landmark expansion; loops and room merging cannot consume it, so compact seeds still contain a genuine hidden reward rather than a through-route secret flag.
- Compact maps may place perches and safely bypassable lifts on terrace cells when no level feature cell remains; each feature replaces the cell with its own validated platform or stair geometry instead of aborting generation.
- Mandatory theme landmarks use a collision- and passage-checked wall-bay fallback, keeping Hell finale markers and dense Gothic dressing present without blocking doors, stairs, or gameplay actors.
- Door art no longer extends into adjoining wall shoulders: each moving face matches its native 64- or 128-unit texture width, and every 16-unit slab retains a nonzero recessed approach on both sides.
- Secret supplies avoid landmark and combat-feature footprints, and the expanded reward-slot layout prevents multiple survival pickups from occupying the same coordinate.
- Linux-hosted Windows packaging now prefers the POSIX MinGW-w64 thread model, preventing glTF's simdjson dependency from being compiled without
std::thread,std::mutex, andstd::condition_variablesupport. - Tagged release packaging no longer treats an absent optional runtime file or resource directory as a fatal native Windows or macOS packaging error.
- Release checksums are now generated portably on Linux, Windows, and macOS and record relocatable artifact basenames instead of runner-local absolute paths.
- MinGW cross-builds now target the Vista-or-newer Windows SDK surface across every bundled C and C++ library, exposing the synchronization and common-file-dialog interfaces used by ZMusic and ZWidget on older MinGW-w64 toolchains.
- Native Windows release staging now uses Git Bash's POSIX workspace path for resource discovery and workspace-relative action outputs for artifact upload, reliably including the generated PK3 resources without confusing Windows path translation.
Downloads
- Linux: download the
.AppImage, mark it executable if needed, and run it. - Windows: download the
Windows-x64.zip, extract it, and runbiaseddoom.exe. - Windows MinGW: download the
Windows-x64-MinGW.zipif you want the Linux-built cross-compiled package.
SHA256 checksum files are published beside each artifact.