調べて回ったサイトやらスライドやらをペタペタ貼ってみます。
そもそも僕の興味は?
オンラインゲームでラグを減らしたい!!
ただそのために何をすればいいのかわからない状態。
読んだもの
[CEDEC 2010]ネットゲームの裏で何が起こっているのか。ネットワークエンジニアから見た,ゲームデザインの大原則(4Gamer.net)
資料
通信ラグとの上手な付き合い方(altplus Tech blog)
QUIC はデータロス時の処理待ちをどのようにして最小化しているのか?(Qiita)
究極のゲーム用通信プロトコル “WebRTC”(SlideShare)
モバイル対戦アクションゲームの通信最適化テクニック(SQUARE ENIX オンラインゲーム・テクニカルオープンカンファレンス)
スマブラ for 3DSの通信を解析してみた(sonickun.log)
格闘ゲームの通信プロトコル(バンダイナムコスタジオ エンジニアブログ)
Splatoon(スプラトゥーン)のナワバリバトルをパケットキャプチャして解析してみた(雑誌の住人)
ネット対戦型ゲームの通信方式でP2Pを採用したゲームは自前サーバーを介するよりも通信速度や安定性に問題が生じ易いですがそれは何故でしょうか?(Quora)
感想
- だいたい対戦ゲームの通信にはUDPしか使ってないっぽい。たまーにRUDP?UDPとか最低限の情報しか付与してないしここをさらに高速化とか圧縮とかするのは難しそう?(一応デルタ圧縮みたいなワードはあった気がする)
- スマブラもSplatoonもP2P方式を採用しているっぽいしここの同期問題とかを掘り下げるのはあるかもしれない。(どっかの資料にP2Pは遅延が少ないけど同期ズレが起こると書いてあったような気がする)
- P2Pといえばチート対策みたいなところがある(ような気がする)けどそこに対する興味は微妙。はやくしたいんだ!
- 操作性を重視すると動きを予測して画面に表示しておいて、予測と違うかったら修正みたいな方式もあるみたい。その予測精度(prediction)を高めるとかでもおもしろいかもしれない。ただ本願とは離れそう。