少しずつゲームを作るスレ (979レス)
上下前次1-新
945(1): 456 06/12(木)09:33 ID:1UEcXoJI(1) AAS
 FormのプロパティKeyPreviewをTrueにすれば良いような気がするが背景(ユーザーコントロール)が謎すぎて何とも 
946: Text Dungeon(英語化) 06/12(木)22:10 ID:yZyhP/xw(2/2) AAS
 >>945 
 レスありがとうございます。 
 Text Dungeonはフォームは1つ(Form1)で、From1上に各画面ごとのユーザーコントロール 
 (例えばタイトル画面だったらUserControl_Title、メイン画面だったらUserControl_Mainなど)があって、 
 ユーザーコントロールを切り替える(.Visible=true/falseする)ことで画面を切り替える仕様になっています 
 また、KeyPressイベントは各ユーザーコントロールのイベントハンドラ(タイトル画面ならUserControl_Title_KeyPress)で処理しています 
  
 で、ユーザーコントロールにはKeyPreviewプロパティがないので、Form1のKeyPreviewをtrueにして 
 Form1のkeyPressイベントをUserControl_Title_KeyPressに転送してみたところ、>>944の現象を回避することができました 
 こっちの方がActiveControl = nullなんてことをするより筋のいいやり方かもしれません 
  
 ただ、この手法だとフォーカスは相変わらずコンボボックスに残るため
省10
947: Text Dungeon(英語化) 06/15(日)23:33 ID:5+yigztT(1) AAS
 相変わらず遅々として進まない、父の日だけにね(ニゴッ 
 まさかこのスレでこのネタを4回もやるとは思わなかったよ…… 
  
 英語翻訳は上記のようにAI君にやってもらっているのだが、 
 単なる作業と思いきや会話していると色々英語の勉強になって意外と楽しい。例えば 
  
 中央都市:国の首都であり、高い教育水準を誇っています。 この都市の出身者は技量値が高くなる傾向があります。 
 の「中央都市」の英訳を幾つかオナシャス!と頼むと 
  
 この都市の特徴を考慮すると、以下のような英訳が適しています: 
 - Capital City(シンプルに「首都」を表す一般的な訳) 
 - Metropolitan Capital(教育水準が高い都会的な首都を強調) 
 - Academic Capital(学問や教育の中心であることを強調)
省11
948(1): Text Dungeon(英語化) 06/19(木)23:51 ID:rg8+gcaO(1) AAS
 ↑で「20か国語対応いける!」などとはしゃいでいたが、翻訳作業を進めるにつれ、 
 んなわきゃないことがようやく分かってきた(知力3) 
  
 固定の文章だったらその対訳をデーターベース(JSONファイル)に登録するだけでいいが、 
 ゲームなので当然ながら文章は常に固定ではなく一部が動的に変わるケースがある 
  
 例えば「輝くロングソードを拾った」という文章だったら「ロングソード」が「バックラー」になったり、 
 また、「輝く」が「光る」や「古ぼけた」になったり、ゲーム中の状況に応じて単語が動的に変わるわけだが、 
 言語によっては冠詞や形容詞が名詞の性(男性名詞か女性名詞か中性名詞か)、数(単数か複数か、言語によっては双数という区分もある)、 
 格(名詞の文章上の役割、主格、所有格、目的格など)によって変化することがある 
  
 例えばドイツ語の場合、「輝くロングソードを拾った」はロングソードが男性名詞で、単数で、直接目的格なので 
 冠詞はein、形容詞(輝く)はglanzendes になるが、これがバックラーだと女性名詞なので冠詞がeinen、形容詞はglanzendenになる
省12
949: Text Dungeon(英語化) 06/20(金)00:14 ID:4tDnrhMf(1/2) AAS
 で、結局どうするかだけど「英語だけ対応してあとは諦める」方向にしようかと(人生諦めが肝心) 
 もしかしたら中国語(簡体字)にも対応するかもしれない 
 (中国語には冠詞も形容詞の変化もないようなので比較的楽そうな気がする、気がするだけかもしれないが) 
  
 そもそもText Dungeonをローカライズしたいという有志が現れる可能性は0.01ppmくらい(適当)だし、 
 億が一そんな人が現れたら、その時はその時で対応すればいいと思うのである 
  
 一応、固定文でない言葉はクラス化して属性なり変化形なりのプロパティを後からつけ足せるようにしておけば 
 億が一の事態が発生した場合も柔軟に対応しやくなる、はず 
 例えばクリーチャーの名前だったら 
  
 public class CreatureName 
 {
省15
950(1): 456 06/20(金)00:45 ID:CAVCWRzU(1) AAS
 こまけえことは気にすんな 
 誤訳も個性って事にしとけばええんよ(思考停止) 
951: Text Dungeon(英語化) 06/20(金)21:22 ID:4tDnrhMf(2/2) AAS
 すみません、バックラーは男性名詞でした 
 なんてこった、これがゲルマン魂ってやつか(意味不明) 
 >>948の「バックラー」は「プレートメイル」に置き換えてお読みください 
  
   
 >>950 
 そうですね、某ファイナルソードも翻訳がアレで却ってウケた感がありますし(尚、日本でしかウケなかった模様) 
 JSONファイルでの単語置き換えは簡易翻訳ということで、良かったら使ってください(自己責任で!)という感じにしようかと 
952: Text Dungeon(英語化) 06/24(火)22:01 ID:P292I//X(1) AAS
 キャラメイク画面の英語化がようやく一通り完了 
 画像リンク[png]:imgur.com 
  
 だが、また細かいところで気になっていて、「通称」「名前」が今はこの順で並んでいるのだが、 
 英語だと異名や二つ名などは名前の後に来ることが多い 
 例えば「ドラゴン殺しのローレ」なら「Lore the Dragonslayer」になるので、 
 英語版では「名前」「通称」の順に変えるか、また、多言語対応するならJSONファイルで順序を設定出来るようにすべきかもしれない 
  
 この行き当たりばったりで作るわりに細けえところで妙に悩む癖、どうにかなりませんかね(他人事) 
 まあ悩んだ挙句、とりあえず保留にするのがいつものパティンなんですけどね 
  
 さらに「体力」「技量」「運勢」の3つの能力値は某ゲームブックをパ、参考にしているのだが、 
 元は英語で「Stamina」「Skill」「Luck」で、「Stamina」は何となくしっくりこないのでVitarityに変えるとして、
省4
953: Text Dungeon(英語化) 06/28(土)00:59 ID:zzXrp4sr(1) AAS
 名前などの個別設定画面も英語化完 
 画像リンク[png]:imgur.com 
  
 タイプと出身地は選択すると説明が表示されて、それからEntで決定するように仕様変更 
 画像リンク[png]:imgur.com 
  
 英語 
 画像リンク[png]:imgur.com 
  
 これからようやっとゲーム本編の英語化に移るが、本編もチップツールなどを使って、 
 アイテムや呪文などの情報を簡単に見られるようにUIを改良したいと妄想している 
 あと、日本語を英語化するとどうしても文字数が増えがちなので(漢字って便利)、 
 改行をオートで行うなどメッセージ周りの仕様を変更する必要もあるかもしれない
省1
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
956: Text Dungeon(英語化) 07/17(木)21:57 ID:BQA9x4Yr(1/4) AAS
 Potionのデータ構造を見直したついでに、MODでユーザーが新規ポーションを追加できるようにしてみた 
 需要があるか分からないが(無い)、以下コード込みで手順を公開 
  
 まずMod製作用に公開するAPI(DLL)を用意 
 画像リンク[png]:imgur.com 
  
 全てinterfaceで定義して、ゲーム本体のクラスには直接アクセスしない方式にした 
 が、全部(または一部)publicにして本体を参照するやり方が簡単でいいかもしれない……次回作はそうしようかしら(10年後) 
  
 Mod(DLL)のコード 
 画像リンク[png]:imgur.com 
  
 上のAPIを使って新規ポーションの実装とDLL読み込み時の初期化処理(インスタンス受け取り)を行う 
 今回は「エリ草ー」(Potionじゃないし)と「ヤバい薬」(飲むと死ぬ)を実装
省9
957: Text Dungeon(英語化) 07/17(木)22:15 ID:BQA9x4Yr(2/4) AAS
 そして作成したMod(.dll)をModsフォルダに入れていざゲームを起動すると 
  
 怪しいポーションが登場 
 画像リンク[png]:imgur.com 
  
 飲むと…… 
 画像リンク[png]:imgur.com 
  
 エリ草―の場合、不確定名を""(空文字)にしているので他のPotionと同様にランダムな名前が割り振られる 
 画像リンク[png]:imgur.com 
  
 飲むと鑑定されて、以後は「エリ草ー」になる 
 画像リンク[png]:imgur.com
省5
958: Text Dungeon(英語化) 07/17(木)22:23 ID:BQA9x4Yr(3/4) AAS
 >>456氏 
 以前MOD用APIについて言及されていたと思いますが、 
 具体的にこんなAPIがほしいとか、こういう機能を実現したいとかありますかね 
 わしの実力的に対応できるかは置いといて、検討したいと思います 
 そんな昔のことは忘れたならば無理に思い出すことはないですが 
959(1): 456 07/17(木)23:18 ID:DOoBRGzR(1) AAS
 848の発言の事ですかね? 
 多分アレは自分では無いです。 
 欲しいAPIがあるかと言われると...無いw 
 と言うのも人から出されたゲームをクリアしたり出されたお題でゲーム作るのは好きなんですが人の作った物を改造するのは嫌いなんですw 
 〇〇だったら良いのにと思ったり言ったりはするんですが自分で触ると急に冷めてしまって...嵌ったゲームは逆に縛りプレイを始めてしまうような奴でして... 
 物語に入り込んでる所メタ発言で急に現実に戻されるのが嫌みたいな?何かめんどくさい奴ですねw 
 あったら良い機能としてはスイッチかXBoxコントローラーで全部操作可能とか 
 寝っ転がってやるときはこれが楽でいいんですよね(典型的ダメ人間) 
960(1): Text Dungeon(英語化) 07/17(木)23:39 ID:BQA9x4Yr(4/4) AAS
 >>959 
 あれ、そうだったんですか 
 すみません、てっきり456氏の発言かと思い込んでいました 
 確かにModはメタ的というか、特にDLLだとプログラミングなので現実世界に引き戻される感がありますね 
 コントローラー対応は確かにあった方がいいですね(販売する気なら尚更) 
 ぼちぼち検討してみたいと思います 
  
 >>848氏 
 失礼しました 
 改めて何かご意見や希望等ありましたらお願いします 
 そんな昔のことは忘れたならば無理にry 
961: Text Dungeon(英語化) 08/20(水)22:50 ID:4Vf3nhfe(1) AAS
 >>933あたりでBinaryFormatterの置き換えについての話をしたが、  
 英語化の目途が立ったのでMessagePackへの移行作業を始めたところ、 
 これが想像の10倍、いや体感100倍くらい面倒だった 
  
 興味ある人はあまりいないだろうから詳細は省くが、 
 Text Dungeonではポリモーフィズムを多用しており、  
 ゲームに登場するアイテムやクリーチャーはObjeクラスを基底として 
 ゲーム中で動的にPotionやCreatureなどに派生する 
 MessagePackでこれらを保存・復元するには基底クラスに[Union]属性で派生クラスを登録したり、  
 派生クラスの保存したいプロパティに[Key(n)]を重複しないよう割り振ったりする必要がある 
  
 これらがあちこちに及ぶため作業がめちゃ大変で、見落としから実行時にNullReferenceExceptionが頻発したり、
省9
962(1): 08/26(火)16:43 ID:gs18iCDs(1) AAS
 >>960 
 MODとか自分でも意味あまりわかってないのに用語使うから混乱させたみたい。 
 APIなんて高級なのじゃなくてスタイルシート変更みたいな感じで画面レイアウト配置位置変えるとか、 
 コンソールコマンドでコマンドキーの割り当て変えるとかカスタマイズ出来ればいいかなと 
 (こういうのはゲームの面白さには関係なくて作ってても面白くない部分なのでなかなかやれないですけどね) 
963: Text Dungeon(英語化) 08/26(火)21:22 ID:+4lPrFSw(1) AAS
 >>962 
 レスありがとうございます 
 なるほど、そういう感じですか 
  
 >スタイルシート変更みたいな感じで画面レイアウト配置位置変える 
 CSSは直接使えないので、スタイルシート形式でレイアウトを変更できるようにするのは少しばかり骨が折れます 
 ……と書こうと思ったら、画面上のコントロール(ラベル、パネルなど)を直接ドラッグして動かすのなら割と簡単に実装できることに気づいてしまった 
 外部リンク[mp4]:imgur.com 
  
 とは言え、この調子で色々なコントロールをドラッグ可にして、本当に問題なくゲームをプレイできるかはそれなりに検証が必要なので、 
 導入するかはどうかは一旦保留とさせていただきたく(得意の後回し) 
  
 >コンソールコマンドでコマンドキーの割り当て変える
省4
964: Text Dungeon(英語化) 09/07(日)23:25 ID:X9SwQex9(1) AAS
 ようやくPotionとその派生クラスのMessagePack対応と英訳化が完了 
 画像リンク[png]:imgur.com 
  
 このペースでは完成はやはり1年後……と思いきや、 
 一応やり方は掴めてきたので、マメに作業を続けられれば 
 英訳とMessagePack対応はあと3か月ほどで終わりそうな気がする 
 その後、UI改善やイベント追加などで+3か月かかるとして、 
 半年後くらいにはリリースできる、かもしれない 
  
 そんなスケジュール感をAIさんに伝えると、 
 「スクショやPVは後からでもいいから、ストアページを早よ作りなはれ」 
 「なんなら体験版作ってNext Festに出た方がええでっせ」とアドバイスされた
省6
上下前次1-新書関写板覧索設栞歴
あと 15 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.028s