PC ゲーム Aliens: Colonial Marines Collection で日本語を表示する方法
ゲームエンジンに Unreal Engine 3 を採用している PC ゲーム Aliens: Colonial Marines Collection に、日本語フォントを追加して日本語を表示する方法がわかりましたので、この記事ではそのやり方を説明します。
今回の Aliens: Colonial Marines に日本語フォントを追加する方法は前回の記事、同じゲームエンジンである PC ゲーム Dishonored - Definitive Edition で日本語フォントを追加、日本語表示を実現 できたことにより、これとほぼ同じやり方で日本語表示が可能となりました。
この日本語フォント追加方法で実績解除ができて、クリアまでクラッシュせず安定してプレイできるようであれば、あとは Aliens: Colonial Marines Collection の翻訳を残すのみとなります。
PC ゲーム Aliens: Colonial Marines Collection 基本情報
今回、日本語フォントを追加するためにインストールした Steam 版 Aliens: Colonial Marines Collection です。
2020年11月時点では、リンク先のウェブストアページはログイン状態では見れず、ログインしていなければ閲覧できます(リンク先の通貨はニュージーランドドル、ほかにもいくつかの通貨でアクセスできる模様)。この辺の仕様は不明なため、今後変更される可能性はあります。
ゲームは所持している状態ですが ジオブロッキング により Steam クライアントからストアページにはアクセスできません。そのため、画像は Steam ライブラリからキャプチャしたものです。
このようなゲームタイトルは以前は VPN を駆使して鍵屋からの購入と Steam でのアクティベーションができましたが、2019年ごろから Steam の規約変更により制限が厳しくなっており、以前のような購入及びキー登録がより困難 となっています。
ただ未確認ですが、2020年11月時点ではブラウザ上から Steam にログインした状態でも こちら にアクセスが可能で、購入手続き画面まで進める状態となっています。(実際に購入できるかどうかは不明)
以前、同じパブリッシャーのセガが出していた Steam 版 Dreamcast Collection と同じ状況(2019年4月に購入不可)みたいなので、いずれアクセスできなくなるかもしれません。
Steam 版 Aliens: Colonial Marines Collection でインストール先フォルダを開きたい場合、Steam ライブラリからプロパティ画面を開き、ローカルファイルを閲覧をクリックすることでインストール先フォルダにすぐにアクセスできます。
または、Steam ライブラリでタイトルを右クリック → 管理 → ローカルファイルを閲覧、をクリックすることでインストール先フォルダを開くこともできます。
Steam 版 Aliens: Colonial Marines Collection インストール直後、プロパティ画面の言語タブは 「日本語(Japanese)」 に設定されていますが、日本語フォントはなく翻訳もほとんどされていないため公式による日本語プレイはできません。
ただ、一部日本語に翻訳されたファイルがあるので、翻訳などで一部のファイルもしくはファイル内容を流用することは可能です。
Aliens Colonial Marines\Engine\Localization\JPN
フォルダ(システムメッセージ?)- 拡張子 jpn ファイル、システム関連?のメッセージの一部が日本語に翻訳済み
Aliens Colonial Marines\PecanGame\Localization\JPN
フォルダ(翻訳ファイル)- 拡張子 JPN ファイル、確認した限りではすべて英語のままのため翻訳の流用はおそらく不可
Aliens Colonial Marines\DLC\Sunflower\Lic\Localization\JPN
フォルダ(DLC 翻訳ファイル)- 拡張子 JPN ファイル、複数ある DLC フォルダの中で唯一日本語翻訳した日本語ファイルを格納
Steam 版 Aliens: Colonial Marines Collection に日本語フォントを追加する際にはプロパティ画面の言語タブを 「English(英語)」 にしてから行います。
これは言語タブの日本語と英語では、言語ファイルを格納している INT フォルダ(英語版翻訳ファイル)の翻訳内容が結構異なっていたり、設定ファイルの ini ファイルの内容も違うことがあったので、翻訳を前提とするなら英語版で日本語フォントを追加したほうが都合がよいだろうと判断しています。
なので、言語タブを日本語にしている状態では日本語に翻訳済みのファイルだけをバックアップして、日本語フォントを追加したり翻訳する場合は言語を英語に設定してから行ったほうがよいでしょう。
ゲームインストール先の各フォルダにある、INT フォルダにある ~.int ファイルが翻訳対象となります。アンリアルエンジン 3 では upk ファイルにセリフ字幕+音声データが 1対1 のセットになったファイルが含まれている場合があり、バイナリーデータを書き換える必要がありましたが、Aliens: Colonial Marines では int ファイルの翻訳でほぼ完結できそうです。
Steam 版 Aliens: Colonial Marines 無限起動ループ解決方法とゲーム起動方法
Steam 版 Aliens: Colonial Marines Collection ではインストール後、そのままではゲームプレイすることができません。以下の 2つの手順を実行してゲームを起動できるようにする必要があります。
もし、インストール直後ゲームを起動してしまった場合は無限起動ループに陥ります。その場合は Steam を終了もしくはタスクマネージャーから Steam ごと強制終了することで収まります。
Steam コミュニティガイド の情報をもとに、ゲームインストール先 Aliens Colonial Marines\Binaries\Win32
フォルダにある ACM.exe
を _ACM.exe
にリネーム(名前変更)します。
GitHub から ACM.exe をダウンロードして、Aliens Colonial Marines\Binaries\Win32
フォルダに配置します。
Windows OS が英語環境などであればこれで通常プレイできますが、OS が日本語環境の場合は次の方法で起動する必要があります。
Locale Emulator を使ってゲームを起動するように設定します。
Locale Emulator を起動したら場所設定を 「英語」 に設定、名前を付けて保存をクリックします。
任意のプロファイル名をつけて保存します。ここではゲームタイトルを入力しています。
プロファイルの作成ができたら以後、ACM.exe
もしくは Steam.exe
を右クリックから 「ロケールエミュレータ」 → 保存したプロファイル名をクリックすればゲームが起動できるようになります。
Steam 版 Aliens: Colonial Marines 起動ロゴスキップ方法
日本語フォントとは関係ない内容ですが、ゲーム起動時に再生される企業ロゴをスキップする方法です。以下、2種類の起動ロゴスキップ方法があります。
%USERPROFILE%\Documents\My Games\Aliens Colonial Marines\PecanGame\Config
フォルダにある PecanEngine.ini
ファイルをテキストエディタで開きます。
PecanEngine.ini
ファイルの [FullScreenMovie] セクションにある 「StartupMovies=~
」 をすべて 「//StartupMovies=~
」 でコメントアウトに書き換えて保存します。
この方法の場合、何らかのタイミング(日本語フォントファイルの設定など)で設定が元に戻ってしまい再設定が必要なことがあるので、その場合は次のやり方で対処します。
Aliens Colonial Marines\PecanGame\Movies
フォルダにある ~.bik ファイルをすべてリネーム(名前変更) or 移動 or 削除することで、PecanEngine.ini
ファイルを書き換える方法と違い、確実に起動ロゴが再生されなくなるようになります。
ちなみに PecanEngine.ini
ファイルでは StartupMovies=SPEC_Loading
をコメントアウト、もしくは Aliens Colonial Marines\PecanGame\Movies
フォルダにある SPEC_Loading.bik
をリネーム(名前変更) or 移動 or 削除すると、ゲーム中に表示されるローディング画面が表示されなくなるので、ロード画面に切り替えるタイミングで不自然な映像に見えてしまいます。
そのため、特に理由がない限りはこの SPEC_Loading
の設定もしくはファイルは触らなくてもいいでしょう。
PC ゲーム Aliens: Colonial Marines Collection フォントファイルアンパック
日本語フォントを追加するために、フォントデータを含む英語版 upk ファイルをアンパックする必要があります。
作業用フォルダを用意して、Aliens Colonial Marines\PecanGame\CookedPCConsole
フォルダにある英語版 Startup_INT.upk
と UIGEN_FontGlyphs_SF.upk
ファイルをコピーして配置します。
まずはコピーした Startup_INT.upk
と UIGEN_FontGlyphs_SF.upk
ファイルを Unreal Package Decompressor でデコンプレス(decompress.exe へ upk ファイルをドラッグアンドドロップ)します。
unpacked フォルダが生成されて、デコンプレスされた upk ファイルがフォルダに格納されます。
unpacked フォルダにある Unreal Package Decompressor でデコンプレスされた Startup_INT.upk
と UIGEN_FontGlyphs_SF.upk
ファイルです。デコンプレス前と比べてファイルサイズが増えているのが確認できます。
次にデコンプレスした Startup_INT.upk
と UIGEN_FontGlyphs_SF.upk
ファイルを、Dishonored 日本語化ファイルに含まれるアンパックツール か Unreal Package Extractor でアンパックします。
どちらのツールでもアンパックできますが、Dishonored 日本語化ファイルに含まれるアンパックツール では各ファイルのサイズとオフセットが記述されている ExportTable.Log
ファイルが出力されます。upk ファイルに日本語フォントバイナリデータを追加する際に、このサイズとオフセット値のバイナリデータを探して書き換える必要があります。
各ファイルのサイズとオフセットについては ExportTable.Log
がなくても自力で探すことも可能ですが、特に理由がない限りは Dishonored 日本語化ファイルに含まれるアンパックツール でアンパックした ExportTable.Log
から特定したほうが楽でしょう。
アンパックしたファイル から Scaleform フォントの場合は FFDec でフォントを追加、ビットマップフォントの場合は UDK で生成した upk フォントファイルのバイナリデータに入れ替え ます。これらのファイルを デコンプレスした upk ファイル にバイナリデータを追加して、一部のバイナリデータを修正することで日本語フォントを追加することができます。
なお、Dishonored - Definitive Edition で日本語フォントを追加 した時と違い、ビットマップフォントについては UDK で生成した upk フォントファイルをそのまま配置して設定ファイルにフォント名を設定 することでも日本語フォントを表示できるようになります。
Aliens: Colonial Marines - Scaleform 日本語フォント追加方法(UIGEN_FontGlyphs_SF.upk)
UIGEN_FontGlyphs_SF.upk からアンパックしたファイル を、ツールやバイナリエディタで Scaleform フォントファイル編集して日本語フォントを追加します。
ちなみに、ここで紹介する Aliens: Colonial Marines の Scaleform 日本語フォント追加方法は Dishonored - Scaleform 日本語フォント追加方法 とほぼ同じ内容です。
fonts_en.GFxMovieInfo バイナリデータ修正、fonts_en.gfx にファイル名変更
UIGEN_FontGlyphs_SF.upk ファイルアンパック 後、UIGEN_FontGlyphs_SF\UIGEN_FontGlyphs
フォルダにある fonts_en.GFxMovieInfo
ファイルをバイナリエディタで開きます。
バイナリエディタで fonts_en.GFxMovieInfo
ファイルヘッダー 32バイトを削除して、バイナリデータ先頭を CFX ~という形にします。
削除した 32バイトは後で元に戻すときに使うためメモするか、fonts_en.GFxMovieInfo
ファイルを事前にバックアップしておきます。
続けて、fonts_en.GFxMovieInfo
ファイルフッター 8バイトを削除します。
削除した 8バイトは後で元に戻すときに使うため先ほどと同様にメモしておくか、fonts_en.GFxMovieInfo
ファイルを事前にバックアップしておきます。
fonts_en.GFxMovieInfo
ファイルのヘッダーとフッター削除後、fonts_en.gfx
に拡張子を変更します。(参考情報)
FFDec で fonts_en.gfx に日本語フォント追加、ファイルヘッダーとフッターを元に戻して一部書き換え
FFDec を使って日本語フォントを追加します。
FFDec の基本的な使い方については こちら の記事を、フォントの追加方法は ここ か ここ の記事を参考にしてください。
fonts_en.GFxMovieInfo
ファイルのヘッダーとフッター削除して拡張子を変更した fonts_en.gfx
ファイル を FFDec で開きます。
DefineFont3 には 4種類のフォントがありますが、このうち文字フォントが登録されている Eurostile LT と Pecan01Systematix9 に日本語フォントを追加します。
なお、Aliens: Colonial Marines プロパティ画面の言語タブで 「English(英語)」 に設定 している場合、ゲームインストール先 Aliens Colonial Marines\Engine\Localization\INT
フォルダにある GFxUI.int
ファイルをテキストエディタで開くと、[Fonts] セクションで各種フォント名が設定されています。
この中にある 25~28行目の PecanBody
、PecanHead
、PecanHUD
、PecanHUDBold
に設定してあるフォント名が、FFDec で開いた fonts_en.gfx
ファイル のフォント名と一致していることがわかります。
FFDec で日本語フォントを追加したら保存して閉じます。今回はフォントを UD デジタル教科書体 NK-B にしています。
ちなみに Aliens: Colonial Marines プロパティ画面の言語タブで 「日本語(Japanese)」 に設定 していた場合、Aliens Colonial Marines\Engine\Localization\JPN
フォルダにある gfxui.JPN
ファイルをテキストエディタで開くと、[Fonts] セクションにて PecanBody=DFGPOPMix-W4
と PecanHUD=DFDotDot12
が設定されていました。
フォント名からそれぞれ ダイナフォント DF POP ミックス W4、ダイナフォント DF 点々体 12 を日本語版の Scaleform フォントに採用しようとしていたのではないかと推測できます。
このように中途半端に日本語関連ファイルが残っていたり、英語版と違うフォントが設定されていることから、日本語版を発売しようとした痕跡と思われる内容がいくつか確認できます。
FFDec で日本語フォントを追加した fonts_en.gfx
をバイナリエディタで開きサイズ(16進数)をメモします。(今回の場合、0x7A968A
がサイズ、追加したフォントによってサイズが変わる)
これはこのあと、削除したファイルヘッダー 32バイトを戻したときの一部書き換え時に使用します。
日本語フォントを追加した fonts_en.gfx
ファイルの先頭に、fonts_en.GFxMovieInfo
ファイルのヘッダーから削除した 32バイトのバイナリデータを挿入します。
続けて、日本語フォントを追加した fonts_en.gfx
ファイルの最後に、fonts_en.GFxMovieInfo
ファイルのフッターから削除した 8バイトのバイナリデータを挿入します。
fonts_en.gfx
ファイルのヘッダーに追加した 32バイトバイナリデータ の一部を次のように書き換えます。(以下のバイナリデータ書き換えはサイズにより異なる)
アドレス 0x1C
~ 0x1F
に ヘッダー・フッター追加前のサイズ(0x7A968A
) をリトルエンディアンで書き換えます。(今回の場合は、83 0C 01 00
→ 8A 96 7A 00
)
アドレス 0x14
~ 0x17
に ヘッダー・フッター追加前のサイズ(0x7A968A
) +4 をリトルエンディアンで書き換えます。(今回の場合は、87 0C 01 00
→ 8E 96 7A 00
)
ヘッダー・フッターバイナリデータを追加した日本語フォント fonts_en.gfx
ファイルのサイズをメモします。(今回は 0x7A96B2
)
ヘッダー・フッターバイナリデータを追加した日本語フォント fonts_en.gfx
ファイルの完成です。
完成した日本語フォント fonts_en.gfx
ファイルのバイナリデータをもとに、UIGEN_FontGlyphs_SF.upk
ファイルにバイナリデータの追加と一部修正 します。
- PC ゲーム Creeper World: Anniversary Edition 日本語化と JPEXS Free Flash Decompiler を使ったファイル解析メモ
- PC ゲーム Middle-earth: Shadow of Mordor GOTY 日本語化とフォント変更方法と DLC The Bright Lord(明王)で日本語を表示する方法 → PC ゲーム Middle-earth: Shadow of Mordor GOTY 日本語フォント変更方法
- PC ゲーム Middle-earth: Shadow of War Definitive Edition 日本語編集方法とフォント変更方法とゲームプレイ最適化メモ → PC ゲーム Middle-earth: Shadow of War Definitive Edition 日本語フォント変更方法
UIGEN_FontGlyphs_SF.upk へ fonts_en.gfx バイナリデータ追加とサイズ・オフセット値修正
デコンプレスした UIGEN_FontGlyphs_SF.upk
ファイル をバイナリエディタで開き、データ終端のアドレスをメモします。(UIGEN_FontGlyphs_SF.upk
ファイルの場合 0x11087
固定)
このアドレスはこの後のこの後の fonts_en.GFxMovieInfo
のオフセット書き換え時に使用します。
デコンプレスした UIGEN_FontGlyphs_SF.upk
ファイル のデータ終端に、FFDec で日本語フォントを追加した fonts_en.gfx
ファイル のバイナリデータを丸ごと追加します。
UIGEN_FontGlyphs_SF.upk
ファイルのアドレス 0x290
~ 0x297
にある fonts_en.GFxMovieInfo
のサイズ・オフセット情報を、追加した fonts_en.gfx
バイナリデータの サイズ と オフセット 内容をリトルエンディアンに変換して更新します。(AB 0C 01 00 98 03 00 00
→ B2 96 7A 00 87 10 01 00
)
fonts_en.GFxMovieInfo
のサイズ・オフセット情報は Dishonored 日本語化ファイルに含まれるアンパックツールで UIGEN_FontGlyphs_SF.upk
をアンパックした時の出力される ExportTable.Log
ファイル から確認できます。
日本語フォント fonts_en.gfx
のバイナリデータを追加して、fonts_en.GFxMovieInfo
のサイズ・オフセット値を修正した UIGEN_FontGlyphs_SF.upk
ファイルを、Aliens Colonial Marines\PecanGame\CookedPCConsole
フォルダにある同名ファイルと差し替えることで、該当するフォント部分が日本語で表示できるようになります。
Scaleform フォント - UD デジタル教科書体 NK-B フォント - 一部日本語化スクリーンショット
以下クリックすると UD デジタル教科書体 NK-B フォントを追加・変更した Scaleform フォントのスクリーンショットが開きます。
確認できた範囲ではゲーム内動画やゲーム中のセリフ字幕以外は、変更した Scaleform フォントに置き換わります。スクリーンショットでは日本語表示確認のため、一部日本語化しています。
なお、ゲーム中の画面左上にある HUD の通話中の名前について、フォントは置き換わるようですがこの名前を使用しているファイルを見つけられなかったため、その部分は英語のままです。
Aliens: Colonial Marines - ビットマップ日本語フォント追加方法(upk フォントファイル作成&ファイル配置&設定ファイル書き換え)
UDK(Unreal Development Kit)で自作の upk 日本語ビットマップフォントを作成してゲームインストール先フォルダに配置、設定ファイルでフォントファイルを読み込ませる方法です。一部の Unreal Engine 3 のビットマップフォントの有志日本語化ではこの方法が採用されています。
このやり方は 同じゲームエンジンの Dishonored - Definitive Edition ではできなかった方法で、バイナリデータを編集する方法に比べるとバイナリデータを触る必要はなく設定することができます。
ただ、この方法でビットマップフォントを変更した際に実績解除ができるかどうかは未確認のため、もしこのやり方が原因で実績解除ができないようであれば、Dishonored - Definitive Edition と同じ方法 で Startup_INT.upk へビットマップフォントのバイナリデータを追加・書き換え方法 を試してみることになります。(このやり方でも実績解除できるかどうかは未確認です)
UDK(Unreal Development Kit)(2009年11月版 Beta2)日本語ビットマップフォントファイル作成
日本語ビットマップフォントを作成するため UDK(Unreal Development Kit) をインストールします。
なお、UDK は公式がサポート終了しておりダウンロードできません。Unreal Engine Forums にて個人の方がインストーラーをアーカイブとして公開 しているので、ここから UDKInstall-2009-11-BETA-2.exe
をダウンロードしてインストールします。
UDK(Unreal Development Kit)はいくつかバージョンがあり、バージョンが異なると同じフォントファイルを作成しても、ゲームによってはうまくいかない場合があります。今回は UDKInstall-2009-11-BETA-2.exe
をインストールしますが、前後のバージョンを使ってもうまく動作する可能性はあります。
過去に公開された UDK のバージョンは非常に多くあるため(2009年から2015年まで約 40バージョン)、すべてのバージョンで作成したフォントの動作確認は困難です。今回紹介するやり方はいくつか選んでインストールして動作確認できた UDK バージョンの一つとなっています。
UDK の基本的な使い方については 前回の記事 を参照してください。
新規画面で基本的なフォント作成については 前回の Dishonored - Definitive Edition フォント作成記事 を参照してください。
ここでは Aliens: Colonial Marines においてビットマップフォントを問題なく表示するために必要な設定箇所を説明します。
- 任意のパッケージ名と名前を入力
- パッケージ名はそのまま upk ファイル名となり、
Aliens Colonial Marines\PecanGame\CookedPCConsole
フォルダに配置するので、ファイル名が重複しないように注意する - ここで入力したパッケージ名と名前は BaseEngine.ini で設定するのに使用
- パッケージ名はそのまま upk ファイル名となり、
- ファクトリは Font Imported From True Type を選択
- ここでは 「Include ASCIIRange」 のチェックマークは外さなくてもいいが、Aliens: Colonial Marines においては Startup_INT.upk からアンパックした EuroStyleFont.Font ファイルへバイナリデータを追加・書き換え する場合は外しておく
- フォントサイズ 16 の場合、「YPadding」 を 17、「Extend Box Bottom」 は 16(YPadding より小さい値にする)に設定
- Aliens: Colonial Marines でのビットマップフォントは行間が狭いため、「YPadding」 と 「Extend Box Bottom」 で疑似的?に行間をあけている(行間に関する設定を見つけられなかったため)
- この 「YPadding」 と 「Extend Box Bottom」 の数値はフォントサイズ 16 の場合に試行錯誤して見つけた数値で、フォントサイズが大きければより大きな値に、フォントサイズが小さければ小さい値もしくはデフォルト値などで調整するしかないと思われる
- この内容で 「Texture Page Width」 と 「Texture Page Max Height」 を 4096 に設定した場合、実際の 「Texture Page Max Height」 は 2048 になる
- フォントサイズと文字数とのバランスにより 「Texture Page Width」 と 「Texture Page Max Height」 で指定した通りにならないことがあるので、EuroStyleFont_PageA.Texture2D ファイルバイナリデータ書き換え 時に注意
- 実際に生成したビットマップフォントサイズの確認には、フォントのプロパティ画面 から 「すべてエクスポート」 から tga ファイルをエクスポートして縦横サイズをチェックするか、UE Viewer で画像ファイルをエクスポートして確認
BaseEngine.ini - upk ビットマップフォントファイル設定
UDK で作成した upk 日本語ビットマップフォントファイル を Aliens Colonial Marines\PecanGame\CookedPCConsole
フォルダに配置します。
Aliens Colonial Marines\Engine\Config
フォルダにある BaseEngine.ini
ファイルを開き、[Engine.Engine] セクションにある SubtitleFontName=EngineFonts.EuroStyleFont
を、UDK でフォント作成時につけたパッケージ名と名前(ここでは SubtitleFontName=JpFonts.MediumFont
)に書き換えて保存します。
これでビットマップフォントの設定は完了ですので、ゲームが正常に起動してフォントが変更されているかどうか確認します。
自作 upk ビットマップフォント - UD デジタル教科書体 NK-B フォント - 日本語スクリーンショット
以下クリックすると UD デジタル教科書体 NK-B フォントを追加・変更したビットマップフォントのスクリーンショットが開きます。スクリーンショットの日本語訳はネット上にあるプレイ動画の字幕内容を参考にして一部適当に翻訳したものです。
オープニングやゲーム中のセリフ字幕が、設定したビットマップフォントに置き換わります。
Aliens: Colonial Marines - ビットマップ日本語フォント追加方法(Startup_INT.upk へバイナリデータ追加・書き換え)
アンパックした Startup_INT.upk
ファイル へ UDK(Unreal Development Kit) で作成したビットマップフォントのバイナリデータを追加・書き換えて日本語フォントを追加する方法です。中文化ファイル 異形 殖民戰隊.rar はこちらの方法を採用しています。
先に説明した 自作 upk フォントファイルを作成、インストール先フォルダにファイルを配置して、自作 upk 日本語ビットマップフォントファイルを読み込ませるように設定ファイルを記述してフォントを表示する方法 とやり方は違いますが、最終的にゲームに表示される字幕は(フォント設定が同じであれば)まったく同じ内容のものとなります。
通常ゲームプレイにおいて、あえて手間が多いこちらの方法で Aliens: Colonial Marines 用に作成した日本語ビットマップフォントを、upk ファイルへバイナリデータを追加・書き換えるメリットはありませんが、自作 upk ビットマップフォントファイルと設定のみ で実績解除問題が発生した場合は、こちらの方法で回避できるかもしれません。(このやり方で実績解除できるかどうかは未確認)
なお、この方法は前回の記事 Dishonored - Definitive Edition のビットマップ日本語フォント追加方法 とほぼ同じ内容のものです。
Dishonored の時と同様に、Aliens: Colonial Marines のビットマップフォントの解析には英語版 upk ファイルと中文化ファイル 異形 殖民戰隊.rar の upk ファイルからアンパックしたファイル(~.Font、~.Texture2D)を使って、バイナリデータを比較・解析をして日本語フォントを追加・日本語を表示することに成功しています。
UDK(Unreal Development Kit)(2009年11月版 Beta2)日本語ビットマップフォントファイル作成
こちら と同じ方法で UDK(Unreal Development Kit)(2009年11月版 Beta2)を使って日本語ビットマップフォントファイルを作成します。
フォント作成方法はまったく同じですが、「Include ASCIIRange」 のチェックマークは外しておきます。
これは 「Include ASCIIRange」 のチェックマークの有無で次に説明するバイナリデータ書き換えの際の、コピー元のバイナリデータ(UDK で作成した upk ファイルに含まれる ~.Font ファイル)の並びが変わってしまう?のを防ぐための措置です。
EuroStyleFont.Font ファイルバイナリデータ書き換え
アンパックした英語版 Startup_INT.upk
に含まれる EuroStyleFont.Font
ファイルのバイナリデータを、UDK で作成した upk ビットマップフォント に含まれる ~.Font ファイルのバイナリデータに書き換えます。
詳細については Dishonored - Definitive Edition ~.Font ファイルバイナリデータ書き換え方法 を参照してください。書き換え方法についてはほとんど同じ内容となっています。
以下、FavBinEdit の ウォッチデータ機能 を使い、アンパックした英語版 Startup_INT.upk
に含まれている EuroStyleFont.Font
を使って説明します。
私が調べた英語版 EuroStyleFont.Font
ファイルのウォッチデータは ここ からダウンロードできるように公開しておきます。
中文化版 Startup_INT.upk
を調べていた時の EuroStyleFont.Font ウォッチデータ
も公開しておきますので興味があればどうぞ。
英語版 Startup_INT.upk
からアンパック した、EngineFonts フォルダにある EuroStyleFont.Font
ファイルをバイナリエディタで開きます。
アンパックした英語版 Startup_INT.upk
に含まれている EuroStyleFont.Font
を FavBinEdit で開き、ウォッチデータ機能を使って表示した画像です。
基本的にウォッチデータを追加(色がある箇所)したバイナリデータが書き換え対象となっており、色がない箇所は書き換え不要となっています。
各ウォッチデータの内容及びバイナリデータの書き換え方法は前回の記事、Dishonored - Definitive Edition の ~.Font ファイルバイナリデータ書き換え方法 とほぼ同じです。詳細についてはそちらの記事を参照してください。
ただ、Dishonored - Definitive Edition の ~.Font ファイルのバイナリデータの並び方 と比較して大きく違う点があります。
それはウォッチデータ 2番目の Word Count と最後のウォッチデータ Texture Table ? が連続したデータの塊となっている点です。Dishonored - Definitive Edition の ~.Font ファイル ではウォッチデータの間に別のバイナリデータが存在しています。
EuroStyleFont.Font
ファイルのように 2番目のウォッチデータ Word Count と Texture Table ? が連続したバイナリデータ形式の ~.Font を作成するためには、UDK で upk ビットマップフォントを作成 時に Include ASCIIRange のチェックマークを外しておく 必要があります。
もしかしたら、どちらのゲームも ~.Font のバイナリデータについては規則性があって、このようなことをしなくても何とかなる方法があるかもしれませんが、これ以上調べるときりがないので、今回は中文化のバイナリデータを参考に日本語フォントのバイナリデータを書き換えて日本語を表示する、という形で今回のゴールとします。
EuroStyleFont_PageA.Texture2D ファイルバイナリデータ書き換え
アンパックした英語版 Startup_INT.upk
に含まれる EuroStyleFont_PageA.Texture2D
ファイルのバイナリデータを、UDK で作成した upk ビットマップフォント に含まれる ~.Texture2D ファイルのバイナリデータに書き換えます。
英語版 Startup_INT.upk
からアンパック した、EngineFonts\EuroStyleFont
フォルダにある EuroStyleFont_PageA.Texture2D
ファイルをバイナリエディタで開きます。
私が FavBinEdit の ウォッチデータ機能 を使って調べた英語版 EuroStyleFont_PageA.Texture2D
ファイルのウォッチデータを、ここ からダウンロードできるように公開しておきます。
中文化版 Startup_INT.upk
を調べていた時の EuroStyleFont_PageA.Texture2D ウォッチデータ
も公開しておきますので興味があればどうぞ。
各ウォッチデータの内容及びバイナリデータの追加・書き換え方法は前回の記事、Dishonored - Definitive Edition の ~.Texture2D ファイルバイナリデータ書き換え方法 と同じです。詳細についてはそちらの記事を参照してください。
Startup_INT.upk へ EuroStyleFont.Font、EuroStyleFont_PageA.Texture2D バイナリデータ追加とサイズ・オフセット値修正
EuroStyleFont.Font ファイルと EuroStyleFont.Texture2D ファイルのバイナリデータを書き換えたら、デコンプレスした Startup_INT.upk
ファイル に EuroStyleFont.Font ファイルと EuroStyleFont.Texture2D ファイルのバイナリデータを追加して、各ファイルのファイルサイズ・オフセット値があるバイナリデータを修正します。
デコンプレスした Startup_INT.upk
ファイル のバイナリデータの書き換え方法は前回の記事、Dishonored - Definitive Edition の ~.Font、~.Texture2D バイナリデータ追加とサイズ・オフセット値修正方法 と同じです。詳細についてはそちらの記事を参照してください。
FavBinEdit のウォッチデータを公開しますので、これを使えばファイルサイズ・オフセット情報のアドレス位置がわかります。ここ からダウンロードして ExportTable.Log
とあわせて確認してください。
EuroStyleFont.Font ファイルと EuroStyleFont.Texture2D ファイルのバイナリデータを追加して、ファイルサイズ・オフセット値を修正した Startup_INT.upk
ファイルを、Dishonored\DishonoredGame\CookedPCConsole
フォルダにある同名ファイルと差し替えます。
この時同フォルダ内にある Startup_INT.upk.uncompressed_size
ファイルをリネーム(名前変更) or 移動 or 削除してください。これをやらないとゲームが起動しません。
Aliens: Colonial Marines Collection ではデコンプレスやバイナリデータを追加した ~.upk
は、同フォルダ内にある同じファイル名の ~.upk.uncompressed_size
が不要になって必ず除外する必要があります。
Startup_INT.upk ビットマップフォント - UD デジタル教科書体 NK-B フォント - ロード画面スクリーンショット
Startup_INT.upk
ファイルに日本語ビットマップフォントのバイナリデータを追加 した場合でも、UDK で作成したビットマップフォントの設定が同じ であれば、別のやり方で自作した upk フォントをそのまま配置して設定で読み込ませた時とまったく同じ字幕フォントがゲーム中に表示 されます。
こちらで確認できた表示上の問題として upk ファイルにビットマップフォントのバイナリデータを追加する方法 だと、ゲーム中のセリフ字幕表示では問題なくても、上の画像のようにロード画面の文字の行間が大きくひらいてしまいました。
これは UDK で作成した自作 upk ビットマップフォントを配置・設定ファイルで読み込み設定 のときはそのようなことはなかったのですが、この時は Startup_INT.upk
ファイルのビットマップフォントはデフォルトのままでした。そのため、ゲーム中のセリフ字幕とそれ以外(ロード画面など)でのフォントはおそらく使用するフォントが区別されていたので、ロード画面の文字が画面からズレることなく正確に表示できたのではないかと思われます。
序盤で確認できたフォント表示の問題はこの箇所のみで、ゲーム開始時の初回ロード画面(ほぼ一瞬)であることと、セリフなどの重要な字幕内容ではないので、気にせず放置か字幕ファイルから該当するところを削除するなりして対処できる問題でしょう。
ただ、ゲーム中すべての字幕が問題なく表示できるかどうかまで確認していませんので、最終的にはクリアまでの通しプレイが必要になるでしょう。
PC ゲーム Aliens: Colonial Marines Collection ゲームプレイ最適化情報
Steam 版 Aliens: Colonial Marines Collection のプレイ環境を最適にする情報をまとめました。
TemplarGFX's Aliens Colonial Marines Overhaul Mod
TemplarGFX's Aliens Colonial Marines Overhaul Mod を導入することでゲームシステム・グラフィック・AI・バランスなど多岐にわたる低クオリティ・未完成部分を大きく変更・改善を行い、このゲームの大半の不満点を解消できることができます。
注意点としては 多数のファイルを上書きして入れ替える ことになるので、この Mod インストールする場合はフォント設定や翻訳関係で以下の点に気を付ける必要があります。
Engine\Config
フォルダのBaseEngine.ini
ファイル- 自作 upk ビットマップフォントファイルをインストール先に配置して使用 する場合、BaseEngine.ini ファイルのフォント名を変更するため、Mod インストール後は
BaseEngine.ini
へのフォント再設定が必要
- 自作 upk ビットマップフォントファイルをインストール先に配置して使用 する場合、BaseEngine.ini ファイルのフォント名を変更するため、Mod インストール後は
PecanGame\Localization\INT
フォルダのDEFGEN_Unlocks.int
ファイル- 言語ファイルで一部の翻訳が変更されているので、翻訳済みの場合ファイル上書きに注意
この記事では TemplarGFX's Aliens Colonial Marines Overhaul Mod の動作確認していないため Mod インストール後、上記以外にも何らかの設定が必要になる場合があります。
また、継続的に Mod のアップデートが続いているようなので(V6~V6.2 パッチは 2020年9月公開)、今後のアップデート次第でこれらの内容が変更・更新される可能性があります。
ゼノモーフ(Xenomorph) AI 修正
TemplarGFX's ACM Overhaul Mod 導入による改善点の一つとしてゼノモーフの AI 挙動の修正が含まれています。
この AI 修正は TemplarGFX's ACM Overhaul Mod をインストールしなくても ini ファイルを編集することで対応できます。
TemplarGFX's ACM Overhaul Mod をインストールしないでゼノモーフの AI だけ改善したい場合は、以下のファイルを修正します。
ゲームインストール先 PecanGame\Config
フォルダにある DefaultEngine.ini
ファイルと、%USERPROFILE%\Documents\My Games\Aliens Colonial Marines\PecanGame\Config
フォルダにある PecanEngine.ini
ファイルを開き、Teather
とタイポ(タイプミス)になっている箇所がそれぞれ 1か所あるので、これを Tether
に修正して保存します。
マイドキュメントの PecanEngine.ini
は初回ゲーム起動後に生成されるファイルなので、初めてゲームをインストールして起動する前であればこのファイルは存在しません。その場合はゲームインストール先にある DefaultEngine.ini
のみ編集します。
初回ゲーム起動後は念のためマイドキュメントの生成された PecanEngine.ini
を開き、タイプミスが残っていないかどうか確認しておいたほうがよいでしょう。
- PC ゲーム Aliens: Colonial Marines Collection で日本語を表示する方法 (現在開いているページ)
- PC ゲーム Dishonored - Definitive Edition で Scaleform 日本語フォント、ビットマップ日本語フォントを追加する方法
- PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法
- PC ゲーム Creeper World: Anniversary Edition 日本語化と JPEXS Free Flash Decompiler を使ったファイル解析メモ
- PC ゲーム Middle-earth: Shadow of Mordor GOTY 日本語化とフォント変更方法と DLC The Bright Lord(明王)で日本語を表示する方法
- PC ゲーム Middle-earth: Shadow of War Definitive Edition 日本語編集方法とフォント変更方法とゲームプレイ最適化メモ
- PC ゲーム ALIEN: ISOLATION 日本語化とゲームプレイ最適化メモ
- PC ゲームが起動しない・安定しない場合に確認と設定したほうがいいかもしれないリスト