Skip to content

Releases

PyEmuera 3.0.0

Choose a tag to compare

@Meistertech-JP Meistertech-JP released this 09 Nov 13:30

PyEmuera 3.0.0

PyEmuera — Python Emulator of Emuera, the Emulator of eramaker.

PyEmuera は、Emuera 用のバリアント(ERB・CSVで作られたゲーム)を文字だけの画面で動かす、Python製の独立した高互換実装です。バリアントのファイルを書き換えずに読み込めます。互換性の参照対象は Emuera1824+v24 です。

複数のバリアントの固定入力経路で、Beta 3比26.7~35.0%の実行時間短縮と、入力応答の改善を確認しました。Windows 10・Python 3.12.10で交互に実行し、ウォームアップを除外した後の実行時間の中央値を比較しています。本家仕様へ合わせる互換修正を含む版全体の比較で、効果はバリアントや経路によって異なります。

ダウンロードと起動

Python 3.10以上をインストールし、PyEmuera-3.0.0-runtime.zipを展開してください。通常のバリアントは、ERBとCSVが入ったフォルダーを指定して起動します。

python PyEmuera.pyz "バリアントフォルダー"

Windowsでは、バリアントフォルダーをStart_PyEmuera.batへドラッグ&ドロップできます。Linuxでは必要に応じてpython3を使ってください。

散歩帳とZORKERB r29も同梱しています。例として次を実行できます。

python PyEmuera.pyz ZORKERB
python PyEmuera.pyz sample --inputs sample/replay.txt --no-wait

ソース・テスト・ビルド手順はPyEmuera-3.0.0-source.zip、単独のエンジンはPyEmuera-3.0.0.pyzです。ZIP内の起動対象名はPyEmuera.pyzです。SHA-256はSHA256-public.txtで確認できます。

対応範囲

画像・音声・マウス操作・本家GUIのフォント描画は扱いません。端末自体のフォント設定は利用できます。完全互換を保証するものではありません。規模の大きいバリアントでは、起動や初回の初期化に時間がかかることがあります。リアルタイム性の高いバリアントでは、本家と同じ更新テンポに届かない場合があります。測定条件、入力応答、対応範囲はソースZIPのREADME_ja.mdとCOMPATIBILITY_ja.md、実行用ZIPのKNOWN_ISSUES_ja.txtを参照してください。


English

PyEmuera is an independent Python implementation that runs Emuera game variants in a text terminal, generally without modifying their ERB/CSV files. Its compatibility reference is Emuera1824+v24.

Across fixed input routes, median execution time fell by 26.7–35.0% compared with Beta 3, with improved input response times. The measurements used Windows 10 and Python 3.12.10, alternating execution order and comparing median execution times after excluding warmup runs. This compares the complete releases, including corrections toward original Emuera behavior. Results depend on the variant and route.

Install Python 3.10 or later, extract PyEmuera-3.0.0-runtime.zip, and run your variant folder:

python PyEmuera.pyz "path/to/variant"

On Windows, you can drag the variant folder onto Start_PyEmuera.bat. On Linux, use python3 if needed. The bundled ZORKERB and sample folders are optional examples. Source code, tests, and build instructions are in PyEmuera-3.0.0-source.zip; checksums are in SHA256-public.txt.

Images, audio, mouse input, and rendering by Emuera's GUI are out of scope. Complete compatibility is not guaranteed. Large variants may take time to start or complete their initial setup. Variants with demanding real-time behavior may not reach the original engine's update tempo. See the included compatibility and known-issues documents for details.

PyEmuera 3.0.0 Beta 3

Choose a tag to compare

@Meistertech-JP Meistertech-JP released this 31 Oct 21:40

PyEmuera 3.0.0 Beta 3

PyEmuera は、Emuera 用バリアントを文字ベースのターミナルで動かす Python 製の独立した互換エンジンです。参照対象は Emuera1824+v24 です。

