世代を形作ったコードの保存: Zork I、II、III のオープンソース化

世代を形作ったコードの保存: Zork I、II、III のオープンソース化


現在、私たちは、私たちの心に近い、大切なゲームの歴史の基礎を保存しています。 Microsoft の Open Source Programs Office (OSPO)、​​Team Xbox、Activision が協力して、 ゾークI、 ゾーク II、 そして ゾークIII MIT ライセンスに基づいて利用可能です。私たちの目標はシンプルです。歴史的に重要なコードを生徒、教師、開発者の手に渡し、彼らがコードを研究し、そこから学び、そしておそらく最も重要なことに、コードを再生できるようにすることです。

遊びに対する考え方を変えたゲーム

いつ ゾーク 登場したのは、プレイヤーに勝つことを求めるだけではありませんでした。それは彼らに想像してもらいました。グラフィックス、ジョイスティック、サウンドトラックはなく、画面上の文字とプレイヤーの好奇心だけがありました。しかし、これらの言葉は、当時のほとんどのゲームよりも鮮やかな世界を構築しました。それを可能にしたのは、単に巧みな文章を書いただけではなく、巧みなエンジニアリングでした。

その言葉の世界の下には、静かに革命的なものが存在していました。それは、カスタムビルドのエンジンである Z-Machine です。 Z-Machine は仮想マシンの仕様であり、現在私たちが使用している多くの Z-Machine インタプリタは、その VM のソフトウェア実装です。オリジナルのメインフレーム バージョン ゾーク 初期の家庭用コンピュータでは処理できないほど大きすぎたため、Infocom のチームは現実的な選択を行いました。彼らはそれを 3 つのゲームに分割し、 ゾークI、 ゾーク II、 そして ゾークIII、すべて同じ基盤システムによって動作します。これは、プラットフォームごとにゲームを再構築する代わりに、Z-Machine を使用して同じストーリー ファイルをどのコンピュータでも解釈できることも意味しました。あのデザインが作ったのは ゾーク 真のクロスプラットフォームとなった最初のゲームの 1 つであり、Apple II、IBM PC などで登場します。

オリジナルのゾークトリロジーボックスアート。

歴史の一部を保存する

ゲームの保存にはさまざまな形があり、遊びだけでなく研究も考慮することが重要です。 Zork のソース コードは保存して研究する価値があります。私たちは新しいリポジトリを作成するのではなく、歴史に直接貢献しています。 Internet Archive で有名なデジタル アーキビストである Jason Scott と協力して、私たちは上流のプル リクエストを歴史的ソース リポジトリに正式に送信しました。 ゾークI、 ゾーク II、 そして ゾークIII。これらのプル リクエストには明確な MIT LICENSE が追加され、オープンソースの許可が正式に文書化されます。

各リポジトリには次のものが含まれます。

  • のソースコード ゾークI、 ゾーク II、 そして ゾークⅢ。
  • ビルド ノート、コメント、歴史的に関連するファイルなどの付属ドキュメント (利用可能な場合)。
  • MIT LICENSE.txt およびリポジトリ レベルのメタデータを通じて、ライセンスと帰属を明確にします。

このリリースは純粋にコード自体に焦点を当てています。これには商用パッケージやマーケティング資料は含まれません。また、商標やブランドに対する権利も付与されず、これらの権利はそれぞれの所有者に帰属します。これらのタイトルのソース コードの範囲外にあるすべてのアセットは、歴史的な正確性を維持するために意図的に除外されています。

今日は Zork I ~ III を実行します

それから40年以上が経ち、 ゾーク はまだ健在で、これまでよりも簡単にプレイできます。ゲームは、Good Old Games の The Zork Anthology を通じて引き続き商業的に入手可能です。より実践的なアプローチを好む人は、Tara McGrew が作成した最新の Z-Machine インタプリタである ZILF を使用して、ゲームをローカルでコンパイルして実行できます。 ZILF は、ZIL ファイルを Z3 にコンパイルし、Tara 独自の ZLR で実行できるようにします。これは、私が書くとは思ってもいなかった文であり、ましてや大声で言うつもりはありませんでした。すべてのプラットフォームにわたって、探索できる素晴らしい Z マシン ランナーが多数あります。

ZILF を使用して Zork をローカルで実行し始める方法は次のとおりです。コマンド ラインから、zork1.zil を実行可能な z3 ファイルにコンパイルおよびアセンブリします。

"%ZILF_PATH%\zilf.exe" zork1.zil 

