分析

2021年6月19日土曜日

【荒野行動】射線切ったのに撃たれる!・・・の謎を考察してみる

自分は全然ゲームが上手くないので、そういうものだ・・・と割り切って負ければ負けとして笑って楽しめる人間なのだが、そうでない人も多い。

息子と荒野行動を一緒にプレーする事も多く、しかも隣に並んで遊ぶ事が多い。
(一緒じゃなくても、お互い別々のチームで各々のモードを遊んでいたりする)
で、隣からよく聞くのがこれ。

今射線切ってた!!
なんでコイツの弾当たるの!!??

毎日、毎分聴いててやや鬱陶しいw・・・のだが、何故そうなるかは自称プログラマーとして気にはなるところだ。
なので、何故こういう現象になるのか?を考察してみたい。
あ、プログラマー的視点で全然考察しませんので、あしからず。それにあくまで予想ですので、これを運営さんとかに見せて、ここが間違ってるんじゃー!とか言わないように。。。

さて、実際に射線切ったはずなのに見えてた相手に撃たれてダウン・・・なんて事はよくある。






















自分はこれは、サーバーを経由して、クライアント(皆さんのスマホやタブレットで動いてるアプリ・・・つまり荒野行動の方ね)に様々な処理の結果を反映してるから・・・だと思っている。

自分の動作もサーバ経由で相手に反映されるし、相手の行動もサーバ経由で自分に反映される。

1対1のような、例えば格闘ゲームのような場合はP2Pで、つまりお互いのマシンが一対一で繋がりを持ち、リアルタイムで動作が相互のコンピューター(スマホやタブレット、PCやゲーム機等)に反映される。

例えばストリートファイターVもサーバー経由しているように見えるが、サーバー経由するのは対戦相手のマッチングだったり、世界中のプレイヤー情報を参照したい場合で、リアルタイムで対戦中はP2Pのはずである。

だが、おそらく荒野行動は最大100人のプレイヤーが同じ場所で戦闘を行う多対多なので、クライアント、サーバー形式なのではないか?と思っている。

もちろんクライアントであるゲームアプリから大量情報を常に送っていたらあっという間にサーバーは処理がパンクする。
多分今の仕様でも軽く秒あたり億越えのトランザクションが発生してるのではなかろうか。

なので、サーバー側で行う処理をできるだけ減らしたい。
自分が設計者ならそう考える(この発想が間違っていたら僕は多分ゲーム開発者には慣れないという事なのだろう・・・)。

だって、システムの要であるサーバーがダウンしたら、何万というプレイヤーが遊べなくなるわけだからね。
そして、可能なかぎりサーバでの処理も分散する。・・・が、分散もクラウドの世の中とはいえ、大量(?)のサーバーを用意するとなると、運営コストも馬鹿にならない。
慈善事業でゲーム運営はできないのである。

なので、運営コストとのバランスも考慮しサーバーへの負担を減らし、クライアント(ゲーム側)で可能な範囲で処理をしようと考えるのではないか?


じゃあ、クライアント側でできる処理とは?
ここでは射線切ったのに・・・の状況で考えてみたい。

突然接敵してしまった場合、不利な状況側は射線を切る。
例えば体力が減っていた、マガジン内の残り弾数がすくなく、リロード前・・・とか。



























当然有利な方は撃つ。

この一連の動作がもしサーバー側にまだ送られていないとすると?

クライアント(ゲーム内)では多分こんな計算が行われているはず。
・逃げた側
接敵した位置から移動した距離、時間をある一定記録、一定数の情報が溜まってからサーバーに送信。

・撃った側
接敵してから射撃のタイミング、「撃った」という行為の情報、位置、持っている銃、銃弾の種類から弾速を計算、標的に当たるまでの時間・・・が、サーバーに送信。
ここで重要なのは撃った側からすれば視点的に相手が見えている状態で弾を撃った事になるという事ではないか。という事。





















そして一定の情報が溜まりサーバーに送られてくると。
サーバーでは・・・
・撃った側の位置、弾速、撃たれた側の位置等からの計算結果、弾が当たったという判定をする。
・撃たれた側にごめん、弾当たったわ・・・という情報が送られる。

が、撃たれた側に「ごめん・・・」のサーバー計算結果が送られる前に、撃たれた側のプレイヤー視点は壁に隠れるなど、射線を切った行動を行ってしまっている。

その直後にサーバーから弾当たったわ。。。という情報が送られてくるので、撃たれた側は隠れたのに撃たれたようになる。

・・・という事ではないかと思っている。

お互いある程度近い距離だと足跡が画面にある小地図でわかるし、足音も方角に従って聞こえる。なので、音も含めて相手の動きを予想する必要がある。
稀にイヤホン、ヘッドホンなしでプレーする方に出くわす(スマホやタブレットのマイクが操作音を拾うので、コツコツやガサガサという雑音がチーム仲間から聞こえてくる事があるだろう・・・ボイスチャットONにしているキッズも多いので、割と迷惑なのだがw)のだが、これは論外だ。
少なくとも勝ちたいならイヤホン、ヘッドホンは必須だろう。
ましてやボイスチャットONでそれやってるとノイズまき散らすので迷惑甚だしい。
是非やめていただきたい。

というわけで、荒野行動(以外のモバイルで遊ぶバトロワ系全般に言える事かもしれない)単なる反射神経のゲームではなく、読み合い、駆け引きのゲームでもある。
もちろん最終的には判断力が早く、操作も素早いプレイヤーが勝つわけだが。

なので、射線切ったのに~~~って文句を言ってるプレイヤーはある程度こういうゲームであり、テクニック、反射神経だけじゃない、駆け引きのゲームなんだと思っておくべきだと、僕的には言いたい。

特にわが子にはね!!w

ところで、当然ながらマシンスペックが高いとクライアント側の処理が早いので、遅延発生がしにくいようで、さらにネットワーク状況を改善する事でさらに快適になるようではある。

そもそも荒野行動はスマホ、タブレット等のモバイル機器でかつもともと処理遅延の発生しやすいWi-Fi環境化で遊ぶ事が前提なので(遅延が致命的な格闘ゲームで、無線は遅延発生の大きな要因であり、対戦お断りされる大きな要因の一つである)、そういう事もプレイヤーはある程度考慮しておくべきだろうと思っている。

ぎんなん仕事しろ!!

とか言ってる間に、駆け引きで勝つためには?の戦略、戦術勉強をしておくべきではないか。

キル集も悪くないが、動画ではやはり大会や猛者の通常プレイの動画を見て学ぶべきだろうと僕は思うのだ。

とはいえ、こういうのはやはりオッサン説教くせぇっつって聞いてはもらえないのだろう・・・

それに文句もまた発散なのかもしれないし。
何を発散しているのかは解らないけどww


PR

オーディオストックでBGM・効果音を販売中! ブログランキング・にほんブログ村へ
にほんブログ村


0 件のコメント:

コメントを投稿