-
Notifications
You must be signed in to change notification settings - Fork 1
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.
| 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_track ↔ battle_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. |
-
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
IsAbovePlayerreturning 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.
Multiplayer, the Legends of Aranna expansion, mod loader, launcher integration. Out of scope until v1.0 ships.