Beta 3 の変更

  • Zork I の非公式 ERB 移植 ZORKERB r29 を、ぱみゅーら散歩帳と並ぶサンプルとして同梱しました。ZORKERB は Zork の移植を目指す独立プロジェクトで、この版が対応するのは Zork I です。
  • 入力は英語です。Z-machine や Frotz を別途用意する必要はありません。ZORKERB と原作に関するライセンス・商標表示は同梱の ZORKERB フォルダー内をご覧ください。
  • エンジンの実行ロジックは Beta 2 から変更していません。

ダウンロードと起動

PyEmuera-3.0.0b3-runtime.zip を展開し、Python 3.10 以上を用意してください。

お手持ちのバリアントを遊ぶ場合は、ERB・CSV が入ったバリアントフォルダーを指定します。バリアントは別途用意してください。

Windows では、バリアントフォルダーを Start_PyEmuera.bat にドラッグ&ドロップして起動できます。コマンドから起動する場合は、展開したフォルダーで次のように実行してください。

python PyEmuera.pyz "バリアントフォルダーのパス"

同梱サンプルを遊ぶ場合は、ZORKERB または sample を指定します。Windows では、それぞれのフォルダーを Start_PyEmuera.bat にドラッグ&ドロップすることもできます。

python PyEmuera.pyz ZORKERB
python PyEmuera.pyz sample

Linux 等では、必要に応じて python の代わりに python3 を使用してください。

PyEmuera-3.0.0b3-source.zip にはソース・テスト・ビルド手順、PyEmuera-3.0.0b3.pyz には単独エンジン、SHA256-public.txt には配布ファイルのSHA-256を収録しています。

本家 GUI の画像・音声・マウス操作・フォント描画は対象外です。すべてのバリアントや環境での完全互換性を保証するものではありません。詳細は同梱の KNOWN_ISSUES_ja.txt と HOW_TO_USE_ja.txt を参照してください。

PyEmuera 3.0.0 Beta 2

Choose a tag to compare

@Meistertech-JP Meistertech-JP released this 28 Oct 14:16

PyEmuera 3.0.0 Beta 2

PyEmuera(ぱみゅーら)は、Emuera1824+v24を参照して開発された、ERB・ERH・CSVのゲームを文字ベースのターミナルで実行するPython製互換エンジンです。本家Emueraの公式版ではありません。

Beta 2 の主な変更

  • Windows以外の文字列比較を改善:同梱の固定Windows 10・ja-JP・NLS 0x60305プロファイルにおいて、保存された.NET Framework実測の古ハングル/Jamo比較36,864方向すべてと一致しました。
  • 直接比較と単独SortKeyの違い、ARRAYSORT/ARRAYMSORTの比較手順を維持しています。
  • Windows用の起動バッチを改善し、py.cmd経由の起動で制御が戻らない場合に対応しました。
  • 実行用ZIPとソース・テスト用ZIPを分離し、各配布物にファイル別SHA-256一覧を同梱しました。
  • 文書の重複を整理し、使い方・互換性・開発手順の案内を更新しました。

ダウンロード

  • PyEmuera-3.0.0b2-runtime.zip — ゲームを実行する方向け。展開して Start_PyEmuera.bat(Windows)または python3 PyEmuera.pyz(Linux等)を使用します。
  • PyEmuera-3.0.0b2-source.zip — ソースコード、単体テスト、ビルド・検証用ツールを含みます。
  • PyEmuera-3.0.0b2.pyz — 単体のPython zipappです。別途Python 3.10以上が必要です。
  • SHA256-public.txt — 上記3ファイルのSHA-256一覧です。

Python本体とゲームのバリアントは同梱していません。Pythonの実行時依存は標準ライブラリのみです。

検証と対応範囲

Windows 10およびLinux x86_64環境で互換性試験と単体テストを実施しています。固定された古ハングル/Jamo比較36,864方向を含む保存済み.NET Frameworkの比較データと照合し、対象集合で新たな不一致は確認されていません。

