Suzerain V1.9からVer2への変更作業覚え書き

Suzerain V1.9からVer2への変更について、たらたらた書き綴りました。
暇つぶしにどうぞ。

構造の解説

テキストファイルの形式の変更
Ver1では、会話、辞書、ニュースなどがそれぞれJsonフォーマットのテキストであり、それを編集可能だったのですが、Ver2ではそれらが1つにまとめられプログラムの中に放り込まれてしまいました。
プログラムを展開できない人はお手上げになるので、少しMOD制作のハードルが上がりました。
また、ただでさえ大きなファイルが全て1つになったので、テキストファイルがテキストエディタではでかすぎて開くことができません。バイナリエディタで見ないと行けないので、解析なども大変でした。
幸い、テキストのフォーマットはV1もV2もほぼ変わらなかったので、解析作業自体はスムーズに進みました。

多言語化への試み
各テキストにIDのようなものがついていました。このIDで多言語化を管理スのでしょう。
フォントの準備も進んでいました。まだ中身はありませんが、韓国、中国、日本語などのテキストメッシュが用意されていました。
ただ、一番の難点は、会話以外のテキスト(辞書、新聞、ニュースなど)がほぼ全て、ゲーム開始時にセーブデータに書き込まれる構造になっています。つまり、現状のままでは新規ゲーム時の言語を変えることはできないということです。
この部分は、アップデートでも問題があり、バージョンアップしても、記事の誤字脱字などの修正が繁栄されないということです。Ver1は通しで終了まで行けば強制的に新規ゲームなのでなんとかなりましたが、Ver2はセーブ、ロードができるようなりましたので特にこの部分は改善が必要になるでしょう。

フラグや会話の流れは、全て会話テキストファイル内にあります。
どの行から来てどの行へ行くなどの全てのプログラムルーチンがこの中に入っています。なので膨大なサイズです。
ただ、膨大なだけで、全てテキストなので、見ることさえできれば、理解も編集も可能なので、MOD制作者としては、ありがたいかもしれません。

MOD構造

今回のMODの構造は
XUnity.AutoTranslatorを、フォントと、UI関係のテキストを表示させるために使っています。
フォントは今回日本語テキストメッシュがあるので、それを変更すれば行けるのですが、バージョンアップのたびに修正するのが面倒なので、バージョンアップが落ち着くまで、または本家が日本語を実装してくれるのを待っています。
UI関係のテキストは、Assembly-CSharpとLevel0、Level1に入っています。
これもフォント同様、アップデートたびに作り直すのが面倒なので、Xunityで行っています。
なので、将来的にはXunityは不要になるかも知れません。

会話テキストはMonoファイルなので、UABEAでテキストに変換して抜き出しています。まあ、膨大なので、エクセルマクロで必要なデータを抽出するのに1時間以上かかります。

地図などの画像は、UnityEXで抜き出したものをGimpで修正しています。
UnityEXはお金を払ってPro版を使っています。無料のものでは使用制限がかかって使えません。

テキスト量は重複を含めると多分100万ワード以上はあります。
Ver1かr2への変更でも30-40万ワードの見直し、翻訳が必要だったと思います。
そのせいで、翻訳が完了するのにVer2だけで約4ヶ月かかりました。
ただ、今回は全体の流れを把握できていたのでVer1よりは、比較的楽だったように思います。

Ver1からVer2へ
色々な方からの助言もいただきながら、多くの固有名詞をつけ直しました。
一番の変更はブルディッシュからブルドへの変更でしょう。
誤字脱字、翻訳ミスなども大量に修正しました。
これでもまだ大量に残っていると思います。テキスト量が多すぎて見直し切れません… 
私自身まともにゲームを完走したのはまだ2回しかありません。
やり始めるとどうしても修正箇所が見つかりゲームになりません…
Ver1に製作期間が約6か月缶詰、Ver2が約4か月です。この期間から見てもVer2がどれだけ大きな物かがおわかりいただけると思います。

リジアDLCの準備も着々と進めています。


この記事が気に入ったらサポートをしてみませんか?