SCUMM-style web adventure engine v0.1

Headless, data-driven core (no DOM, no eval): loader with one-pass
validation, verb-coin interaction resolution, polygon walkables with
Dijkstra pathfinding, branching dialogue with mid-conversation saves,
declarative JSON conditions/effects, versioned JSON saves.

Thin integration layer: asset manifest with graceful placeholders,
WebAudio music loop points (midi-playlist convention), canvas renderer
(hotspot boxes drawn where hitTest clicks), HUD model.

Web harness (web/) + skeleton example game exercising every feature.
69 tests (node --test), tools/run_all.sh gate, docs/SPEC.md design spec.
Verified end-to-end in a real browser: intro scene, walking, look/take,
room exits, dialogue choices.
This commit is contained in:
Kevin Hermes committed 2026-10-18 00:29:41 +00:00
1 parent ea0df1d475
commit a4a2348a54
32 files changed
+2849 -1

No files matched your search

+13
View File
@@ -0,0 +1,13 @@
{
"name": "moonlit-engine",
"version": "0.1.0",
"description": "SCUMM-style web adventure engine: data-driven specs, verb interface, dialogue trees, walkable areas, save/load. Engine only — content and assets come later.",
"type": "module",
"license": "MIT",
"scripts": {
"test": "node --test tests/*.test.js",
"validate": "node tools/validate_game.js",
"demo": "python3 -m http.server 8080"
},
"engines": { "node": ">=20" }
}