こんにちは、Habr!
Unityについての本をリリースしたばかりで、ゲームプログラミングのトピックがどの程度関連しているか疑問に思いました。 このテーマに関する多くの本がリリースされるように思われますが、これはそうではありません。
本「
マルチプレイヤーゲームプログラミング:ネットワークゲームの設計(ゲームデザイン)」がリリースされました。

ロシア語への翻訳はどの程度関連していますか? カットの下の詳細。 あなたのコメントを待っています。
オンラインマルチプレイヤーゲームは数千万人のプレイヤーを引き付けるため、数十億ドル規模のビジネスです。 コードと実際の例でいっぱいのこの本では、そのようなゲームを開発することのすべてのニュアンスを探ることができます。 この本の著者は、ゲーム開発における自身の経験に基づいて、信頼できるマルチユーザーアーキテクチャを構築するための基本を紹介します。 アクションとリアルタイム戦略(RTS)の2つの本格的なゲームの動作コードを理解する必要があります。
著者は、ゲーム開発者の観点から、ネットワーキングとネットワークプログラミングの基本を見ることを提案しています。 そして、データ転送、ネットワークの更新、およびゲームに接続するデバイスを介したゲームの管理に対処します。 インターネットの問題にもかかわらず、信頼性の高い動作を確保する方法を学び、安全でスケーラブルなコードを作成できるようになります。 ゲームサービスとクラウドテクノロジーという2つの重要な問題に注意を払う必要があります。
この本の内容全体が徹底的にテストされているので、この本は、オンラインゲームに切り替えたいプログラマーと経験豊富なプログラマーの両方に役立ちます。
この本で読むことができるもの:
- ネットワークがゲームに与える影響
- インターネットプロトコルとゲーム開発標準
- バークレーソケット-オンラインマルチプレイヤーゲームで最も人気のあるインターフェイス
- 効率的なゲームデータ転送
- 同期。プレイヤーは世界のどの国にも住むことができるため
- ゲームのネットワークトポロジ
- 遅延またはデータ損失につながる遅延およびジッタとの戦い
- パフォーマンスを犠牲にすることなくスケーリング
- 戦闘ソフトウェアの脆弱性とチート
- Unreal 4およびUnityのネットワーク機能
- ゲームサービス(マッチメイキング、実績、リーダーボード)との統合
- クラウドでゲームサーバーを実行する
(すべてのC ++サンプルのソースコードは、github.com / MultiplayerBookで入手できます)
内容1ネットワークゲームの概要........
マルチプレイヤーゲームの簡単な歴史....
スターシージ:部族......................
Age of Empires .......................
まとめ............................
2インターネット........................
起源:パケット交換...............
TCP / IPレイヤーケーキ......
物理層....................
リンク層.......................
ネットワーク層....................
トランスポート層...................
アプリケーション層.................
NAT ................................................
まとめ............................
3バークレーソケット....................
ソケットの作成............
APIオペレーティングシステムの違い.......
ソケットアドレス.......................
UDPソケット.........................
TCPソケット.........................
ブロッキングおよびノンブロッキングI / O ..........
追加のソケットオプション..............
まとめ............................
4オブジェクトのシリアル化..................
シリアル化の必要性..............
ストリーム.............................
参照データ......................
圧縮.........................
保守性.......................
まとめ............................
5オブジェクトの複製...................
世界の状態.................
オブジェクトの複製..................
素朴な世界状態の複製...........
世界の状態の変化................
シリアル化されたオブジェクトとしてのRPC ..............
カスタムソリューション.....................
まとめ............................
6ネットワークトポロジとサンプルゲーム。
ネットワークトポロジ...................
クライアントサーバーの実装.............
ピアツーピアの実装..............
まとめ............................
レビューの質問.....................
追加資料....................
7遅延、ジッター、および信頼性..........
レイテンシー.............................
ジッター...............................
パケット損失..........................
信頼性:TCPまたはUDP?...............
パケット配信通知............
オブジェクト複製の信頼性...........
現実世界の条件のシミュレーション.......
追加資料...................
8遅延処理の改善...........
ダムターミナルクライアント..............
クライアント側の補間...
クライアント側の予測..................
サーバー側の巻き戻し....................
まとめ............................
9スケーラビリティ.........................
オブジェクトの範囲と関連性............
サーバーのパーティション分割....................
インスタンス化...........................
優先順位付けと頻度............
まとめ............................
10セキュリティ..........................
パケットスニッフィング.......................
入力検証......................
ソフトウェアチート検出...............
サーバーの保護....................
まとめ............................
11現実世界のエンジン................
アンリアルエンジン4 ......................
統一...............................
まとめ............................
12ゲーマーサービス....................
ゲーマーサービスの選択..............
基本設定..........................
ロビーとマッチメイキング..............
ネットワーキング..........................
プレイヤー統計.......................
プレイヤーの実績..................
リーダーボード........................
その他のサービス........................
まとめ............................
13クラウドホスティング専用サーバー...
ホストするかしないか...
貿易のツール.....................
概要と用語.............
ローカルサーバープロセスマネージャー...........
Virtual Machine Manager ...............
まとめ............................
付録AA Modern C ++ Primer .......
C ++ 11 ..............................
参考文献..........................
テンプレート...........................
スマートポインター........................
STLコンテナ.......................
イテレータ.............................