本家GUIの画像・音声・マウス操作・フォント描画は対象外です。すべてのERBゲーム、すべてのUnicode文字列、ほかのWindows/NLSバージョンでの完全互換性を保証するものではありません。制限は配布物の KNOWN_ISSUES_ja.txt とソースの COMPATIBILITY_ja.md を参照してください。

詳細な使い方は実行用ZIPの HOW_TO_USE_ja.txt に記載しています。

SHA-256

b98aedfbce65e7ca501de0838f9d6690785075381d7fcfeb14a71e4c209528d8  PyEmuera-3.0.0b2-runtime.zip
2d6eb97139e7ce57d92c124d5e19105429690d2f3d97dc50f912782b115a16e1  PyEmuera-3.0.0b2-source.zip
8473b250080ba678e05b4f484fcc6790f96614c2e9a7aaab077ab379e05f4bcb  PyEmuera-3.0.0b2.pyz

PyEmuera 3.0.0 Beta 1

PyEmuera 3.0.0 Beta 1 Pre-release
Pre-release

Choose a tag to compare

@Meistertech-JP Meistertech-JP released this 16 Oct 02:20

PyEmuera 3.0.0 Beta 1 (v3.0.0b1)

🇯🇵 日本語

概要

PyEmuera、初のオープンソース公開です!

PyEmueraは、本家Emuera1824+v24向けのバリアント(ERB・CSV・ERH形式)を、Python環境の文字画面上で実行するための独立した高互換インタプリタです。既存のバリアントを原則として無改変で読み込み、WindowsやLinuxなどの環境で実行できます。

Emuera専用バリアントが動くeramakerだと思ってください。

本家Emueraの公式版ではありません。現在はパブリックベータ版であり、すべてのバリアントの動作や完全な互換性を保証するものではありません。

特徴と改善点

本家Emueraとの互換性

本家Emuera1824+v24のソースコードや実行結果を参照し、命令の評価順序、副作用、文字列処理、保存・読み込みなどの互換性を重視して実装しています。

開発過程では複数の実バリアントを検証しました。代表例として、『東方触手宮 Ver1.18.2修正版』では、開発版r16を使用し、Windows実機で新規開始から17日目の脱出エンディングまで到達しました。これは開発版での確認実績であり、Beta 1で同じ経路を再実行した結果ではありません。

文字列ソート互換性(r50)

ARRAYSORTでは、Windowsの日本語照合規則と.NET Framework相当のソート処理の再現を進め、本家Emueraの保存済み実測38条件(6条件+追加32条件)で、出力と並び順の一致を確認しています。すべての文字列での完全一致を保証するものではありません。

配布・互換性改善(r51/Beta 1)

  • Pythonソースコード・単体テスト・検証データ・ビルドスクリプトの公開
  • 通常のpipインストールで照合データが欠落する問題の修正
  • Python 3.14でのテスト互換性改善
  • OUTPUTLOGのI/O例外処理の修正
  • 診断レポート生成状況の表示改善
  • ERB・ERH・CSVの物理行分割処理の修正
  • Windows用起動バッチと導入ガイドの整備

動作環境

  • Python 3.10以上
  • 文字表示・入力が可能なターミナル

実行時にはPython標準ライブラリのみを使用し、追加のPythonランタイムライブラリや.NET Frameworkは不要です。開発・全単体テストにはPython 3.11以上が必要です。

Windows 10とLinuxに確認実績があります。これらは開発過程の測定を含み、Beta 1ですべての環境を再試験したものではありません。Pythonとターミナルが存在するだけで、あらゆる環境・バリアントの動作を保証するものではなく、プラットフォーム固有の入力処理・端末制御などに制限があり得ます。

その他の環境

Windows 11も動作対象ですが、十分な実機検証は完了していません。
PyEmueraはPython標準ライブラリのみで動作するため、macOSやAndroid(Termuxなど)でも、Python 3.10以上と適切なターミナルが利用できれば動作する可能性があります。
ただし、macOS・Androidでの実機検証はまだ行っていません。起動・入出力・互換性を保証するものではありません。
これらの環境での動作報告も歓迎します。

