ホロライブの二次創作ゲーを作りたい (938レス)
1-

745: 2024/05/30(木)22:51 ID:y/7aWkE7(1/3) AAS
>>744
条件が複雑になりやすいので遷移ごとに分けてはどうでしょうか。
ひとまとめになってるのは自分はあんまり見たことないです
746: 2024/05/30(木)23:07 ID:y/7aWkE7(2/3) AAS
>>744
イベントドリブン方式と言って、
攻撃、回避、ダメージなどへのアクションが要求された時に
それぞれの処理を別々に記述する感じです
747: 2024/05/30(木)23:41 ID:y/7aWkE7(3/3) AAS
Unityが配布してるProject TCCにVisual Scriptingだけど
アクションゲームのイベントドリブン条件付き遷移のサンプルがあります
748: 2024/05/31(金)18:34 ID:xnLniCAs(1/2) AAS
攻撃処理で具体的に何するとか被ダメージ処理は具体的にこうするみたいなのは流石に分割したメソッドでやってますね
今の実装は「モーション(+攻撃や被ダメージ等のイベント)の変更を受け付ける」
→「受け取ったモーションへの変更可否を決定する(>>744)」
→「変更を許可したモーションに応じたイベントを開始する(攻撃による敵のHP減少、被ダメージによる死亡処理など)」
という感じです

イベントドリブンというのはUnityEventのAddListenerやInvokeを使うのが近いでしょうか
ただやはり”現在の状態(攻撃中、移動中、被ダメージ中)”を元に処理を分岐させる点を考慮すると>>744みたく一箇所で判定するがいい・・・のか?
749: 2024/05/31(金)19:59 ID:xnLniCAs(2/2) AAS
画像リンク[gif]:tadaup.jp

現在位置から一番近い敵を見つけて追従するだけのAIを実装。
このゲームでは基本的にCPU同士も敵だけど、プレイヤーを若干優先的に狙うような補正あり
今はプレイヤー補正が強すぎる気がするけど細かいところはやっぱり後回し

これであとは「敵が攻撃範囲に入ったら攻撃する」AIを土日に作れれば理想的
ただこの”攻撃範囲に入ったら”の部分が面倒そう・・・
近接攻撃にも遠距離攻撃にも対応させないと
750: 2024/06/02(日)21:56 ID:MdmgTygu(1/2) AAS
画像リンク[gif]:tadaup.jp
なんでだよ!(実装途中だけど時間切れ)
今週というか明日以降はしばらくこのゲームにあまり時間割けないかも・・・
751: 2024/06/02(日)21:56 ID:MdmgTygu(2/2) AAS
画像リンク[gif]:tadaup.jp
752: 2024/06/05(水)20:41 ID:qvh/Mkil(1) AAS
今日まなんだこと
Dictionaryのキーに指定したものによる挙動の変化
 classを指定:インスタンスの参照が同一であれば同じキーとして扱われる。object.ReferenceEquals(a,b);ってこと?
 enumを指定:実データは数値のくせしてIEqualityComparer<T>を使わないとボクシングが発生する。理不尽
 structを指定:IEquatable<T>を継承していてなおかつGetHashCodeを実装してないとボクシングが発生する。ガッツリUnitGeneratorをキーに使ってたから冷や汗かいたけどしっかり実装してくれてた

宿題:キーにSystem.Typeを指定したらどうなる?そのうちしらべる
753
(1): 2024/06/07(金)20:08 ID:2fgPR9tD(1/3) AAS
「prefabにアタッチしたコンポーネント」と「ゲーム開始時に読み込むマスタデータ」の両方に持たせて紐づける必要があるデータ(衣装やアクセの種類、prefab内の特定のオブジェクトを起点に発生するイベントの詳細な情報をマスタデータで管理したい場合など)をどうするか問題

今のところ
・prefabのコンポーネントに持たせたデータをオリジナルとする
→自作の拡張機能をワンクリックすると、prefabから”マスタデータの元となるテキストファイル”にコピーする
→”マスタデータの元となるテキストファイル”から”最適化済みマスタデータ本体”への変換をゲーム実行時に自動で行う(ここまでUnityEditor)
→ビルド後は”最適化済みマスタデータ本体”だけ使う
という手順を踏んでるのが現状
754: 2024/06/07(金)20:11 ID:2fgPR9tD(2/3) AAS
手順通りにきちんとやる前提ならこれ>>753で問題ないんだけど
いざこのゲームを一般向けに公開した時のことを妄想すると、「致命的なバグを慌てて修正する際にこの手順のいずれかを誤って飛ばした結果――」というシチュが浮かんでくる
いやまあそんなこと言い出したらどんな最適化手法も全部おじゃんなんだけれども。
怖いなあヒューマンエラー・・・
755: 2024/06/07(金)20:20 ID:2fgPR9tD(3/3) AAS
画像リンク[gif]:tadaup.jp

ゲームの進捗まあまあです(GIFは倍速)
次はプレイヤーの死を実装して、攻撃も1パターンだけだとこの先の検証が流石につらいのでもう少し増やす
とりあえずこの土日はそこまでがノルマ

プレイヤーは表に出てる1人+控え2,3人の構成にしたいので
表のプレイヤーが死ぬ→控えに交代→死ぬ→控えが0人=ゲームオーバー
というのが敗北条件
ステージに出てくる敵を全部倒して生き残るのが勝利条件
この辺りのルールはもろポケモンスクランブル
756: 2024/06/09(日)17:02 ID:Q3/3TzhW(1) AAS
画像リンク[png]:i.imgur.com
たまたまかっこいいショットが撮れた

折角シェーダとかグラフィック面もこだわってるし、バトル中に一時停止して鑑賞できる機能とかつけようか一瞬迷ったけど
でもどうせホロライブのモデル以外はホロライブと全く関係のない寄せ集めのアセットだしなぁ
757: 2024/06/12(水)19:47 ID:AJ7z2JyV(1) AAS
画像リンク[gif]:tadaup.jp

前方2,3メートル先だけに当たり判定のある攻撃を実装。
この攻撃を出すためにCPUは相手と一定の距離を保ちたがるAIも併せて実装。
これでとりあえず敵のAIにバリエーションを持たせられるようになったのでよしとする。

ただどうも死亡後のリスポーンの挙動が怪しい。
吹っ飛んだら死亡直前にいた位置でリスポーンしてほしいのに、たまに吹っ飛んだ先でリスポーンする。
アクションゲームだと僅か1フレームだけ立ってるフラグが原因になる不具合とかあるから大変だ
758
(1): あぼーん [あぼーん] AAS
あぼーん
759: 2024/06/13(木)20:56 ID:TIw63qJb(1) AAS
>>758
グロ
760
(1): あぼーん [あぼーん] AAS
あぼーん
761: 2024/06/14(金)12:02 ID:wKrMsWsL(1) AAS
>>760
グロ
762
(1): 2024/06/15(土)08:19 ID:Hps/JR6Q(1) AAS
動画リンク[YouTube]

参考資料
度々名前を出したポケモンスクランブルの3DSソフトの高難易度ステージのプレイ動画
3DSのゲームだから録画する手段も限られるせいか動画少ないね

今作ってるゲームもこれくらいのワチャワチャ感でいきたい
763: あぼーん [あぼーん] AAS
あぼーん
764: あぼーん [あぼーん] AAS
あぼーん
1-
あと 174 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.011s