少しずつゲームを作るスレ (972レス)
上下前次1-新
954: Text Dungeon(英語化) 07/07(月)22:58 ID:O48nZ/qv(1/2)調 AAS
本編を英語化し始めてからようやく気づいたのだが(またこのパ)、
今のやり方だと「続きから」でゲームを再開したとき、一部が英語化されないことが判明した
何故かと言うと、現在の仕様ではゲーム内のアイテムやクリーチャーは
ゲーム開始時に生成用テーブルに従って名前、重さ、体力などの各プロパティが割り振られる
例えば「治療の薬」や「ゴブリン」がそれぞれのテーブルからインスタンス化される
しかし今のやり方では、その生成テーブル(の一部)を英語化しているだけなので、
すでに生成された後のインスタンス(=セーブデータに保存された情報)には反映されない
つまり再開しても英語にならないのである
それで、幾つか対応を考えてみた
(1) セーブデータをロードする時、データ内の全てのインスタンスをスキャンして、
英語化すべきプロパティがあったら英語にセットし直す
(2) インスタンスごとにプロパティを持たせるのではなく、
共通の値を持つプロパティは1つのデータとして共有参照し、そこを英語化する。
(例:ゴブリンの「ゴブリン」という名前は全インスタンスで共通 → 名前は共有参照データとして「Goblin」に置き換え)
(3) 諦める(人生諦めが肝心)
「今日は日本語でプレイしよう」、「今日は英語の気分だな」みたいな感じで
ゲーム再開のたびに言語を切り替える奴はおらんやろ……
正直(3)で誰も困らない気はするのだが、これまで各インスタンスが全プロパティを保持していたのは
はっきりいって冗長すぎた(ゲーム本体は1MB足らずなのにセーブデータは5、6MBあったのはこのせい)ので、
この機に(2)のやり方でデータ構造を見直そうと思っている
何が言いたいかというと、6か月コースが早くも9か月コースになりそうってこと(期間が3か月ずつ延びていく恐怖)
こんなに苦労しているのだから、リリースされたら大ヒット間違いなしだな!(エフォート・ジャスティフィケーション)
上下前次1-新書関写板覧索設栞歴
あと 18 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.017s