TermuxはAndroid上の実行環境の例です。PyEmueraをAndroidネイティブアプリとして提供しているという意味ではありません。

始め方

ReleaseのAssetsから PyEmuera-3.0.0b1.zip をダウンロードし、全体を展開してください。実行用pyz、Windows用起動バッチ、日本語の使い方ガイド、サンプル、ソースコード、テストが同梱されています。

GitHubが自動生成する Source code (zip) は、一般利用者向けのこのZIPとは別のソースアーカイブです。Python本体は別途用意してください。

Windowsでは、展開後にバリアントフォルダーを Start_PyEmuera.bat へドラッグ&ドロップして起動できます。Linuxなどでは、展開先のターミナルから実行します。

python PyEmuera.pyz "バリアントフォルダー"

環境に応じて python を python3 へ読み替えてください。このコマンドのmacOS・Androidでの正常動作は実機確認していません。

同梱の独立サンプル 「ぱみゅーら散歩帳」 もお試しください。

python PyEmuera.pyz sample --inputs sample/replay.txt --no-wait

詳細はZIP内の HOW_TO_USE_ja.txt と、最新の日本語README(main)をご覧ください。

既知の制限

  • 画像・音声・マウス操作は非対応です。
  • 本家GUI固有のフォント描画・ピクセル単位の配置は非対応です。端末そのもののフォント設定は利用できます。
  • EE/EMなどの拡張版専用機能は対象外です。
  • 非Windows環境の一部Old Hangul/Jamo文字列でソート結果が本家と異なる場合があります。
  • すべてのバリアント・全分岐の完全動作は保証しません。

詳細は互換性資料と既知の制限をご覧ください。

ライセンス・不具合報告

PyEmuera本体はMITライセンスで公開しています。本家Emueraのソースコードを研究してPythonで再実装した部分を含み、クリーンルーム実装ではありません。第三者由来のコード・資料・データには、それぞれのライセンスと利用条件が適用されます。第三者の権利表示と、末尾のSFMT参照元の許諾表示もご確認ください。

不具合報告はGitHub Issuesで受け付けます。PyEmueraのバージョン、OS・ターミナル・Pythonのバージョン、バリアント名とバージョン、再現手順、期待した結果と実際の結果、エラーメッセージを添えてください。

個人情報、認証情報、私的なセーブデータ、権利者の許可なく再配布できないバリアント本文などを無断で投稿しないでください。


🇬🇧 English

Overview

PyEmuera's first open-source release is here!

PyEmuera is an independent, high-compatibility Python interpreter for variants written for Emuera1824+v24 in ERB, CSV, and ERH format. It runs them in a text terminal on platforms such as Windows and Linux, generally without modifying the variant files.

Think of it as an eramaker that can run Emuera-specific variants.

This is not an official Emuera build. It is a public beta and does not guarantee complete compatibility or successful operation of every variant.

Features and Improvements

Compatibility with the original Emuera

The implementation refers to the source code and observed behavior of Emuera1824+v24, focusing on compatibility in evaluation order, side effects, string handling, and saving/loading.

Multiple real variants were tested during development. For example, development revision r16 reached the day-17 escape ending from a new game in 東方触手宮 Ver1.18.2修正版 on an actual Windows machine. This is a development-history result; the same route was not rerun on Beta 1.

String sorting compatibility (r50)

ARRAYSORT reproduces Windows Japanese collation and .NET Framework-equivalent sorting procedures. Output and ordering matched 38 saved measurement conditions from the original Emuera (6 initial conditions plus 32 additional conditions). This does not guarantee identical results for every string.

Distribution and compatibility improvements (r51 / Beta 1)

  • Published Python source code, unit tests, verification data, and build scripts
  • Fixed missing collation data in regular pip installations
  • Improved test compatibility with Python 3.14
  • Fixed I/O exception handling in OUTPUTLOG
  • Improved reporting of whether diagnostic reports were generated
  • Fixed physical-line splitting for ERB, ERH, and CSV files
  • Prepared Windows launchers and setup guides