"%ZILF_PATH%\zapf.exe" zork1.zap zork1-ignite.z3

次に、Zmachine ランナーで Z3 ファイルを実行します。私は、Stefan Jokisch の Frotz コアに基づいた David Kinder の Windows Frotz を使用しています。

Windows Frotz での Zork プロンプト。

あるいは、あなたが私と同じような一定の年齢であれば、ターミナルに CRT フィルターを適用し、Python で書かれた Matthew Darby の「Fic」のような Zmachine の CLI 実装を使用することもできます。

CRT フィルターを備えたターミナルで Zork が実行されています。

旅を続ける

既存の履歴リポジトリを正規のホームとして使用します。 ゾークのソース。最初のプル リクエストが MIT ライセンスに基づいて取得されると、貢献が歓迎されます。私たちが MIT を選んだのは、コードの研究、指導、構築が容易なため、そのシンプルさとオープンさからです。問題をファイルし、洞察を共有し、他の人が元の設計から学ぶのに役立つ、十分に文書化された小さな改善を提出します。目的は近代化ではない ゾーク しかし、それは探検と教育のための空間として保存するためです。

ゾーク 常にゲーム以上のものでした。これは、想像力とエンジニアリングがハードウェアやプレーヤーの世代を超えて存続できることを思い出させてくれます。このコードを公開することは、私たちがまだ探索中の世界を発明してくれた元の Infocom の作成者、数十年にわたる管理とパートナーシップを提供してくれたジェイソン スコットとインターネット アーカイブ、そしてオープン ソースの実現に貢献した Microsoft OSPO、Xbox、Activision の同僚たちに対するお祝いであり、感謝の気持ちでもあります。





Source link

Postagens Similares

  • البحث مكسور – كيف كويرك

    19 يونيو 2026 | 2 دقيقة قراءة كنت أستمع إلى Late Night Linux 390 أثناء مسائي الذي كنت أسير فيه مع الكلاب الليلة، وكانوا يتحدثون عن (من بين أمور أخرى) بحث Kagi. لقد قمت بتجريب Kagi بنفسي، لكني ألغيت اشتراكي في النهاية لأنني لم أر حقًا أي فائدة من دفع ثمنه بينما يمكنني الحصول على…

  • పోడ్‌కాస్ట్ ఎలా చేయాలి

    నా 4 (!) పాడ్‌క్యాస్ట్‌ల ద్వారా నేను చాలా సంవత్సరాలుగా పోడ్‌కాస్టింగ్‌పై చాలా అభిప్రాయాలను ఏర్పరచుకున్నాను. వాటిలో కొన్ని ఇక్కడ ఉన్నాయి. మా కాలంలోని రెండు అవుట్‌లియర్ పాడ్‌క్యాస్ట్‌లు ద్వారకేష్ మరియు TBPN, మరియు నేను వాటి యొక్క నా మానసిక నమూనాను ఒక ప్రత్యేక పోస్ట్‌లో వివరిస్తాను – ప్రాథమికంగా మెక్‌క్లస్కీ కర్వ్ వర్తించబడుతుంది. కింది సలహా “సగటు” పోడ్‌కాస్ట్ బాగా చేయాలని నేను గట్టిగా విశ్వసిస్తున్నాను కానీ పూర్తి సమయం టాప్ టైర్ ఇన్‌ఫ్లుయెన్సర్…

  • Arsipkan atau Hapus? | Kev Keunikan

    📅 06 November 2025 | ⏱️ ~2 menit membaca oleh Chris Coyier Terkait email, apakah Anda seorang pengarsip atau penghapus? Chris berbicara tentang pendekatannya, dan beberapa hal yang dilakukan orang lain. Saya pikir saya akan menambahkan pendekatan saya ke tumpukan. Baca Postingan 👉🏻 Kalau soal email, saya sangat anal. Saya termasuk orang yang tidak punya…

  • Sisi ni Marafiki wa Knot || Hisabati ∩ Kupanga

    Ni Aprili Poa tena. Kwa majira machache ya kiangazi katika shule ya upili na ya chini, nilikuwa mshauri wa kambi ya siku. Nimeandika hapo awali kuhusu jinsi ilivyonisaidia kukuza ustadi wa kusimulia hadithi, lakini hivi majuzi nilifikiria tena kwa sababu, nilipokuwa nikisafisha kabati lililojaa takataka kuukuu, nilipata begi la uzi wa kudarizi. Wakati stereotypically kutumika…

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *