サーバーはそれぞれのクライアントと通信している。
クライアントというのは、ユーザーの端末。
サーバーは各クライアントと色んな通信をする。
右下のクライアントが自分で、その他のクライアントは他人であるとする。
自分がジャンプすると・・・
ジャンプしたことがサーバーに送信される
それを受信したサーバーはどのクライアントに「自分」がうつっているか判断し
サーバーは「自分」がうつっている各クライアントに「ジャンプした」ことを送信する。
ジャンプのお知らせを受信したサーバーは、該当キャラクターをジャンプさせる。
そのため、この場合の「自分」のジャンプは「他人」の画面では少し遅れて表示される。
左上だけ違うジャンプをしているのは「レアジャンプ」
「ジャンプ開始」の通信はするけどジャンプの種類は通信しない。
ジャンプの種類は各クライアントで判断する(というかランダム)
ジャンプの種類も通信すると、通信料じゃサーバーの処理する量(負荷)も増えてよろしくないのでこうしている。
移動しながらジャンプすると、移動(座標)とジャンプを通信するが・・・
移動ジャンプは遅延が大きい。
移動は0.5秒ごと(=ゲーム内の座標で3m動ける)にサーバーに送信
ジャンプすると「ジャンプ開始」と「ジャンプ位置」をサーバーに送信
受信側クライアントでは、送信側がジャンプした位置に着いたらジャンプ
これが「移動ジャンプは遅延が大きい」理由
クイズ「通信頻度の高い順に並べてください」
A.連続ジャンプ
B.連続移動ジャンプ
C.さそう踊り
答:B>A>C
Bはジャンプするたびに「ジャンプ開始」と「ジャンプ位置」の通信をする。
Aはジャンプするたびに「ジャンプ開始」の通信をする。
Cは踊っている間ずっと通信しまくるわけではなく、「踊り開始」と「踊り終了」の通信しかしない。