少しずつゲームを作るスレ (972レス)
1-

925: ルナドンぽいの 02/09(日)22:37 ID:nboaCbOD(2/2) AAS
それで、以前も言ったようにリスト部分はDataGridViewを使っていて、
これは標準でソート機能があって便利なのだが、
現状「関係」の欄をソートすると(当然ながら)あいうえお順でソートしてしまい、
例えば関係が「良い」→「悪い」順にソートさせることができない
外部リンク:imgur.com

小技を使ってうまく「関係」だけ独自のソート順に変更しようと悪戦苦闘中
いっそDataGridViewは止めて自作UIに変えようかとも悩んでいる
まあ自作と言っても結局はコモンコントロールの集合体になるのだけど

まだまだ先は長すぎるけど10年計画で頑張っていきます(震え声)
926
(1): 456 02/10(月)01:06 ID:y5/vV0cV(1) AAS
表とか自作すればええんですよ、ソートとか自由に作る事できますしおすし
画像リンク[png]:i.imgur.com

という事は置いておいてDataGridViewでもカスタムソートは出来ます
例えばこの表ですが「カテゴリー名」「ユニットタイプ名」は文字順ではなくカテゴリーのID毎に並んでほしいわけです
画像リンク[png]:i.imgur.com
やり方は色々ありますが自分は
画像リンク[png]:i.imgur.com
こんな感じのDataTableを作ってバインド
画像リンク[png]:i.imgur.com
カテゴリー名とユニットタイプの項目だけカスタムに変更
省3
927: ルナドンぽいの 02/10(月)23:27 ID:wnIreLFj(1) AAS
>>926
懇切丁寧にありがとうございます
貼られたコードをパ…参考にして無事「良い」→「悪い」順にソートすることができました(「関係」は「友好度」に変更)
外部リンク:imgur.com

DataView.Sortなんて便利なプロパティがあったんですね
当初IComparerを継承して独自ソートクラスを作って呼び出す方法を試したら
データバインドされているから並べ替え操作を実行できない、みたいなエラーが出てハマっていました
危うくまたゲ製が一か月くらい停滞するところでした(無知蒙昧)

これでまたいっぽやぼうにちかづいた!(あと1万歩くらい)
928: ルナドンぽいの 02/16(日)23:55 ID:NiPTHOzl(1/3) AAS
何故だかNGになるので少しずつ投稿してみる
 

ゲ製道に邁進すると言ったものの先週から妙に忙しく殆ど進んでいない
まあ今週からはちょっと落ち着くはずだから……(希望的観測)

ちょっとでも進めなと思い、とりあえず「勧誘する」を仮に実装してみる
本家では勧誘結果などのメッセージはポップアップで表示していたが、とりあえず同じウィンドウに表示
ちょっと字が小さすぎるかもしれない
外部リンク:imgur.com
929: ルナドンぽいの 02/16(日)23:58 ID:NiPTHOzl(2/3) AAS
以前、NPCとの関係性を本家より複雑にしたいと妄想している、と書いたが、
ここにきてその辺りの仕様をきっちり固めるか、それともそれは後回しにして
先にゲーム的な部分(街、店の実装、マップ移動、戦闘など)に手をつけるべきか少し悩む
930: ルナドンぽいの 02/16(日)23:59 ID:NiPTHOzl(3/3) AAS
今妄想しているのはキャラに性格的な特性を設定して、キャラ同士の性格によって相性が変わるシステム
(例えば勤勉の特性があるキャラは怠け者の特性があるキャラに対して友好度が下がりやすくなる、とか)
べべべ別にCK3のパクリじゃないんだからね!昔からわりとよくあるシステムなんだから!……多分

まあ悩むより手を動かせということで、次回は性格システムを簡易的にでも実装してみようか
931: ルナドンぽいの 02/17(月)00:03 ID:8ZuHXd/3(1) AAS
って全部書き込めるやん!
1レスで2回以上使うとNGになるワードがあった、とかだろうか

また無駄にレスを使ってしまった
932: ルナドンぽいの 04/01(火)23:19 ID:snwh2s4a(1) AAS
心を入れ替えてゲ製道に邁進すると言ったが……
スマンありゃウソだった(エイプリルフールの大胆な告白)

一応特性(性格)システム的なものを実装
キャラシートの「友好度」の欄にマウスカーソルを合わせると現在の友好度についての詳細がツールチップ表示される
外部リンク:imgur.com

特性ごとに相性があって、↑の例だと自キャラに「勇敢」と「公正」の特性があり、
NPCには「豪快」と「強欲」の特性があるので、それぞれで+と−の評価が発生して結局は相殺(w)となっている

……と作ってはみたものの、これ何かイマイチなシステムなような気がするなあ
まあ、これからゲーム的な要素を実装しながら内容を少しずつ調整していこうか
何か特性システムについてご意見があったらお願いします(虚空への呼びかけ)
省4
933
(1): ルナドンぽいの 05/21(水)21:49 ID:l52oayg9(1) AAS
今ごろこんなことで悩んでいるのは多分わしだけだろうが、前作(Text Dungeon)では
セーブファイル作成やディープコピー用のシリアライザーとしてBinaryFormatterを使っていたが、
今作(ルナドンっぽいの)で一応.NETのバージョンを最新(8.0)したところ、
安全性がうんたらかんたらでBinaryFormatterは使用禁止になっていてコンパイルエラーになってしまう

