AliceSoft System ゲーム(Rance、Evenicle…)を翻訳する方法
RuneTranslate は AliceSoft System 3.x および System 4 のゲーム — Rance、Evenicle、Daiakuji — を英語と 30 以上の言語に翻訳します。.ald / .afa アーカイブと .ain メッセージデータのための純粋 TypeScript リーダー。ベストエフォート。エクスポートしたビルドを検証してください。
RuneTranslate は、日本の PC ゲームで最大かつ最もリクエストの多いカタログの 1 つを読み取ります:AliceSoft の System エンジン — Rance シリーズ全体、Evenicle、Daiakuji、闘神都市シリーズ、そして数十年にわたるリリースの背後にあるファミリーです。Rance のフォルダを開いて、大量の .ald ファイルと、中身が読めない System39.ain や Rance6.ain を見て、セリフがどこにあるのかすら見当がつかなかったことがあるなら — それがこのエンジンです。RuneTranslate はそれを検出し、アーカイブを純粋な TypeScript で開き、メッセージテキストが隠れている場所を見つけ出し、ゲームが自力で読み込む翻訳済みコピーをエクスポートします。
まず正直なところ:AliceSoft 対応はできたばかりです。抽出とバイト精密な書き戻しは実在のゲーム — Rance 5D、戦国 Rance、Rance VI — で検証済みですが、完全に翻訳された ビルドを起動してゲーム内で描画されることを確認する作業はまだ検証中です。ですので、RuneTranslate を AliceSoft のゲームに向けて、検出しない、開かない、あるいはゲームが読み込めないものをエクスポートした場合は、ぜひ教えてください — 詳しくは最後に。
AliceSoft の「System」エンジンとは実際に何か
AliceSoft は自社エンジンを内製し、ほぼすべてにそれを使いました。実際には 1 つのブランドの下に 2 つのエンジン があります:
- System 3.x — 古典的なタイトル。小さなインタープリタ(
alice.exe/System39.exe)がコンパイル済みシナリオファイルを実行し、System39.ainインデックスと、データを保持する.aldアーカイブがあります。 - System 4 — 現代的なタイトル。
System40.exeインタープリタが、ゲームごとの.ain(丸ごとコンパイルされた プログラムイメージ)を、.aldとより新しい.afaアーカイブとともに実行します。
どちらも、プレイヤーが目にするテキストを Notepad では開けない場所に格納しています — まさにこの膨大なカタログが、通常の機械翻訳ツールの手の届かないままだった理由です。
なぜ AliceSoft ゲームは翻訳が難しかったのか
- セリフは探すはずの場所にない。 System 3.x では、コンパイル済みシナリオファイル(
.SCO)が各メッセージを 番号で 参照します。行そのものはSystem39.ainのビット回転されたMSGIセクションにあるので、素のテキスト検索では何も見つかりません。 - System 4 はすべてを包んでいる。
.ainは完全にコンパイルされたプログラムで、zlib 圧縮(「AI2」フォーマット)か 完全暗号化(ファイル全体にかかる MT19937 キーストリーム)のいずれかで出荷されます。読めるものにたどり着く前に、コンテナをほどく必要があります。 - テキストはスクリプトではなくプログラムの中にある。 ほどいた後も、メッセージと文字列のプールはバイトコード、関数、グローバル、型テーブルの中に埋もれており、プログラム構造全体を歩いてはじめて見つかります。
- すべての文字列がセリフとは限らない。 フォーマット文字列、デバッグテキスト、ゲームロジックが依存する識別子が混ざっています。誤って 1 つ翻訳すると、何かが静かに壊れます。
それが RuneTranslate が今あなたの代わりに行う作業です — アーカイブリーダー、難読化解除、コンテナのアンラップ、プログラムウォーカー、そしてセリフとエンジンの内部文字列を見分けるガードです。
RuneTranslate が今できること
RuneTranslate はパイプライン全体を純粋な TypeScript で処理します — GARbro なし、外部ツールなし、Python サイドカーなし、インストールするものなし:
- `.ald` / `.afa` アーカイブを直接読む。 Alice Linked Data と Alice File Archive のコンテナを内製で開き、中身を一覧します。
- System 3.x:隠れたメッセージを見つける。
System39.ainのMSGIセクションの難読化を解除し、すべての行を一覧します。 - System 4:両方のコンテナをアンラップ。
.ainが zlib 圧縮の AI2 フォーマットでも暗号化されたものでも、アンラップし、プログラムイメージを歩き、メッセージプール(セリフ)と文字列プールを取り出します。 - セリフと機構を見分ける。 フォーマット指定子、デバッグ文字列、識別子は表示されますが デフォルトで除外 され、赤いオプトイン行になるので、プログラムが依存するものを誤って翻訳することはありません。
- 参照を壊さずに書き戻す。 バイトコードは各行を インデックスで 指しているので、翻訳はどんな長さでも構いません。エクスポートはメッセージデータを書き換え — System 3.x はインプレースで、System 4 はコンテナを再パックして — 変更がなければバイト単位で一致します。
日本語 → 英語が最も得意 ですが、30 以上の言語 をターゲットにできます。
必要なもの
- Windows 版 RuneTranslate — 無料。すべてのエンジンとプロバイダーが解放されています(無料ティアは機能ではなく速度がスロットルされます)。
- AliceSoft のゲームフォルダ — インタープリタ(System 3.x 用の
alice.exe/System39.exe、または System 4 用のSystem40.exe)、System39.ainまたはゲームごとの.ain、そして.ald/.afaアーカイブ。 - ターゲット言語 — 英語、スペイン語、フランス語、ドイツ語、中国語、その他 30 以上。
- 1 つのプロバイダー。無料の Google Translate はそのまま使えます。DeepL には無料ティアがあります。OpenAI、Anthropic、ローカルモデル、あらゆる OpenAI 互換 API は自分のキーを用意するタイプです。Rance たちはセリフが多いので、LLM または DeepL が最もよく読めます。
ステップ 1: ゲームフォルダを開く
RuneTranslate を起動し、新規プロジェクト をクリックして、AliceSoft のゲームディレクトリに向けます。検出は自動的に実行されます — System39/40 インタープリタを .ald / .afa アーカイブとともに見つけ、プロジェクトを AliceSoft と認識し、どの System バージョンかを教えてくれます。元のゲームフォルダは決して変更されません。
ステップ 2: テキストがどう読まれるか
System 3.x のゲームでは、RuneTranslate は System39.ain の MSGI メッセージセクションの難読化を解除し、すべての行を一覧します。System 4 のゲームでは、.ain コンテナ — zlib 圧縮でも暗号化でも — をアンラップし、プログラムイメージを歩き、メッセージと文字列のプールを取り出します。いずれの場合も、エンジンの内部文字列(フォーマット指定子、デバッグテキスト、識別子)は表示されますがデフォルトで除外されるので、プレイヤーが目にするものだけを翻訳できます。
ステップ 3: 翻訳
プロバイダーを選んで実行します。LLM(OpenAI / Anthropic) はキャラクターの声とシリーズの大げさなトーンに最適で、DeepL はナレーションを高速かつクリーンに、無料の Google Translate は短いメニュー文字列やアイテム名に十分です。名前が同一に表示されるよう、キャストを事前に用語集化しましょう — 用語集 101 を参照。完了したら、AI リファイナー で任意のパスを実行すると、各行を文脈の中で読み直し、MT が残しがちな堅く直訳的な言い回しを引き締めます。
ステップ 4: すぐ実行できるコピーをエクスポート
エクスポート をクリックします。RuneTranslate は、再構築した .ain をその隣にルーズに置いたゲームの翻訳済みコピーを書き出します — アーカイブの再パックなし。インタープリタが翻訳済みの .ain を読み込むので、ゲームはあなたの翻訳を読むだけです。実行すれば、ターゲット言語でプレイできます。
既知の制限
- AliceSoft のテキストは Shift-JIS(cp932)です。 英語やその他 cp932 で表現可能なターゲットはきれいにエクスポートされます — そして RuneTranslate は各行をフォント正規化するので、スマート句読点やアクセント付きラテン文字も残ります。cp932 の範囲外の文字を持つターゲット(拡張キリル文字、韓国語、繁体字中国語)は、まだ自動化されていないゲームフォント/エンコーディングのハックが必要です。
- 完全翻訳のゲーム内読み込みはまだ確認中です。 抽出とバイト精密な往復は Rance 5D、戦国 Rance、Rance VI で検証済みですが、完全に翻訳されたビルドを最初から最後まで起動する検証はまだ進行中なので、エクスポートしたコピーを先にテストしてください。
- System 4 は `.ain` バージョン 4 と 5 で検証済みです。 より新しい v8+ のプログラムフォーマットはベストエフォートで対応しており、まだゲーム検証されていません。暗号化された
.afav3 アーカイブインデックスも同様です。 - メッセージと文字列テキストのみ。 エンジンの
.ex/ ExStruct データファイルに収められたデータはまだ抽出されません。 - 画像アートに焼き込まれたテキスト — ビットマップとして描かれたタイトル画面や CG — はスクリプトテキストではなくピクセルです。それには 画像テキスト翻訳 を参照してください。
できたばかりです — 壊れたら教えてください
繰り返す価値があります:AliceSoft 対応は 新規追加 です。アーカイブリーダー、System 3.x と System 4 の抽出、バイト精密な書き戻しは構築され、ユニットテスト済みで、実在の Rance ゲームで検証されています — が、このカタログは数十年にわたり、私たちがすべて見たわけではない多くのフォーマット改訂を含みます。ですので、RuneTranslate を AliceSoft のゲームに向けて、検出しない、アーカイブを開かない、何も抽出しない、あるいはゲームが読み込めないものをエクスポートした場合は、Discord で報告してください — ゲーム名と System バージョンがあると、私たちが最速で堅牢化できます。
RuneTranslate をダウンロードし、ずっと読みたかったあの Rance ゲームに向けて、試してみてください。別のアーカイブベースのエンジンについては、次に YU-RIS ウォークスルー を読んでください。
RuneTranslate を試してみませんか?
無料プランですべてのエンジンとすべての翻訳プロバイダーが使えます。Supporter(月額 $3)ならフルスピードで翻訳できます。
Windows 版をダウンロード
