Skip to content

ZORKERB r29

Choose a tag to compare

@Meistertech-JP Meistertech-JP released this 31 Oct 20:55
· 5 commits to main since this release

ZORKERB r29 は、Infocom の『ZORK I: The Great Underground Empire』(Release 119 / Serial 880429)を eraBASIC(ERB・ERH・CSV)で書き直した移植版の、最初の公開版です。

ZORKERB r29 is the first public release of a port of Infocom's ZORK I: The Great Underground Empire (Release 119 / Serial 880429) to eraBASIC (ERB, ERH and CSV).

日本語

概要

  • 原典は、Microsoft が MIT License で公開している historicalsource/zork1(コミット 97b7b3d68c075dd9af7da499c3e9690ada3471fd)の ZIL ソースです。
  • ゲームの処理はすべて ERB で書かれています。
  • 構文解析には、原作 story の辞書(684語)と構文表(267行)を使います。
  • 乱数は原作と同じ箇所・同じ順序で引きます。
  • 原作の文章をそのまま表示します。
  • 実行時に Z-machine の解釈系や原作の story ファイルは使いません。

ZORKERB は非公式の移植版です。Infocom、Microsoft、Emuera の作者による公式版ではなく、これらの承認を受けたものでもありません。

起動

ZORKERB-r29.zip を新しいフォルダーへ展開し、そのフォルダーで次のように実行します。Python 3.10 以上が必要です。

python PyEmuera-3.0.0b2.pyz .

タイトル画面で 0 を入力すると新しいゲームが始まります。

動作環境

  • 同梱の PyEmuera 3.0.0b2(未改変、SHA-256 8473b250080ba678e05b4f484fcc6790f96614c2e9a7aaab077ab379e05f4bcb)と Python 3.10 以上
  • Emuera 1.824(Windows)では、起動と序盤の操作を確認しています。

検証

PyEmuera 3.0.0b2(Linux x86_64、Python 3.13)で次を確認しました。

項目 結果
全回帰試験 1,596件中1,596件 PASS
原作との比較(乱数列を揃えたもの) 801件中799件で文章・状態が一致。残る2件は原作の解釈系が停止する経路
原作との手ごとの比較 10,324手中10,320手が厳密に一致。2手はセーブ時のファイル名入力の違い、2手は120文字を超える入力
全経路の比較 557手すべて一致
通常の入力だけの完走 350点・613手で終幕に到達

Emuera 1.824(Windows)では、起動と序盤5手の応答を確認し、原作と一致しました。回帰試験と原作との比較は PyEmuera で行っています。

既知の制限

  • 原作の表示が解釈系に依存する経路(120文字を超える入力行、物体0を指す IT への操作、目的語なしの SWIM)では、原作と同じ表示になりません。
  • PyEmuera を端末で対話的に使うと、ゲームの > と PyEmuera の入力欄の > が重なって表示されます。
  • セーブ形式は29です。以前の開発版のセーブと、原作の Quetzal セーブは読み込めません。

添付ファイル

ファイル SHA-256
ZORKERB-r29.zip 05a42aebd87c7959f78f4cd859e9b1db946d71949a3bc41310ebd9edfbced677
SHA256SUMS.txt 上のファイルの SHA-256

GitHub が自動で作る「Source code」のアーカイブはリポジトリの内容です。検証済みの配布物は ZORKERB-r29.zip です。

ライセンス

  • ZORKERB:MIT License、Copyright (c) 2026 Meistertech-JP
  • 原作 Zork I のソースと文章:MIT License、Copyright (c) 2025 Microsoft
  • 同梱の PyEmuera:MIT License(Copyright (c) 2026 PyEmuera contributors)。Emuera 由来の部分などは、それぞれの条件に従います。

MIT License は商標の使用を許諾するものではありません。「Zork」「Infocom」などの名称は、それぞれの権利者の商標である場合があります。詳細は THIRD_PARTY_NOTICES.md を参照してください。

English

Overview

  • The port is based on the ZIL source that Microsoft released under the MIT License: historicalsource/zork1, commit 97b7b3d68c075dd9af7da499c3e9690ada3471fd.
  • All game logic is written in ERB.
  • The parser uses the original story's dictionary (684 words) and syntax table (267 lines).
  • Random numbers are drawn at the same points and in the same order as in the original.
  • The original text is printed unchanged.
  • No Z-machine interpreter or original story file is used at run time.

ZORKERB is an unofficial port. It is not an official release of, or endorsed by, Infocom, Microsoft or the authors of Emuera.

Running

Extract ZORKERB-r29.zip into a new folder and run the following in that folder. Python 3.10 or later is required.

python PyEmuera-3.0.0b2.pyz .

Enter 0 on the title screen to start a new game.

Requirements

  • The included PyEmuera 3.0.0b2 (unmodified, SHA-256 8473b250080ba678e05b4f484fcc6790f96614c2e9a7aaab077ab379e05f4bcb) and Python 3.10 or later
  • On Emuera 1.824 (Windows), start-up and the first moves have been checked.

Verification

The following were confirmed under PyEmuera 3.0.0b2 (Linux x86_64, Python 3.13):

Check Result
Full regression suite 1,596 of 1,596 cases pass
Comparison with the original (random sequence aligned) Text and state agree in 799 of 801 cases; the other 2 are paths where the original interpreter stops
Step-by-step comparison with the original 10,320 of 10,324 steps exactly equal; 2 differ only in the save file-name prompt, 2 are inputs over 120 characters
Full-route comparison All 557 steps equal
Complete game with ordinary input Ending reached with 350 points in 613 moves

On Emuera 1.824 (Windows), start-up and the responses to the first five moves were observed and matched the original. The regression tests and the comparisons with the original were run under PyEmuera.

Known limitations

  • Where the original's output depends on the interpreter, the port does not print the same text. That covers input lines over 120 characters, actions on IT when IT refers to object 0, and SWIM without an object.
  • With PyEmuera in an interactive terminal, the game's > and PyEmuera's > input line appear together.
  • The save format is version 29. Saves from earlier development revisions and the original game's Quetzal saves cannot be restored.

Attached files

File SHA-256
ZORKERB-r29.zip 05a42aebd87c7959f78f4cd859e9b1db946d71949a3bc41310ebd9edfbced677
SHA256SUMS.txt SHA-256 of the file above

The "Source code" archives that GitHub generates contain the repository. The verified distribution is ZORKERB-r29.zip.

License

  • ZORKERB: MIT License, Copyright (c) 2026 Meistertech-JP
  • Original Zork I source and text: MIT License, Copyright (c) 2025 Microsoft
  • Included PyEmuera: MIT License (Copyright (c) 2026 PyEmuera contributors); Emuera-derived and other parts keep their own terms

The MIT License does not grant trademark rights. Names such as "Zork" and "Infocom" may be trademarks of their respective owners. See THIRD_PARTY_NOTICES.md.