Skip to content

Releases: EricsonWillians/BiasedDoom

BiasedDoom 4.15.5

Choose a tag to compare

@github-actions github-actions released this 15 Jul 21:53

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 SPCDOOR variants.

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 → 96 terrace 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 -1 map-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, and std::condition_variable support.
  • 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 run biaseddoom.exe.
  • Windows MinGW: download the Windows-x64-MinGW.zip if you want the Linux-built cross-compiled package.

SHA256 checksum files are published beside each artifact.

BiasedDoom 4.15.4

Choose a tag to compare

@EricsonWillians EricsonWillians released this 14 Jul 00:27

BiasedDoom 4.15.4

BiasedDoom 4.15.4 expands procedural missions into genuinely open combat
spaces, makes every generated vertical feature traversable, and completes the
player-skin, autoaim, and mugshot customization work.

Highlights

  • Expanded the procedural map-size control into a continuous 1–20 slider. The
    upper range produces colossal deterministic routes and broad footprints.
  • Raised the spatial baseline to 384-unit generator cells, 320–368-unit room
    interiors, 128-unit standard doors, and wider role-aware portals.
  • Made ordinary rooms target at least two compatible cells and scale hubs,
    arenas, key rooms, and finales with map size and combat difficulty.
  • Added reachable vertical combat: every raised ranged perch has 16-unit stair
    tiers, while optional reward lifts keep a permanent walkable bypass.
  • Added switch-operated supply pavilions, key-triggered ambush reveals, clearer
    exit landmarks, keyed-border colors, outdoor spaces, and more varied room
    silhouettes.
  • Centered texture phases per wall segment so opposite walls, doorway
    shoulders, chamfers, and accents remain symmetric and aligned.
  • Restricted Cyberdemons to finales containing at least eight merged cells and
    removed the Spider Mastermind from generated finales.
  • Kept player-selected skins active on replacement player classes and on the
    actual in-game actor, including third-person views and mods that mark a class
    as NoSkin.
  • Added an explicit autoaim enable switch plus independent vertical and
    horizontal acquisition ranges.
  • Added 0.25x–4x mugshot scaling, horizontal/vertical offsets, and reset controls
    for both the stock Doom ZScript HUD and legacy SBARINFO status bars.

Procedural Validation

The release candidate passed the structural matrix, fixed-seed determinism,
difficulty/finale-area balance, Ultimate Doom compatibility, menu integration,
runtime loading at sizes 1, 3, 5, and 20, and an 11-configuration seed stress
sweep. The fixed determinism case reproduced this SHA-256 hash:

ba7bd7deb2a21489a04167d1ef14679ba1a75badd4ad9ddc8a65a651e9953d5e

See the procedural-generation research
paper
for the representative
matrix and balance experiment.

Downloads

  • Linux: use BiasedDoom-4.15.4-Linux-x86_64.AppImage for the simplest portable
    launch, or extract BiasedDoom-4.15.4-Linux-x86_64.tar.gz.
  • Windows x64: extract BiasedDoom-4.15.4-Windows-x64-MinGW.zip and run
    biaseddoom.exe.
  • Every binary archive has a matching .sha256 file.
  • A supported IWAD such as DOOM2.WAD is still required and is not included.

BiasedDoom 4.15.3

Choose a tag to compare

@EricsonWillians EricsonWillians released this 10 Jul 22:36

BiasedDoom 4.15.3

This release focuses on atmosphere, third-person aiming, procedural Doom maps,
and compatibility with menu-heavy gameplay mods.

Highlights

  • Reworked hardware fog with sky integration, height falloff, turbulence,
    horizon weighting, quality levels, and six ready-to-use presets: Disabled,
    Map Enhanced, Natural Haze, Cinematic Layers, Dense Horror, and Directional
    Dusk.
  • Improved chasecam aiming with exact or adaptive shot-impact crosshairs,
    view-edge clamping, distance-based reticle sizing, hostile/friendly colors,
    and crosshair-aware chasecam presets.
  • Added a complete Procedural Game menu with persistent seeds, themes,
    difficulty and size choices, deterministic replay, one-click random maps, and
    direct single-player launch.
  • Kept Procedural Game accessible when mods such as Brutal Doom replace the
    main menu. Oversized list menus now support mouse-wheel, arrow, Page Up/Down,
    Home, and End navigation.
  • Rebuilt procedural generation around a progression-safe mission graph with
    staged key branches, non-bypassable lock edges, optional limbs, same-stage
    loops, hubs, arenas, outdoor landmarks, and real secret reward rooms.
  • Greatly expanded room variation with eight dimension profiles, five corner
    profiles, multi-cell layouts, varied floors and clear heights, progression
    palettes, semantic accent materials, and role-aware decoration.
  • Rebalanced encounters and supplies with gentler room caps, delayed heavy
    tiers, guaranteed weapon milestones, stronger major-fight ammunition, and
    improved health/armor support.
  • Fixed tall door artwork repeating vertically. Door art is now centered across
    narrow openings and fitted once across high openings.
  • Added a detailed implementation and evaluation paper at
    docs/engine/procedural-generation-research-paper.md.

Downloads

  • Linux: use the AppImage for the simplest portable launch, or the .tar.gz
    package for a conventional extracted directory.
  • Windows x64: extract the MinGW zip and run biaseddoom.exe.
  • A supported IWAD such as DOOM2.WAD is still required.
  • Every binary archive has a matching .sha256 file.

BiasedDoom 4.15.2

Choose a tag to compare

@EricsonWillians EricsonWillians released this 10 Jul 12:04

Manual release built from tag v4.15.2. Includes Linux AppImage, Linux portable tarball, and Windows x64 MinGW portable zip.