System Requirements

  • Python 3.10 or later
  • A terminal capable of text display and input

At runtime, PyEmuera uses only the Python standard library. No additional Python runtime libraries or .NET Framework are required. Development and the full unit test suite require Python 3.11 or later.

Windows 10 and Linux have been tested during development. This history does not represent a full Beta 1 rerun on every environment. Having Python and a terminal alone does not guarantee operation on every platform or with every variant; platform-specific input handling and terminal control may have limitations.

Other platforms

Windows 11 is a target platform, but extensive testing on actual Windows 11 systems has not yet been completed.
Because PyEmuera uses only the Python standard library, it may also run on macOS and Android environments such as Termux, provided Python 3.10 or later and a suitable terminal are available.
However, macOS and Android have not yet been tested. Successful startup, input/output handling, and compatibility on these platforms are not guaranteed.
Feedback and test reports from these environments are welcome.

Termux is an example of an execution environment on Android. PyEmuera is not being distributed as a native Android app.

Getting Started

Download PyEmuera-3.0.0b1.zip from this release's Assets and extract the entire archive. It includes the executable pyz, Windows launchers, a Japanese user guide, a sample, source code, and tests.

GitHub's automatically generated Source code (zip) is a separate source archive, not the distribution intended for normal use. Install Python separately.

On Windows, drag the variant directory onto Start_PyEmuera.bat after extraction. On Linux and similar environments, run this from a terminal in the extracted directory:

python PyEmuera.pyz "path/to/variant"

Use python3 instead of python if appropriate for your environment. This command has not been verified on actual macOS or Android systems.

Try the bundled independent sample, 「ぱみゅーら散歩帳」 (Pamyura's Walking Journal):

python PyEmuera.pyz sample --inputs sample/replay.txt --no-wait

See HOW_TO_USE_ja.txt in the ZIP and the latest English README on main for further guidance.

Known Limitations

  • Images, audio, and mouse interaction are unsupported.
  • The original GUI's font rendering and pixel positioning are unsupported. Your terminal's own font settings remain available.
  • Features exclusive to extensions such as EE or EM are outside the scope.
  • On non-Windows platforms, some Old Hangul / Jamo strings may sort differently from the original.
  • Complete operation of every variant and every branch is not guaranteed.

See Compatibility and Known Limitations for details in Japanese.

License and Bug Reports

PyEmuera itself is released under the MIT License. It includes Python reimplementations informed by studying the original Emuera source code and is not a clean-room implementation. Third-party code, documentation, and data retain their respective licenses and terms. See Third-Party Notices and the preserved SFMT permission notice at the end of this release description.

Report bugs through GitHub Issues. Useful details include the PyEmuera version; OS, terminal, and Python versions; variant name and version; reproduction steps; expected and actual results; and error messages.

Do not post personal information, credentials, private saves, or variant text that cannot be redistributed without the rights holder's permission.


SFMT参照元の許諾表示

pyemuera/random1824.py が参照するHOBARA由来の部分には、Rei HOBARAが公式配布ページで提供するMITの選択肢を適用します。公式MIT原文の許諾・条件・免責は、配布物内の同一のMIT本文に対応します。PyEmuera本体のMIT宣言で第三者の条件を置き換えるものではありません。

この告知は以下の固定原本に対応します。著作権表示はZIPの THIRD_PARTY_NOTICES.txt(および source/THIRD_PARTY_NOTICES.md)とpyzの THIRD_PARTY_NOTICES.md に、許諾本文はZIPの LICENSE.txt(および source/LICENSE)とpyzの LICENSE に収録されています。次にHOBARAのMIT原文を再掲します。

PyEmuera-3.0.0b1.zip  SHA-256 df2f302490b638a6f7e74313bc40f98d36dfe7e0515e202f26deae7d5bc319a3
PyEmuera-3.0.0b1.pyz  SHA-256 305fcf27c723b9ca155ac087928f993eb32b141288fee689b0a621c0f337f1a7
Copyright (c) 2007 Rei Hobara

Permission ...
Read more