少しずつゲームを作るスレ (960レス)
少しずつゲームを作るスレ http://mevius.5ch.net/test/read.cgi/gamedev/1366762846/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
954: Text Dungeon(英語化) [sage] 2025/07/07(月) 22:58:56.10 ID:O48nZ/qv 本編を英語化し始めてからようやく気づいたのだが(またこのパ)、 今のやり方だと「続きから」でゲームを再開したとき、一部が英語化されないことが判明した 何故かと言うと、現在の仕様ではゲーム内のアイテムやクリーチャーは ゲーム開始時に生成用テーブルに従って名前、重さ、体力などの各プロパティが割り振られる 例えば「治療の薬」や「ゴブリン」がそれぞれのテーブルからインスタンス化される しかし今のやり方では、その生成テーブル(の一部)を英語化しているだけなので、 すでに生成された後のインスタンス(=セーブデータに保存された情報)には反映されない つまり再開しても英語にならないのである それで、幾つか対応を考えてみた (1) セーブデータをロードする時、データ内の全てのインスタンスをスキャンして、 英語化すべきプロパティがあったら英語にセットし直す (2) インスタンスごとにプロパティを持たせるのではなく、 共通の値を持つプロパティは1つのデータとして共有参照し、そこを英語化する。 (例:ゴブリンの「ゴブリン」という名前は全インスタンスで共通 → 名前は共有参照データとして「Goblin」に置き換え) (3) 諦める(人生諦めが肝心) 「今日は日本語でプレイしよう」、「今日は英語の気分だな」みたいな感じで ゲーム再開のたびに言語を切り替える奴はおらんやろ…… 正直(3)で誰も困らない気はするのだが、これまで各インスタンスが全プロパティを保持していたのは はっきりいって冗長すぎた(ゲーム本体は1MB足らずなのにセーブデータは5、6MBあったのはこのせい)ので、 この機に(2)のやり方でデータ構造を見直そうと思っている 何が言いたいかというと、6か月コースが早くも9か月コースになりそうってこと(期間が3か月ずつ延びていく恐怖) こんなに苦労しているのだから、リリースされたら大ヒット間違いなしだな!(エフォート・ジャスティフィケーション) http://mevius.5ch.net/test/read.cgi/gamedev/1366762846/954
955: Text Dungeon(英語化) [sage] 2025/07/07(月) 23:11:10.12 ID:O48nZ/qv で、早速(って言うか、しばらくこれに手こずっていたのだが)ポーションのデータ構造を一部共有化してみた こんな感じで日本語版でデータをセーブして https://imgur.com/ZrucGRt.png タイトルに戻って英語版に切り替えて、ゲームを再開すると…… https://imgur.com/24ZsU6E.png ちゃんとポーションの名前が英語化されてる!(ご満悦) https://imgur.com/6LuXkoZ.png 尚、共有化すべきなのは名前だけじゃなく、複数形の名前やポーションの説明文などもある こういう「一種別について複数のプロパティをまとめて共有化/英語化」したい場合、JSONよりもCSVのほうが扱いやすいので それ用のCSVを準備することにした、こんな感じ↓ https://imgur.com/PB0TIdg.png 準備するファイルが増えていってどんどん複雑化していく悪寒…… まあ、なるようになーれ(AA略) http://mevius.5ch.net/test/read.cgi/gamedev/1366762846/955
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.037s