少しずつゲームを作るスレ (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