Timaflakkarinn - Icelandic history adventure game
  • Python 78.2%
  • HTML 21.8%
Find a file
hthor213 f769a7befa Tímaflakkarinn — web recreation, archival mirror and project docs
Tímaflakkarinn (Dímon) shipped in 1998, with a v1.1 in 1999. This repository is
the canonical home of the project to recreate it as a web app.

CONTENTS

Archival mirror (web_import/) — a derivative capture of the deployed prototype
at https://835c0363.timaflakkarinn.pages.dev, taken 2026-07-25 UTC: the six
chapter GML files, scene.dtd, the application shell, the bundle
index-CXa83YST.js, and 1213 media assets under GAME/ tracked in Git LFS.

Asset paths were derived from the file= attributes in the GML and passed through
the engine's own resolvePath() as read from the deployed bundle, not guessed.
Every file was validated against the Cloudflare Pages SPA fallback (which
returns HTTP 200 with index.html for missing paths) and against PNG/RIFF-WAVE
magic bytes; failures were retried once, and files that failed validation were
never written, so no HTML masquerades as a .PNG or .WAV here.

The two mouse cursors, GAME/COMMON/BENDILL1.PNG and BENDILL2.PNG, were recovered
separately on 2026-07-26. They are hardcoded in the engine constructor rather
than referenced from any .gml, so a file list derived from file= attributes
could not see them; because index.html sets `cursor: none`, the game rendered no
pointer at all. Both were fetched from the same deployment and validated as
30x30 PNGs.

Four assets are referenced by the game but absent from the deployment and could
not be recovered — one of them only from a commented-out declaration. See
web_import/PROVENANCE.md.

Documentation (docs/) — engine-and-gml.md describes how the current web engine
implements GML: runtime and chapter model, asset path resolution (DOS 8.3 short
names, chroma-keyed transparency, non-fatal image loads), the object model, the
Sequence/Quantum control flow, and the verb and interaction system.
project-state.md records what was verified and what is open, worst first: no
engine source in the repository, the unimplemented GuessQuantum that likely
soft-locks the Völva puzzle, absent save/load, the missing voice lines, and a
typo'd quantum reference at landnam.gml:3028. ownership-and-provenance.md
records who owns the work and the intent to open source it.
git-hosting-decision.md records why the project self-hosts on Forgejo.

Tooling (tools/) — lint_gml.py checks the chapters against the engine's real
behaviour rather than the DTD, which is why it reports 5 problems where a naive
pass reports 715: action_* are engine built-ins, auto-created states are a
deliberate idiom, and most apparent violations sit inside XML comments.

PROVENANCE

GML is an XML format the original team developed to describe the gameplay, and
it shipped readable on the CD along with the media. Halldór started this project
from the CD, reverse-engineering the underlying engine and building on those
open assets; the original Java engine is lost.

The files under web_import/ are a derivative capture rather than original
masters — they have been through a build and deployment pipeline and may have
been re-encoded, renamed or path-normalised. Two primary sources sit upstream
and take precedence where they disagree: the original CD-ROM ISO, and the engine
source, present here only as a minified build artifact. Both are inputs to this
repository rather than replacements for it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-26 18:34:22 -07:00
docs Tímaflakkarinn — web recreation, archival mirror and project docs 2026-07-26 18:34:22 -07:00
tools Tímaflakkarinn — web recreation, archival mirror and project docs 2026-07-26 18:34:22 -07:00
web_import Tímaflakkarinn — web recreation, archival mirror and project docs 2026-07-26 18:34:22 -07:00
.gitattributes Tímaflakkarinn — web recreation, archival mirror and project docs 2026-07-26 18:34:22 -07:00
.gitignore Tímaflakkarinn — web recreation, archival mirror and project docs 2026-07-26 18:34:22 -07:00