少しずつゲームを作るスレat GAMEDEV少しずつゲームを作るスレ - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト958:Text Dungeon(英語化) 25/07/07 23:11:10.12 O48nZ/qv.net で、早速(って言うか、しばらくこれに手こずっていたのだが)ポーションのデータ構造を一部共有化してみた こんな感じで日本語版でデータをセーブして https://imgur.com/ZrucGRt.png タイトルに戻って英語版に切り替えて、ゲームを再開すると…… https://imgur.com/24ZsU6E.png ちゃんとポーションの名前が英語化されてる!(ご満悦) https://imgur.com/6LuXkoZ.png 尚、共有化すべきなのは名前だけじゃなく、複数形の名前やポーションの説明文などもある こういう「一種別について複数のプロパティをまとめて共有化/英語化」したい場合、JSONよりもCSVのほうが扱いやすいので それ用のCSVを準備することにした、こんな感じ↓ https://imgur.com/PB0TIdg.png 準備するファイルが増えていってどんどん複雑化していく悪寒…… まあ、なるようになーれ(AA略) 959:Text Dungeon(英語化) 25/07/17 21:57:49.42 BQA9x4Yr.net Potionのデータ構造を見直したついでに、MODでユーザーが新規ポーションを追加できるようにしてみた 需要があるか分からないが(無い)、以下コード込みで手順を公開 まずMod製作用に公開するAPI(DLL)を用意 https://imgur.com/GxPrNiM.png 全てinterfaceで定義して、ゲーム本体のクラスには直接アクセスしない方式にした が、全部(または一部)publicにして本体を参照するやり方が簡単でいいかもしれない……次回作はそうしようかしら(10年後) Mod(DLL)のコード https://imgur.com/My2lJWN.png 上のAPIを使って新規ポーションの実装とDLL読み込み時の初期化処理(インスタンス受け取り)を行う 今回は「エリ草ー」(Potionじゃないし)と「ヤバい薬」(飲むと死ぬ)を実装 世界観ぶち壊しだけどModならまあええやろ(自作自壊派) 本体側のMod呼び出しクラス https://imgur.com/PLD9dNe.png Modsフォルダー内の.dllを検索して、初期化(必要なインスタンスの引き渡し)とIPotionの登録を行う 現状では初期化処理を必ずMOD側で記述してもらう必要があり、この辺はまだまだ検討の余地がありそう その他、IPotionをDictionaryに登録するクラスを作ったり、IPotionをPotionに変換するラッパーを作ったり、 必要なら不確定名を割り振ったり、登録情報を元に実際にPotionをゲームに登場させるメソッドを作ったりで、 実際のところAPIやModを作るよりこれらの方が大変だったが、長くなるので割愛 興味ある人がいたら公開しますよ!(いない) 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch