Repository navigation
ZORKERB r29
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.