#author("2021-02-09T07:17:33+00:00","","") ┃ ┃┏━┓┏┓ ┏━┓ ┣┳┛┃ ┃┣┻┓┣━┫ ┃┗┓┗━┛┗━┛┃ ┃ #author("2024-01-19T06:24:39+00:00","default:admin","admin") * ■トレーナー型バトルの問題点と解決策 [#k48be4a7] <pre> [昨日 23:02] 長井 伸樹 トレーナーバトル関係の不具合をチケットに起こそうとしているのですが、そもそもトレーナーバトルはどういう挙動が正しいのでしょうか? 現状不具合に見える点として下記あたりがあるようです(まだ調べ切れてませんが) </pre> ** 1)トレーナーによるアイテム使用 [#a60da726] ・アイテムを使っても減らない ・アイテムに効果がない ・「消耗品」設定をしないとアイテム欄に表示されない ・攻撃アイテム(使うとスキルが発動するようなアイテム)は使用先に自分のモンスターしか選択できないが、使用した後の結果は敵モンスターに反映される演出が出る(が効果はない) ** 2)トレーナーによるスキル使用 [#fb5fef5e] ・トレーナーのMPが表示されていないため、MP切れになるのがわからない。 ** 3)バトル結果 [#se985c6f] ・「新たな敵が…」表示が出て何回か闘っても、経験値は1体分しか手に入らない(お金も) ・トレーナーが倒しても経験値が入る(おそらくモンスターに入っている) ** 4)表示 [#nb1dd9f7] ・トレーナー名がほかの表示物と被っている ・野良バトルなのに、モンスターの入れ替わりの際(「新たな敵が…」の時)トレーナーがいるかのごとき演出が入る。 (キャラが2Dだった場合、モンスター入れ替え演出で敵トレーラーが映るのか??未検証) ** 5)そのほか [#d3ee393c] ・逃げた際、BGM等がフェードしないのでぶつ切り感がある トレーナーのアイテム使用とスキル使用について、データベースのキャストの設定のところで、それらをトレーナー行動として選べなくすれば一番簡単でしょうが、「アイテムは使えてもいいかも」とか、「スキルも使える=トレーナーのステータスも何等か表示する」とか…いろいろあるのかなと思いました。 [昨日 23:26] 堀田 秀樹 トレーナーはポケモンもそうですが、アイテムは必須です。副数種類の捕獲アイテムの使い分けや、モンスターの回復に使うので。 [昨日 23:26] 長井 伸樹 ですよね。 [昨日 23:27] 堀田 秀樹 野良の連続バトルの演出は、専用のカメラが必要ですね。今は、トレーナーがいないだけで、カメラは同じのを使ってるので。 [昨日 23:29] 長井 伸樹 少なくとも現状アイテムは効いてないのでそれは直すとして、 攻撃力のあるアイテムをトレーナーが使った場合どうなるのか、かなと思います。 そのアイテムで倒しちゃったら、経験値は誰に入るの?とか、あとは…使う時の流れとか [昨日 23:29] 長井 伸樹 連続バトルのカメラはそうですね。 [0:38] 小林 貴樹 仕様が定まっていない(限定していない)部分なので、何かしら規制をつけるかユーザーに任せるかの判断が必要ですね。自由すぎると理解しにくくなりますが、新しい表現になる可能性もあったり。 攻撃アイテムの挙動とかは定めても良いと思います。 ---- * ◎解決策 [#g0890a35] ** 1)トレーナーによるアイテム使用 ・アイテムを使っても減らない [#mbf3f2e9] ・アイテムに効果がない ・「消耗品」設定をしないとアイテム欄に表示されない ・攻撃アイテム(使うとスキルが発動するようなアイテム)は使用先に自分のモンスターしか選択できないが、使用した後の結果は敵モンスターに反映される演出が出る(が効果はない) ・バグ:アイテムを使ったら減らす ・バグ:戦闘中のモンスターに対してアイテムを使う ・消耗品以外も出すかどうかをゲーム定義の設定要素として追加する(体力回復を無限に使えたら戦闘が無意味になる可能性あり) ・攻撃アイテムを許すかどうか?(モンスターの意味がなくなる可能性、トレーナーのHPが変化しないと無敵の守護神となってしまう)回復系のスキルについても同様(過保護なバトルは作れるが許すべきか?) ** 2)トレーナーによるスキル使用 ・トレーナーのMPが表示されていないため、MP切れになるのがわからない。 ・MP表示追加 [#f93fdc05] ** 3)バトル結果 [#la3df734] ・「新たな敵が…」表示が出て何回か闘っても、経験値は1体分しか手に入らない(お金も) ・トレーナーが倒しても経験値が入る(おそらくモンスターに入っている) ・ポケモンでは敵1匹ごとに経験値加算だったかも? ・少なくとも倒した敵の数分経験値とお金が入るように修正 ・トレーナーが倒せるというのは独自要素なので残すべきか?残した場合は倒した分がモンスターに入る?(トレーナーにも経験値情報があるのでトレーナー自身の成長にも使える?その場合はトレーナーのHP等も活かさないと無敵で攻撃できる存在になってしまう→トレーナー型の場合はモンスターへ入るで問題ないと思われる) ** 4)表示 [#k7e435cc] ・トレーナー名がほかの表示物と被っている ・野良バトルなのに、モンスターの入れ替わりの際(「新たな敵が…」の時)トレーナーがいるかのごとき演出が入る。 (キャラが2Dだった場合、モンスター入れ替え演出で敵トレーラーが映るのか??未検証) ・そもそもトレーナー型バトルの配置設定にトレーナー位置の指定が不足。 ・表示位置調整はレイアウトツール側で調整できるようにする(ただし現状表示されているオブジェクトに対するステータス位置指定が存在しないので仕様検討必要) ・野良バトル用のカメラをシステム側に追加する ** 5)そのほか ・逃げた際、BGM等がフェードしないのでぶつ切り感がある バグ、BGMにフェードアウトを追加(バトルのイベントコマンドにフェード時間の設定追加?マップの曲とのクロスフェードが理想?) [#s3cfd63c] * ◎トレーナー型バトルに不足している会話情報(キャストに追加) [#v9ba0bbd] キャストの「装備と技能」の下にパネルを追加して必要なメッセージ文字列が登録できるようにする。 -登場時の自己紹介 -新しいモンスターを出した時 -モンスターを交換した時 -勝った時の決め台詞 -負けた時の捨て台詞 アイテムを使った時・スキルを使った時も必要か? * ◎流れ トレーナーとのバトル 野良だと相手方の交代選択は「新たな敵が…」になるか。 [#y3f57c2f] ●はユーザーが設定することも可能 ●トランジション ↓ ●デフォカメラ ↓ ●コマンド選択カメラ ●初回登場モンスター選択 メッセージ ●登場カメラ ↓ (敵モンスター選択) ● メッセージ ●敵登場カメラ ↓ ●デフォカメラ いらないかも ↓ コマンドを選ぶはず ●コマンド選択カメラ ↓ アイテム使用選択 ●アイテム使用カメラ ● メッセージ ↓ ●バトル攻撃演出 ● メッセージ ●ダメージ演出 ● メッセージ ↓ →バトル終了へ ●バトル攻撃演出 ● メッセージ 〇〇が●●を繰り出した! ●ダメージ演出 ● メッセージ 〇〇は××のダメージ/〇〇は△になった/大丈夫か!○○! ↓ →バトル終了へ ●コマンド選択カメラ ↓ 交代選択 ● メッセージ 戻れ!〇〇 ● メッセージ いけ!○○/ 〇〇に代わって〇〇が飛び出てきた! ●登場カメラ ↓ ●バトル攻撃カメラ エフェクトはスキルについている ● メッセージ 〇〇が●●を繰り出した! ●ダメージカメラ ● メッセージ ○○は倒れてしまった ●バトル終了カメラ? ↓ ●報酬表示レイアウト(これはレイアウトツールで設定してあとは固定かも) ●報酬時カメラ/敗北時カメラ?(相手方の勝ちカメラか) ●メッセージ勝ち/メッセージ負け(相手方の勝ちメッセージか) ↓ ●トランジション バトル終了・通常への復帰 ■マップエディタ編集機能について 最も基本的な編集機能が不足している。 - 1)地形に高さ表示モード(地形タイルの上に自分の高さが表示される) - 2)指定した高さだけを見るモード -- 3)選択している地形の見分けがつかない -- 4)カラー表示モード(東西南北の壁の面をシンプルな色で塗り分けるモード東が赤、西が青、北が緑、南が黄のような極端な色分け) --- 5)地形の選択機能がすべて機能していない? --- 6)デフォルトでグリッド線をONにする -- 7)指定位置を強制的に指定した高さに変更するツール(クイックツールバーまたは右クリックメニューでも良い) - 8)地形範囲選択後にクイックツールからリンクオブジェクトを生成する機能(範囲を持つマップ間のつながり設定) ◎選択範囲を見やすくするためには? 1)選択範囲以外を青黒くする? 2)明滅周期の高速化?(明滅途中にゼロが入るのは問題) 3)白黒反転? 4)斜め線が入る? 5)彩度反転? 視覚的にダイナミックな変化がつけられないか? ■システムリソースの扱い方 システムリソースはゲームデータに必ず存在するデータとして扱うが商品の表現を固定化する恐れがあるためユーザーによる改編を許可する。 現在ユーザーがゲーム内のデータとして選択できるのはリソース管理画面内に登録されている要素だけであり「システムリソース」を選択することができない。 この部分の矛盾を解決するために以下の変更を提案する。 ◎現在の仕様(ゲーム定義にシステムリースが存在し独立した管理方法) 1)ゲーム定義>システムリソース内にプログラムに焼き付いているリソース情報が並んでいる 2)これらの参照先はプログラムなのでユーザーは直接参照しているプログラム側の変更はできない 3)ユーザーはシステムリソースの画像やサウンドを変更することで他のリソースに置き換えを行う 4)変更するための画像やサウンドは直接ローカルPC上のデータを利用する ◎新しい仕様(リソース管理に統合し、管理されたリソースを割り当てる方法へ) 1)ゲーム定義>システムリソースをリソース管理へ移動(新規変更要素) 2)リソース管理のテクスチャとサウンドにシステムリソースで使われる素材が削除禁止で並ぶ(新規追加要素) 3)システムリソース内の画像やサウンドはリソース管理内の画像やサウンドが割り当てられる(新規追加要素) 4)ユーザーがシステムリソースを変更したい場合は任意の画像やサウンドをリソースに追加してシステムリソースに割り当てる 5)ユーザーは他のリソースと同様にシステムリソースの画像やサウンドを利用することができる 6)システムリソースの管理はシンプルにSBDataGridViewのみ 7)項目間を広げたら画像は大きく表示されるのが理想(もしくは最初から少し大きめにしておく) ※おそらくレイアウト画面が完全に組み込まれるとシステムリソースには不要な要素も出てくる可能性がある ※選択カーソルや操作用のアイコン等は統一できる可能性もある(ショップ内の選択アイコン等) ■リソース管理の機能調整 ◎リソース管理のツールバーについて 現仕様ではスタンプが物事の中心となっていることが感覚的に定着してきたので、さらに迷わせない方向で強化する。 1)描画スタンプの+ボタン追加は画像とFBXのファイル選択ダイアログから選ぶ方式にする(名前だけ新規で生成する機能は廃止して+の隣のボタンの機能にFBXも対象として含める) 2)描画スタンプから他の機能生成は対応しない(スタンプとアニメのアイコン削除) 3)便利だと思って付けた機能が混乱を呼ぶ可能性があるので整理する |地形|画像|なし| |スタンプ|画像|テクスチャ+アニメ| ||FBX|モデル(+テクスチャ+マテリアル(+モーション+物理))| ||PSB|E-mote形式のメッシュポリゴン| ||EFK|Effekseer形式のパーティクル| |テクスチャ倉庫|画像|なし| |マテリアル|画像|テクスチャ| |アニメ|画像|テクスチャ| |モデル倉庫|FBX|モデル(+テクスチャ+マテリアル)| |物理設定|FBX|モデル| |モーション|FBX|モデル| |E-mote|PSB|描画スタンプ| |パーティクル|EFK|描画スタンプ| |ムービー|WEBM|動画| |サウンド|OGG|BGM| ||WAV|SE| |MIDI|SMF|MIDI(未対応)| |VST3|VST|VSTi(未対応)| ■マップ設定>遠景にスケール指定追加 マップの遠景サイズを調節できるように、XZとYのスケール設定を追加。 ■テキスト入力補助 テキスト文字列内に特殊なコマンドを埋め込むことができることになったので、それらのコマンド入力を補助するダイアログを追加したい。 ◎カトちゃんコマンド(文字装飾、内部情報表示) \money 所持金 \map マップ名 \time 経過時間 \#[変数名] 数値変数の値 \$[変数名] 文字列変数の内容 ◎高橋君コマンド(レイアウト用) \partyname サブパネルのインデックスに合わせたキャストに登録されている物の名前表示 \partyimage サブパネルのインデックスに合わせたキャストに登録されている物の顔画像表示 \partystatus[x] サブパネルのインデックスに合わせたキャストに登録されている物のステータスを表示する (xを変更することで以下の変数の内容を表示しています) 0 level 1 maxHitpoint 2 hitpoint 3 maxMagicpoint 4 magicpoint 5 power 6 vitality 7 magic 8 speed 9 exp \itemname サブパネルのインデックスに合わせたデータベースのアイテムに登録されているアイテムの名前表示 \itemimage サブパネルのインデックスに合わせたデータベースのアイテムに登録されているアイテムの画像表示 \itemdes サブパネルのインデックスに合わせたデータベースのアイテムに登録されているアイテムの説明分表示 \skillname サブパネルのインデックスに合わせたデータベースのスキルに登録されているスキルの名前表示 \skillimage サブパネルのインデックスに合わせたデータベースのスキルに登録されているスキルの画像表示 \skilldes サブパネルのインデックスに合わせたデータベースのスキルに登録されているスキルの名前表示 \equipicon サブパネルのインデックスに合わせた装備アイコンを表示 \equipname サブパネルのインデックスに合わせたデータベースのキャストに登録されている1番目のキャラクターの装備の名前を表示 \equipimage サブパネルのインデックスに合わせたデータベースのキャストに登録されている1番目のキャラクターの装備の画像を表示 ここに高度なイベントのコマンドから埋め込み可能な要素を抽出してコマンドとして文字列から発行できないだろうか? 音とかは普通に使えそうな気がするが、バトルとかは制御の順番等を考えると危険か? ここに制御系も入るとノベルゲーム等は高度なイベントを使わずに実装できると思う。 \bgm BGMを変更する \se SEを鳴らす \effect エフェクトの表示 \display 画面効果の指定 \? 条件判定 \#[変数名][値] 指定した変数名に値を書き込む