少しずつゲームを作るスレ (951レス)
上下前次1-新
932: ルナドンぽいの 04/01(火)23:19 ID:snwh2s4a(1) AAS
心を入れ替えてゲ製道に邁進すると言ったが……
スマンありゃウソだった(エイプリルフールの大胆な告白)
一応特性(性格)システム的なものを実装
キャラシートの「友好度」の欄にマウスカーソルを合わせると現在の友好度についての詳細がツールチップ表示される
外部リンク:imgur.com
特性ごとに相性があって、↑の例だと自キャラに「勇敢」と「公正」の特性があり、
NPCには「豪快」と「強欲」の特性があるので、それぞれで+と−の評価が発生して結局は相殺(w)となっている
省7
933: ルナドンぽいの 05/21(水)21:49 ID:l52oayg9(1) AAS
今ごろこんなことで悩んでいるのは多分わしだけだろうが、前作(Text Dungeon)では
セーブファイル作成やディープコピー用のシリアライザーとしてBinaryFormatterを使っていたが、
今作(ルナドンっぽいの)で一応.NETのバージョンを最新(8.0)したところ、
安全性がうんたらかんたらでBinaryFormatterは使用禁止になっていてコンパイルエラーになってしまう
代替として公式ではSystem.Text.JsonやDataContractSerializerを推奨しているが、ちょっと試したところ、
これらはStaticなメンバーやImage(キャラグラとか)を直接シリアライズできず、やや面倒くさそう
またセーブファイルがJSONやXMLだと当然プレイヤーから丸見えで改変も自在なので暗号化などの対応も必要
省6
934(1): 456 05/23(金)02:07 ID:Ux/2RGJp(1/2) AAS
FileStream、BinaryWriterで必要なデータだけセーブデータとして保存してますが何か?
C#でデータ編集してCで読み込んだりする必要があるからあんまり言語独自の命令使いにくいのよね
935(1): ルナドンぽいの 05/23(金)21:47 ID:psSyBWGc(1/2) AAS
>>934
レスありがとうございます
>FileStream、BinaryWriterで必要なデータだけセーブデータとして保存
結局それが正解かもしれないですね、速そうだしサイズも小さくなりそうだし
わしも覚悟を決めてそうしようかなあ、やっぱ推奨通りJSONとかXmlにしようかなあ(優柔不断)
BinaryFormatter.Serialize()はクラスだろうがStaticだろうがそのままストリームに書き込めてめちゃ楽でした……
>C#でデータ編集してCで読み込んだりする必要がある
省1
936(1): 456 05/23(金)22:20 ID:Ux/2RGJp(2/2) AAS
>>935
ファミコンウォーズや大戦略のゲーム部分はC++とDirect2Dで作ってますがユニットエディタみたいなWindowsフォームを使った画面はC#で作った方が楽なので
937: ルナドンぽいの 05/23(金)23:01 ID:psSyBWGc(2/2) AAS
>>936
成程そういうことですか
昔C++を少しかじっていた頃、C#が出てきて「新しい言語?ヤダ何か怖い!」みたいな拒否反応を示していたのですが
いざ使い始めたら便利な機能が多くて、今となってはC++には戻れない体になってしまいましたw
まあC#もかじった程度しか使えていないんですけどね!
あとC#の方がいい加減に書いても何となく動いてしまう感覚があって、
わしのようななんちゃってプログラマーにも向いているような気がします
省1
938: ルナドンぽいの 05/26(月)23:28 ID:sA2igFt8(1/2) AAS
最近「Text Dungeonの英語版を作ってSteamで販売する」という妄想が止まらなくて本気でどうしようか悩んでいる
こんなフリーでも大してDLされてない(現在累計470DLくらい)ゲームを販売とか頭わいてんのか、と言われそうだが、
勿論わしも売れるとは思っていないが、どうにも試してみたい気持ちが膨らんでいる
次作(ルナドンぽいの)も最終的には販売したいというこれまた妄想に近い野望というか願望があって、
販売するとなると、上に書いたセーブファイルの脆弱性とかクリアしないといけないし、
DLLで英語化(→MOD対応にもつながる)とか実績に対応とか色々やることがあるので、
それならText Dungeonで一度予習しておくのもいいんじゃないかと考えた次第
省1
939: ルナドンぽいの 05/26(月)23:40 ID:sA2igFt8(2/2) AAS
「予習とか宣伝が目的ならフリーで出せば?」という意見もあるかもしれない
ネットを検索すると相当な手間暇をかけた自信作(?)が10本くらいしか売れなくて絶望、
みたいな話がゴロゴロしていて、わしのも多分そうなると思うのだが、
それでも実験してみたいというか、怖いもの見たさというか、
「全く売れない」を実体験として体感しておくのもいいんじゃないかと思うのである
ちなみにフリーで出した場合、SteamにはフリーならとりあえずDLするという層が一定数いるようで、
多分1万〜2万DLくらいはされると思われる(ただしプレイするのはその内1割くらいらしい)
省4
940(1): 456 05/27(火)13:11 ID:iSj9dOjY(1) AAS
迷わずやれよ
やればわかるさ
941: ルナドンぽいの 05/27(火)21:39 ID:LiYeZ7IQ(1) AAS
>>940
元気ですかー!!(故人)
そういえばわしは青森にあるA猪木の墓を訪れたことがあります
意外とこぢんまりとした墓でしたが綺麗にされていて真新しい花や酒などが多く供えられていたのが印象的でした
ってそんなことは置いといて、後押しありがとうございます
そうっすね、やらないことには始まりませんよね
まあ本当にSteamで販売するかは保留にして(大事な決断はなるべく後回しにする製作者の屑)、
省1
942: ルナドンぽいの 06/05(木)22:13 ID:6mDB2sDM(1) AAS
Text Dougeonを.NET FrameWorkから.NETに移行するのに手間取ったりしつつ、ようやく英語版の作成に取りかかる
色々考えたが、ゲーム内のテキストデータをTextDataクラスとしてまとめてJSONファイル化するのが翻訳に便利な気がする
まず手始めにキャラ作成時の「通称」と「名前」のリストをTextDataとしてシリアライズ(JSON化)
出来たJSONファイル(見やすさのためデータ量は適宜減らしている)
画像リンク[png]:imgur.com
これをAI神に「このJSONファイルのValue部分を英訳して下さいオナシャス!」と奉納する
そして下賜されたJSONファイル
省12
943: Text Dungeon(英語化) 06/10(火)21:55 ID:+DfLqwUX(1) AAS
バイナリ化はとりあえず後回しにして(いつものパ)、言語の選択を実装した
↓のように"Language"フォルダに各言語のJSONファイル(ファイル名=言語名とする)を入れると
画像リンク[png]:imgur.com
タイトル画面でドロップダウンリストから言語を選べるようになる
何かロシア語が妙にデカいんだけどフォントの問題かしら?
画像リンク[png]:imgur.com
一応タイトル画面だけ中国語対応してみたw(Steamの4人に1人が中国語ユーザーだとか)
省5
944(1): Text Dungeon(英語化) 06/12(木)00:32 ID:yZyhP/xw(1/2) AAS
↑でコンボボックス(ドロップダウンリスト)を配置したら、何故か
「常にコンボボックスがフォーカスされ、背景(ユーザーコントロール)にフォーカスを移せない」
(this.Focus()を何度書いても背景にフォーカスを移せない)という現象が発生し、
'1'キーを押してもゲームを開始できないし、'2'キーを押しても続きから始められなくなってしまった
(ただし、クリックすればゲームを始められる)
ネットを検索しても同じような現象を見つけられず、AI神に泣きつきながらあれこれ試した結果、
コンボボックスのTabStopプロパティをfalseにした上で、DropDownCloseイベント発生時に
省5
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にして
省13
947: Text Dungeon(英語化) 06/15(日)23:33 ID:5+yigztT(1) AAS
相変わらず遅々として進まない、父の日だけにね(ニゴッ
まさかこのスレでこのネタを4回もやるとは思わなかったよ……
英語翻訳は上記のようにAI君にやってもらっているのだが、
単なる作業と思いきや会話していると色々英語の勉強になって意外と楽しい。例えば
中央都市:国の首都であり、高い教育水準を誇っています。 この都市の出身者は技量値が高くなる傾向があります。
の「中央都市」の英訳を幾つかオナシャス!と頼むと
この都市の特徴を考慮すると、以下のような英訳が適しています:
省14
948(1): Text Dungeon(英語化) 06/19(木)23:51 ID:rg8+gcaO(1) AAS
↑で「20か国語対応いける!」などとはしゃいでいたが、翻訳作業を進めるにつれ、
んなわきゃないことがようやく分かってきた(知力3)
固定の文章だったらその対訳をデーターベース(JSONファイル)に登録するだけでいいが、
ゲームなので当然ながら文章は常に固定ではなく一部が動的に変わるケースがある
例えば「輝くロングソードを拾った」という文章だったら「ロングソード」が「バックラー」になったり、
また、「輝く」が「光る」や「古ぼけた」になったり、ゲーム中の状況に応じて単語が動的に変わるわけだが、
言語によっては冠詞や形容詞が名詞の性(男性名詞か女性名詞か中性名詞か)、数(単数か複数か、言語によっては双数という区分もある)、
省15
949: Text Dungeon(英語化) 06/20(金)00:14 ID:4tDnrhMf(1/2) AAS
で、結局どうするかだけど「英語だけ対応してあとは諦める」方向にしようかと(人生諦めが肝心)
もしかしたら中国語(簡体字)にも対応するかもしれない
(中国語には冠詞も形容詞の変化もないようなので比較的楽そうな気がする、気がするだけかもしれないが)
そもそもText Dungeonをローカライズしたいという有志が現れる可能性は0.01ppmくらい(適当)だし、
億が一そんな人が現れたら、その時はその時で対応すればいいと思うのである
一応、固定文でない言葉はクラス化して属性なり変化形なりのプロパティを後からつけ足せるようにしておけば
億が一の事態が発生した場合も柔軟に対応しやくなる、はず
省18
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ファイルでの単語置き換えは簡易翻訳ということで、良かったら使ってください(自己責任で!)という感じにしようかと
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 2.002s*