Skip to content
codingncaffeine edited this page May 15, 2026 · 4 revisions

Status

Current tag: v0.15.0 (NPCs / dialogue / quests / vendors). Phase 21 polish in progress; Phase 22–24 (music, options menu, main menu) shipped; SC-SPELL-VISUAL slices A–H + sphere shipped (56/0/5 audit: every offensive spell renders, 5 sound-only stubs DS1 itself authored). Latest: cross-region nav stitching (basements / cellars / caves / dungeons reachable from connected surface regions, 2026-05-14) + quest catalog resync against shipped quests.gas (2026-05-15).

Playable across the world. Farmboy spawns in fh_r1, click-to-move and click-to-attack route through the live nav mesh — and now through cross-SNO / cross-region seams stitched from each region's authored editor/stitch_helper.gas, so the player can walk into basements, cellars, caves, and dungeons. Equipped weapons render on the hand bone, the HUD draws DS1 bitmap-font text, HP/MP bars derive from STR/DEX/INT, the inventory toggle (I) opens an 8×5 grid, Esc opens a pause menu, Q/W cast the slotted spells with per-element tinting (fireball orange, iceshard cyan, zap blue) plus 3D positional audio, and F5/F9 quicksave/quickload restore the world losslessly. RMB on a say-tree NPC opens a branching dialogue panel; quests journal and persist across saves with canonical journal text mined from DS1's quests.gas (preserved typos and all); vendors stock and trade for gold dropped by enemies.

The boot path is now a double-clickable single-file .exe: Microsoft splash → GPG splash → Bink-stub fade → animated "Dungeon Siege" sword-drop logo → seven-button main menu → in-game. Music streams 131 mp3 tracks with mood-driven battle-track flips. The character creator picks gender / head / face / hair / shirt / pants over a live 3D preview. Region events (chimneys, fires, river / waterfall / foam, the farmhouse mill turning) all run through the same sfx_script VM as spell casts. Breakable barrels shatter into per-material frag debris (wood / stone / clay), drop loot at DS1's authored ~62/35/3 empty/gold/potion distribution, and play shipped per-material break sounds.

What works at v0.15.0

Subsystem State
Tank reader (.dsres / .dsmap) List + extract
Texture pipeline (.raw → bitmap) Working
GAS parser Hierarchical templates + configs
Static meshes (.sno terrain, .asp mesh) On screen
World streaming Walk across connected SNO nodes
Skeletal animation (.prs keyframes) Working
Skrit VM Interprets shipped .skrit
Actor system + GAS spawn 181 actors per region (krug/phrak/gremal/chicken/skrubb — 17 archetypes)
Pathfinding + nav A* on SNO walkable surfaces
Combat + stats HP/MP/armor from templates; melee + spell damage; loot drops
Player character + input RMB target / LMB move; camera follow
Inventory + items Grid inventory, equip slots, pickup
UI / HUD Bitmap font, HP/MP bars, inventory, pause menu
Spells Two-slot hotbar, mana drain, cooldowns, projectile + heal; sfx_script VM renders 14 of 16 catalog primitive kinds (cylinder/sray/fireb/orbiter/trackball/lightsource/curve/glow halos plus core fire/smoke/lightning/explosion/sparkles/flurry); see Auditing the Spell Catalog
Water + waterfall animation (SC-TSD-ANIM) Data-driven from per-texture TSD .gas sidecars (3,318 records). Frame-cycle river surfaces, multi-layer foam recipes (wheelfall, fall-bottom-static, fall-mist-08x08-static, rvr_static, broken-bridge-fall) blend the canonical _dynamic overlay at vshift 0.5/sec under modulate2x; mist drifts up at -0.20. Two-pass region draw + glPolygonOffset keeps foam from being depth-fought by adjacent plain-water tiles. CLI: siegefx tsd dump <Terrain.dsres>.
XP / leveling Per-damage XP + kill bonus, auto-grow STR/DEX/INT
Audio OpenAL Soft 3D positional — cast/swing/hit/death/level-up cues
Music (Phase 22-SC-MUSIC) 131 mp3 tracks streamed via NLayer → OpenAL; mood-driven standard_trackbattle_track flips with 3s disengagement timeout; sample-continuous looping
Save / load F5/F9 quicksave; JSON schema, atomic write, schema versioned (current v9)
Options menu (Phase 23) F10 modal with Video / Audio / Input / Game tabs; audio sliders apply live; most other knobs persist-only until SC-OPTIONS-VIDEO-RUNTIME / SC-OPTIONS-PERSIST land
Main menu (Phase 24) Single-file .exe boots splash → GPG → Bink-stub → animated logo → seven-button menu; --noVideo skips intros
Character creator (Phase 29-CD-CREATOR) Gender / head / face / hair / shirt / pants over live 3D preview; name + variant axes round-trip through quicksave
HUD data bar (Phase 22-A SC-HUD-DATABAR) DS1's always-on bottom-row button strip: pause/play, HP/MP potion, labels, megamap, journal, menu — with quest-update pulse on the journal icon
Breakable props (Phase 21-SC-BARREL) 1,850 placements / 1,429 with pcontent / 9,402 frag entries / 199 templates with resolved break sounds across 81 regions
Cross-region nav stitch (SC-NAV-CROSS-SNO-STITCH) Intra-region doors from nodes.gas + cross-region doors from stitch_helper.gas wired into NavMesh adjacency. Player can walk into basement / cellar / cave / dungeon regions through any authored seam.
Quest catalog (SC-QUEST-OBJ-A through F-RESYNC) All 25 SP + 4 MP quest keys authored in DS1's quests.gas are catalogued with canonical ScreenName + stage-0 description text. Audit siegefx quests audit World.dsmap reports 32 catalog rows / 29 dialogue-covered / 0 MISSING / 3 expected ORPHAN.

What's queued

  • Phase 21 — Content integration + polish → v1.0. In flight. SC-SPELL-VISUAL slices A–H + sphere shipped (56 COVERED / 0 PARTIAL / 5 UNCOVERED — the 5 are sound-only stubs DS1 itself authored as TODOs). Open work: underground-layer cutaway / overhead camera (DS1's Sims-style upper-layer-hide when in a basement region — mechanism still under investigation, plumbing parked behind IsAbovePlayer returning false), stair waypoint over-segmentation (zigzag descending stairs), and the Farmhouse → Castle Ehb end-to-end playtest. Full breakdown in Phase 20 and v1.0 Polish Plan.

What's deferred past v1.0

Multiplayer, the Legends of Aranna expansion, mod loader, launcher integration. Out of scope until v1.0 ships.

Clone this wiki locally