少しずつゲームを作るスレ (960レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
954: Text Dungeon(英語化) 07/07(月)22:58 ID:O48nZ/qv(1/2) AAS
本編を英語化し始めてからようやく気づいたのだが(またこのパ)、
今のやり方だと「続きから」でゲームを再開したとき、一部が英語化されないことが判明した

何故かと言うと、現在の仕様ではゲーム内のアイテムやクリーチャーは
ゲーム開始時に生成用テーブルに従って名前、重さ、体力などの各プロパティが割り振られる
例えば「治療の薬」や「ゴブリン」がそれぞれのテーブルからインスタンス化される
しかし今のやり方では、その生成テーブル(の一部)を英語化しているだけなので、
すでに生成された後のインスタンス(=セーブデータに保存された情報)には反映されない
つまり再開しても英語にならないのである

それで、幾つか対応を考えてみた

(1) セーブデータをロードする時、データ内の全てのインスタンスをスキャンして、
省13
955: Text Dungeon(英語化) 07/07(月)23:11 ID:O48nZ/qv(2/2) AAS
で、早速(って言うか、しばらくこれに手こずっていたのだが)ポーションのデータ構造を一部共有化してみた

こんな感じで日本語版でデータをセーブして
画像リンク[png]:imgur.com

タイトルに戻って英語版に切り替えて、ゲームを再開すると……
画像リンク[png]:imgur.com

ちゃんとポーションの名前が英語化されてる!(ご満悦)
画像リンク[png]:imgur.com

尚、共有化すべきなのは名前だけじゃなく、複数形の名前やポーションの説明文などもある
こういう「一種別について複数のプロパティをまとめて共有化/英語化」したい場合、JSONよりもCSVのほうが扱いやすいので
それ用のCSVを準備することにした、こんな感じ↓
省3
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.038s