少しずつゲームを作るスレ (975レス)
上下前次1-新
917: ルナドンぽいの 2024/10/21(月)00:26 ID:DpBzZjDO(1/3) AAS
製作の参考にと本家(ルナドン:前途への道標)を新規キャラ作ってプレイし始めたら
ほんの触りだけのつもりが、がっつり長時間プレイしてしまった……
これってゲーム製作あるあるですよね(己のダメっぷりに共感を求める製作者の屑)
やっつけで作ったキャラクター作成画面
見たまんまで説明はあまり要らないと思う
画像リンク
出身地、職業などはプルダウンメニューで選択
画像リンク
次はキャラクターのポートレート(今は本家からの切り抜きで固定)を
フリー素材なりポンチ絵なりにして選択できるようにしたい
また、自分の好みの絵(顔グラとか)にしたい人もいるだろうから自由に差し替えできるようにしたい
どう実現するかはもちろんこれから考えますよ
918: ルナドンぽいの 2024/10/21(月)18:16 ID:DpBzZjDO(2/3) AAS
製作の参考にと本家(ルナドン:前途への道標)を新規キャラ作ってプレイし始めたら
ほんの触りだけのつもりが、がっつり長時間プレイしてしまった……
これってゲーム製作あるあるですよね(己のダメっぷりに共感を求める製作者の屑)
やっつけで作ったキャラクター作成画面
見たまんまで説明はあまり要らないと思う
画像リンク
出身地、職業などはプルダウンメニューで選択
画像リンク
次はキャラクターのポートレート(今は本家からの切り抜きで固定)を
フリー素材なりポンチ絵なりにして選択できるようにしたい
また、自分の好みの絵(顔グラとか)にしたい人もいるだろうから自由に差し替えできるようにしたい
どう実現するかはもちろんこれから考えますよ
919: ルナドンぽいの 2024/10/21(月)19:15 ID:DpBzZjDO(3/3) AAS
いつの間にか2回書き込んでるけど、私は元気です
920: ルナドンぽいの 2024/10/25(金)00:56 ID:S3wh/qj4(1) AAS
キャラクターのポートレートに使えそうな画像はを探し回ったが、
どうもルナドンっぽい素材はあまり世の中には出回っていないようで見つけられず、
止むを得ずまた本家からの切り抜きでポートレート選択画面を作成
あくまで仮絵ということで勘弁して下さい(誰に向かって言ってる?)
キャラ作成画面で「画像選択」ボタンを押すとポートレート選択画面が開く
画像リンク
クリックでポートレートを選んで「決定」でポートレートを変更
画像リンク
自分で用意した画像を使いたい場合は.exeのあるフォルダの「resource」フォルダ内に
portrate*.pngという名前でpng画像を入れておく
そうするとポートレート選択画面を開いたときに画像が読み込まれて
「次」ボタンで頁をめくっていくとやがて用意した画像が出てくる
画像リンク
あとはクリックで選んで「決定」でキャラのポートレートを変更できる
尚、ポートレートのサイズは仮に144x144ピクセルとしている(用意する画像は4x2=8キャラ分で576x288)
画像リンク
誰かいい感じの素材があるサイト、アセット又はツールなどを知ってたら(有料のものでも)教えて下さいオナシャス!
まあ素材の問題は一旦棚上げにして(そして後で地獄をry)、
次は簡単な町を作って、キャラクターを登場させてパーティーを組む、くらいまでやりたい
921: ルナドンぽいの 2024/11/29(金)00:36 ID:xTOSC7A1(1) AAS
キャラクター作成ができるようになったのでどうせなら作ったキャラをとうろく(←漢字にするとNGになる)して
NPCとしてもゲームに登場させられるようにしたら面白いかなと思って、
それならキャラ一覧を表示して、そこからキャラを選択、編集、削除とかできるようにしようと
あれこれ試行錯誤していて気が付いたら1ヶ月以上経っていた……
一応キャラとうろくができるようになったのでしょうかい(←漢字にするとry)
まず笑撃のゲームタイトル画面(仮)
画像リンク
「キャラクターとうろく」でキャラリストを表示(初期は何もとうろくされてない)
画像リンク
「新規」でキャラ作成画面が開き、そこから好きなようにキャラを作って「決定」でとうろく
画像リンク
とうろく済みのキャラをリストから選択して、編集・削除もできる
画像リンク
リストの表示や編集はDataGridViewというのを使うと便利で簡単……なはずだったが、
実際使ってみると一癖あったというか、動けばいいやの精神で適当にコーディングしたら
不具合出まくりの手こずりまくりだった(完全に自業自得)
最近忙しかったせいもあるがこのペースではマジで完成まで10年以上かかりそう、やべえよやべえよ……
そろそろ簡単な町を作って、キャラクターを登場させて、パーティーを組む、くらいまで進めたい(n回目)
922: ルナドンぽいの 2024/11/29(金)00:41 ID:PZRKnnCh(1) AAS
1個リンク貼れてなかった
「新規」でキャラ作成画面が開き、そこから好きなようにキャラを作って「決定」でとうろく
画像リンク
923: ルナドンぽいの 2024/12/25(水)00:39 ID:co64s3F8(1) AAS
SteamのオータムセールでうっかりCrusader Kings 3(70%オフ)をポチってしまい、
あんのじょう膨大な時間を消費する破目に
去年のオータムセールといい、なぜ人は同じ過ちを繰り返すのか(意志薄弱)
それにしてもCK3は面白いね
慣習的領土や称号、請求権などの一筋縄ではいかない領地のシステム、
宗教や文化が絡んだ複雑な人間関係、或いは主従関係や外交関係、
常に分裂の危機をはらんだ悩ましい継承の問題など
中世の支配体制をリアリティ高く再現している部分と
内政や戦争など思い切ってシンプルにしている部分のバランスが良いというか自分好みでとても楽しい
ここまで複雑なシステムは到底無理だが、自分のゲームも仲間との信頼関係とか
本家(ルナドン)より手の込んだものにしたいなと妄想しており、色々参考になった
勿論、実装は1?も進んでいない、来年から本気出す定期
え?クリスマス?知らないよ、CK3にそんなイベントないよ!(血涙)
924: ルナドンぽいの 02/09(日)22:31 ID:nboaCbOD(1/2) AAS
明けましておめでとうございます(遅)
CK3にかまけてゲーム製作が一向に進みませんでしたが、
今後は心を入れ替えてゲ製道に邁進してまいります(欺瞞)
酒場(仲間の勧誘)のテンプレート画面を作成
ほぼモックで中身は殆ど実装していない
画像リンク
酒場のイラストはとりあえずフリー素材を使用
最終的には街ごとにオリジナルの画像にしたいが……誰か描いてくれませんかね?
それとも今どきはAIに描かせるのが主流なのだろうか
イラストの下の周囲の状況の描写テキストももっと雰囲気のある
いい感じの文章(語彙貧困)が書けるセンスのある人に考えてもらいたいが、
それも今どきはAIにry
925: ルナドンぽいの 02/09(日)22:37 ID:nboaCbOD(2/2) AAS
それで、以前も言ったようにリスト部分はDataGridViewを使っていて、
これは標準でソート機能があって便利なのだが、
現状「関係」の欄をソートすると(当然ながら)あいうえお順でソートしてしまい、
例えば関係が「良い」→「悪い」順にソートさせることができない
画像リンク
小技を使ってうまく「関係」だけ独自のソート順に変更しようと悪戦苦闘中
いっそDataGridViewは止めて自作UIに変えようかとも悩んでいる
まあ自作と言っても結局はコモンコントロールの集合体になるのだけど
まだまだ先は長すぎるけど10年計画で頑張っていきます(震え声)
926(1): 456 02/10(月)01:06 ID:y5/vV0cV(1) AAS
表とか自作すればええんですよ、ソートとか自由に作る事できますしおすし
画像リンク
という事は置いておいてDataGridViewでもカスタムソートは出来ます
例えばこの表ですが「カテゴリー名」「ユニットタイプ名」は文字順ではなくカテゴリーのID毎に並んでほしいわけです
画像リンク
やり方は色々ありますが自分は
画像リンク
こんな感じのDataTableを作ってバインド
画像リンク
カテゴリー名とユニットタイプの項目だけカスタムに変更
画像リンク
この2項目がクリックされた際には自作のソート順で並べるように
こんな感じです
927: ルナドンぽいの 02/10(月)23:27 ID:wnIreLFj(1) AAS
>>926
懇切丁寧にありがとうございます
貼られたコードをパ…参考にして無事「良い」→「悪い」順にソートすることができました(「関係」は「友好度」に変更)
画像リンク
DataView.Sortなんて便利なプロパティがあったんですね
当初IComparerを継承して独自ソートクラスを作って呼び出す方法を試したら
データバインドされているから並べ替え操作を実行できない、みたいなエラーが出てハマっていました
危うくまたゲ製が一か月くらい停滞するところでした(無知蒙昧)
これでまたいっぽやぼうにちかづいた!(あと1万歩くらい)
928: ルナドンぽいの 02/16(日)23:55 ID:NiPTHOzl(1/3) AAS
何故だかNGになるので少しずつ投稿してみる
ゲ製道に邁進すると言ったものの先週から妙に忙しく殆ど進んでいない
まあ今週からはちょっと落ち着くはずだから……(希望的観測)
ちょっとでも進めなと思い、とりあえず「勧誘する」を仮に実装してみる
本家では勧誘結果などのメッセージはポップアップで表示していたが、とりあえず同じウィンドウに表示
ちょっと字が小さすぎるかもしれない
画像リンク
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
心を入れ替えてゲ製道に邁進すると言ったが……
スマンありゃウソだった(エイプリルフールの大胆な告白)
一応特性(性格)システム的なものを実装
キャラシートの「友好度」の欄にマウスカーソルを合わせると現在の友好度についての詳細がツールチップ表示される
画像リンク
特性ごとに相性があって、↑の例だと自キャラに「勇敢」と「公正」の特性があり、
NPCには「豪快」と「強欲」の特性があるので、それぞれで+と−の評価が発生して結局は相殺(w)となっている
……と作ってはみたものの、これ何かイマイチなシステムなような気がするなあ
まあ、これからゲーム的な要素を実装しながら内容を少しずつ調整していこうか
何か特性システムについてご意見があったらお願いします(虚空への呼びかけ)
さて、ここからゲーム的要素(町の施設とか移動とか)の実装を始める、
と言いたいところだが、現時点ですでに怪しい挙動がチラチラ見られるので
バグ取りしてすっきりしてから次の実装を開始したい
またしばらく進捗的なものは報告できないと思うけど心配しないで下さい(虚空への呼びかけ)
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のセーブファイルも単にバイナリ化しただけなので改変は容易だったが)
これはシリアライザーを自作するべきだろうか
それとももっと簡単な方法があるのだろうか
いっそ.NET6.0に戻すべきか……
世の中のゲーム製作者はどう対応しているのだろう
(大方はゲームエンジンを使ってるんだろうけど)
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年後くらいにフリーにするのもありかなと思っている
と色々書いたが、結局のところどうするかは決めかねている
このスレを見ている人で何か意見とか疑問とか体験談とかあったら是非書いてってほしい
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ファイル(見やすさのためデータ量は適宜減らしている)
画像リンク
これをAI神に「このJSONファイルのValue部分を英訳して下さいオナシャス!」と奉納する
そして下賜されたJSONファイル
画像リンク
ゲーム開始時にこの英訳されたJSONファイルをデシリアライズしてゲーム内のテキストデータに展開するようにして、
ゲームを開始すると……「通称」と「名前」が英語化している!(当然)
画像リンク
だが、英訳が長すぎたりすると変なことになったりもする。こういうのは個別に調整するしかないかも
画像リンク
あとは粛々と残りのテキストデータもTextDataクラスにまとめて、ゲーム内データに展開する処理を追加すれ一気に英語化できる、はず
このやり方なら英語だけじゃなく中国語とかロシア語とか他の言語もいけますね、これは最初から20か国対応いけるな!(AI神頼み)
ただ、JSONのままだとユーザーに中身が丸見えになってしまう
通称や名前のリストが見えても大した問題ではないが、イベントなどのテキストまで読めてしまうと興醒めというかゲームとしてどうかと思うので
暗号化とまでは行かなくてもバイナリ化するなどして一般ユーザーには基本見えなくなるような処理を加えたい
具体的には……勿論これから考えますよ!(いつもの)
943: Text Dungeon(英語化) 06/10(火)21:55 ID:+DfLqwUX(1) AAS
バイナリ化はとりあえず後回しにして(いつものパ)、言語の選択を実装した
↓のように"Language"フォルダに各言語のJSONファイル(ファイル名=言語名とする)を入れると
画像リンク
タイトル画面でドロップダウンリストから言語を選べるようになる
何かロシア語が妙にデカいんだけどフォントの問題かしら?
画像リンク
一応タイトル画面だけ中国語対応してみたw(Steamの4人に1人が中国語ユーザーだとか)
画像リンク
あとはひたすらテキストデータをTextDataクラスにまとめる作業を進め……ているんだけど
これがかなりのボリュームであとどれくらい時間がかかるか見当もつかない
ほぼテキストで出来ているゲームなので当然と言えば当然なんだが
まあ迅速に少しずつ進めていきますよっと(3か月コース)
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を入れて無理やり非アクティブにしてやると、
コンボボックスの操作後に背景にフォーカスが移ってキー入力が効くようになった
同じような現象が起きて困っている人のために一応ここに記す
(こんなところに書いても誰も見つけられない定期)
っていうか検索して出てこないのだからおま環なんだろうか、わけがわからないよ
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なんてことをするより筋のいいやり方かもしれません
ただ、この手法だとフォーカスは相変わらずコンボボックスに残るため
コンボボックスの操作終了後も四角い点線枠が表示され続ける(↓)
画像リンク
のが妙に気になるので、一旦は>>944の処理で対応したいと思います。
ちなみに本現象はコンボボックスに限らずキー入力があるコントロールをユーザーコントロール上に置くと発生するようで
どうもユーザーコントロールはKeyPressイベントはあるのにTabStopプロパティはない、
子コントロールを置けるのにKeyPreviewプロパティはないなど、フォーカス周りの設計思想があいまいというか、
システム側にぶん投げてるような感じで、プログラマー側ではフォーカスを制御できないような気がします
(調べたわけではないので個人の感想です)
つまり、わしが悪いんやない、Microsoftがいい加減なのが悪かったんや……!
(と、いい加減プログラマーが申しております)
上下前次1-新書関写板覧索設栞歴
あと 29 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.031s