代替として公式ではSystem.Text.JsonやDataContractSerializerを推奨しているが、ちょっと試したところ、
これらはStaticなメンバーやImage(キャラグラとか)を直接シリアライズできず、やや面倒くさそう
またセーブファイルがJSONやXMLだと当然プレイヤーから丸見えで改変も自在なので暗号化などの対応も必要
(Text Dungeonのセーブファイルも単にバイナリ化しただけなので改変は容易だったが)

これはシリアライザーを自作するべきだろうか
それとももっと簡単な方法があるのだろうか
省3
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で読み込んだりする必要がある
ちなみにですがなんでそんな必要があるんでしょうか
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#の方がいい加減に書いても何となく動いてしまう感覚があって、
わしのようななんちゃってプログラマーにも向いているような気がします
(そして後でよく分からない不具合が起きて地獄を見る)
938: ルナドンぽいの 05/26(月)23:28 ID:sA2igFt8(1/2) AAS
最近「Text Dungeonの英語版を作ってSteamで販売する」という妄想が止まらなくて本気でどうしようか悩んでいる
こんなフリーでも大してDLされてない(現在累計470DLくらい)ゲームを販売とか頭わいてんのか、と言われそうだが、
勿論わしも売れるとは思っていないが、どうにも試してみたい気持ちが膨らんでいる

次作(ルナドンぽいの)も最終的には販売したいというこれまた妄想に近い野望というか願望があって、
販売するとなると、上に書いたセーブファイルの脆弱性とかクリアしないといけないし、
DLLで英語化(→MOD対応にもつながる)とか実績に対応とか色々やることがあるので、
それならText Dungeonで一度予習しておくのもいいんじゃないかと考えた次第
あとText Dungeonと次作は世界観が共通しているので、一応次作の宣伝にもなる(はず)と目論んでいる
939: ルナドンぽいの 05/26(月)23:40 ID:sA2igFt8(2/2) AAS
「予習とか宣伝が目的ならフリーで出せば?」という意見もあるかもしれない
ネットを検索すると相当な手間暇をかけた自信作(?)が10本くらいしか売れなくて絶望、
みたいな話がゴロゴロしていて、わしのも多分そうなると思うのだが、
それでも実験してみたいというか、怖いもの見たさというか、
「全く売れない」を実体験として体感しておくのもいいんじゃないかと思うのである

ちなみにフリーで出した場合、SteamにはフリーならとりあえずDLするという層が一定数いるようで、
多分1万〜2万DLくらいはされると思われる(ただしプレイするのはその内1割くらいらしい)
だから宣伝が主目的ならフリーで出すのが正しいかと思う
まあ販売してみて箸にも棒にもかからなかったら1年後くらいにフリーにするのもありかなと思っている

と色々書いたが、結局のところどうするかは決めかねている
省1
940
(1): 456 05/27(火)13:11 ID:iSj9dOjY(1) AAS
迷わずやれよ
やればわかるさ
941: ルナドンぽいの 05/27(火)21:39 ID:LiYeZ7IQ(1) AAS
>>940
元気ですかー!!(故人)
そういえばわしは青森にあるA猪木の墓を訪れたことがあります
意外とこぢんまりとした墓でしたが綺麗にされていて真新しい花や酒などが多く供えられていたのが印象的でした

ってそんなことは置いといて、後押しありがとうございます
そうっすね、やらないことには始まりませんよね
まあ本当にSteamで販売するかは保留にして(大事な決断はなるべく後回しにする製作者の屑)、
英語版はいずれ作りたいと思っていたのでまずはそれに取りかかろうかと思います
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ファイル
画像リンク[png]:imgur.com

ゲーム開始時にこの英訳されたJSONファイルをデシリアライズしてゲーム内のテキストデータに展開するようにして、
ゲームを開始すると……「通称」と「名前」が英語化している!(当然)
省9
943: Text Dungeon(英語化) 06/10(火)21:55 ID:+DfLqwUX(1) AAS
バイナリ化はとりあえず後回しにして(いつものパ)、言語の選択を実装した

↓のように"Language"フォルダに各言語のJSONファイル(ファイル名=言語名とする)を入れると
画像リンク[png]:imgur.com

タイトル画面でドロップダウンリストから言語を選べるようになる
何かロシア語が妙にデカいんだけどフォントの問題かしら?
画像リンク[png]:imgur.com

一応タイトル画面だけ中国語対応してみたw(Steamの4人に1人が中国語ユーザーだとか)
画像リンク[png]:imgur.com

あとはひたすらテキストデータをTextDataクラスにまとめる作業を進め……ているんだけど
これがかなりのボリュームであとどれくらい時間がかかるか見当もつかない
省2
944
(1): Text Dungeon(英語化) 06/12(木)00:32 ID:yZyhP/xw(1/2) AAS
↑でコンボボックス(ドロップダウンリスト)を配置したら、何故か
「常にコンボボックスがフォーカスされ、背景(ユーザーコントロール)にフォーカスを移せない」
(this.Focus()を何度書いても背景にフォーカスを移せない)という現象が発生し、
'1'キーを押してもゲームを開始できないし、'2'キーを押しても続きから始められなくなってしまった
(ただし、クリックすればゲームを始められる)

ネットを検索しても同じような現象を見つけられず、AI神に泣きつきながらあれこれ試した結果、
コンボボックスのTabStopプロパティをfalseにした上で、DropDownCloseイベント発生時に
this.ActiveControl = nullを入れて無理やり非アクティブにしてやると、
コンボボックスの操作後に背景にフォーカスが移ってキー入力が効くようになった

同じような現象が起きて困っている人のために一応ここに記す
省2
1-
あと 28 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s