UE5:エルデンリングから学ぶ通知システムの主従関係
プレイレポート ELDENRING, Tutorial, UE, UE4, UE5, UnrealEngine, アンリアルエンジン, エルデンリング, ゲーム, ゲームプログラミング, ゲーム開発, チュートリアル, プレイレポート, ロジック構築, 死にゲーみなさん!
エルデンリングというゲームをご存じでしょうか!?って!基本ゲーム好きの人はプレイしてなくても名前は知ってますよね!!!
かくいう私も、最近プレイしたばかりなのです。。。
もっと早く触っていればと今思っております!!!
今回は、そんなエルデンリングのマップの中で、敵エネミーがこちらを発見したときに、主従関係があるのではないかと思う場面があり、その処理はこんな感じで組まれているのではないかと思った点を話してみたいと思います!
あくまで、推測や憶測の範囲で、話すので興味本位で見ていってください!それでは次にいきましょう!

ということで
その場面の、敵Enemy配置場所を簡単に示してみます

簡単に言うと、敵が4体いるところに一人で乗り込んでいく図です!この場合、Enemyの視覚範囲に入らなければ気づかれることはなく、背後に回り混むことで奇襲攻撃!(特定の確定大ダメージを与える)を行うことができます!
まぁもっと具体的なイメージをするならこんなかんじですかね!
ただ、実際にプレイしていると兵士2の視野角はもっと広いと思います!
紫:目での検索範囲
緑:音での検索範囲
何もないMOBは戦闘移行になるタイミングは兵士が号令を出したとき、もしくは戦闘ダメージを受けたときに反応する

プレイしたことがある人だと分かると思いますが、まじでこんな感じの視野が長広いやつがいます!これは寝ていても起きて行動してくるので、わりとむかつきます!
あとこれより、検索範囲が広いやつが多いので、気づかれないと思っていてもわりかし気づかれていると思って行動することがElDENRINGでは大事になると感じました!
ここまで簡単にお話できたら、話したかった、主従関係についてお話ができるかと思います

現代社会のような?それぞれに役職があり、その管轄、上司に行動が依存するということが基本にあるということを考えたほうが、より立ち回りがうまくなる!かつ、ゲーム制作でも役に立つ部分だなと思いました!
ここで大事になる考えは、行動指示の命令は、一方方向に限られるかつ担当がいないと機能しない!といことを意識することかなと思ったのです

簡易にこちらも視覚化するとこんな感じでしょうか?
兵士2が見つけて号令を出した場合、MOB1とMOB2まで戦闘態勢になります!しかしこちらの場合はどうでしょう???

はい。兵士2に発見され号令が出されたが、兵士1はそのときには討伐済み!のパターンです!
その通り!!!

MOB1とMOB2には号令の通知が届かず、戦闘モードに移行しないため、兵士2と1対1を実現することができます!
ELDENRINGは複数対1になるとあまり強くない敵でもやられる時があるので、タイマンに持ち込むことが重要です!

今回のパターンだと、兵士2を倒した後に各MOB1、MOB2を各個撃破できるという流れです!
ということでここまでは、兵士1(中間管理職)を先に撃破したときに設定されている通知はどのように流れて、どこで止まる(ゲーム内通知の流れ)のかを憶測で話してみました!
それでは別のパターンで考えてみましょう!

兵士2を先に討伐しにいったとしましょう!
この場合号令(ゲーム内通知)は兵士2からは流れませんが、兵士1に発見されている場合MOB1とMOB2まで号令(ゲーム内通知)が流れます!
なので1対3という形になり、一気に難易度が高くなります!

いや!兵士1に見つかる前に兵士1を倒せばいいじゃん!!!と思った方いると思いますが、図なのでそう思ったりできるんですけど、ゲーム内で気づかれないときもありますが必ず気づかれる場所がありそこの話をしているので、それは無理です!
前提としてどちらかを攻撃すると必ず気づかれます!!!w
あと、MOB1とMOB2から通知を出すことは基本できないです!というか先に音にも反応しないMOBだったので。
ただ、遠くから攻撃したときにはさすがにMOB単体で戦闘モードに移行しました!かつMOBが動いた場合、兵士は探索モード(イメージ)に移行し、MOBが移動する方向にゆっくり歩行する形で移動をしていたので、プレイヤーが攻撃した方向(MOBの移動先のWorldLocation)を通知と一緒に値として渡しているのかな?とか思いました。
次回はUnrealEngineでの実装方法について書いていけたらとか思っています!それでは!
他にはこんな記事もあるよ!
YouTube
YouTubeなどでも、時おり活動をしていますのでよかったらチャンネル登録しておいて貰えると嬉しいです!