本「マルチユーザーゲーム。 ネットワークアプリケーション開発»

画像 こんにちは、habrozhiteli! 先ほど、「マルチプレイヤーゲームプログラミング:ネットワークゲームの設計(ゲームデザイン)」という本を翻訳してほしいと頼みました 。 最近、ノベルティは印刷会社からもたらされました。



この本では、マルチプレイヤーオンラインゲームを作成するために必要なすべての基本概念について詳しく説明しています。 まず、ネットワークインタラクションの基本であるインターネットの仕組みとデータが他のコンピューターに送信される方法について理解します。 さらに、基礎を築いた後、ゲームでのデータ転送の基本、ネットワークを介した送信用のゲームデータの準備方法、ネットワーク上のゲームオブジェクトのコンテンツの変更方法、ゲームに関与するコンピューターの相互作用の整理方法について検討します。 次に、ネットワーク経由でデータを送信する際の信頼性の低い接続と遅延を補正する方法と、ゲームコードのスケーラビリティとセキュリティを確保する方法について説明します。 第12章と第13章では、専用サーバー用のプレーヤープーリングサービスとクラウドホスティングの使用について説明します。これは、現代のオンラインゲームにとって非常に重要な2つのトピックです。



この本のページでは、理論と実践を組み合わせることを試みました。ほとんどの章では、重要な概念だけでなく、ネットワークゲームの本格的な操作に必要なプログラムコードの例についても説明します。 本のウェブサイトには、2つのゲームの完全なソースコードがあります。 それらの1つはアクションゲームで、もう1つはリアルタイム戦略(RTS)です。 読者がここで説明したトピックを習得するのを支援するために、本全体でこれら2つのゲームの多数のバージョンを学習します。



この本のほとんどは、南カリフォルニア大学のマルチプレイヤーゲームプログラミングコース用に設計されたカリキュラムに基づいています。 彼女は、マルチプレイヤーゲームを開発するための確立された教育方法論に頼っています。 ただし、この本はトレーニングマニュアルとしてのみ考慮されるべきではありません。ネットワークゲームの作成方法を学びたい開発者にとって有用です。



この本は誰のためですか?



このアプリケーションでは、本で使用されている最新のC ++言語のいくつかの側面について説明していますが、読者はこのプログラミング言語に精通していることが前提となります。 さらに、読者は、CS2コースで通常カバーされる標準データ構造の基本的な知識を既に持っていると想定されています。 C ++に精通していない人、またはデータ構造をブラッシュアップしたい人には、Eric Robertsの優れた本、C ++でのプログラミング抽象化をお勧めします。



また、読者がシングルプレイヤーゲームのプログラミングテクノロジーに精通していることも前提としています。 理想的には、ゲームサイクル、ゲームオブジェクトのモデリング手法、ベクトル計算、ゲーム物理学の基礎についてのアイデアを持っていることが望ましいです。 これらのことに慣れていない場合は、まずSanjay MadhavaのGame Programming Algorithms and Techniquesなど、ゲームプログラミングに関する入門書を読んでください。



前に述べたように、この本は、ネットワークゲームの作成テクニックを学びたい学生やゲームプログラマーにも同様に適しています。 そして、ゲーム業界で長い間働いてきたが、以前はネットワークゲームの作成に関わっていなかった人でも、この本には多くの有用な情報があります。



なぜC ++なのか?



この本のコード例の大部分はC ++で記述されています。これは、ゲーム業界やゲームエンジンを開発するプログラマーが実際に使用する主要なプログラミング言語であるためです。 一部のエンジンでは、ゲームの大部分を他の言語、たとえばC#のUnityで記述できますが、そのようなエンジンの低レベルコードの大部分はまだC ++で記述されていることを覚えておくことが重要です。 この本の主なテーマはオンラインマルチプレイヤーゲームの開発であり、「ゼロから」と言うので、ゲームエンジンが記述されている言語を使用してこのトピックを検討することは間違いなく理にかなっています。 ただし、他の言語でゲームのすべてのネットワークコードを記述しても、基本的な原則はほぼ同じです。 それでも、C ++に精通していることを強くお勧めします。そうしないと、コード例を理解できません。



なぜjavascriptなのですか?



Netscapeブラウザをサポートするために急いで作成されたスクリプト言語として生まれたJavaScriptは、標準化された完全な、ある程度機能的な言語に進化しました。 クライアント側のスクリプト言語としての彼の人気は、サーバー側への移行を助けました。そこで、彼のオブジェクト型の手続き、単純なクロージャー構文、および動的型付けは、イベント駆動型サービスの開発を非常に効率的に加速します。 この言語のプログラムコードはリファクタリングが難しく、C ++コードよりもパフォーマンスが悪いため、ゲームのクライアントサイドの開発には最適ではありません。 ただし、これらの品質はサーバー側にとっては問題ではありません。サービスをスケールアップするには、スライダーを右にスライドするだけで十分な場合があります。 第13章のサーバーサービスの例はJavaScriptで記述されており、それらを理解するには、この言語にかなり精通している必要があります。 執筆時点で、JavaScriptはGitHubによって最も広く使用されている言語であると推定されました。 その割合は、全プロジェクトの50%でした。 傾向のために傾向を追跡することはめったに良い結果につながりませんが、世界で最も人気のある言語でプログラムする能力は特定の利点を提供します。



本のウェブサイト



この本のために補助Webサイトが作成されています。その上に、本のサンプルコードへのリンクがあります。 また、エラーとタイプミス、PowerPointスライドへのリンク、および大学のコース計画もリストします。



著者について



Joshua Glazerは、RoboBlitz、MicroBot、Twister Maniaなどのコンソールやパーソナルコンピューター向けのゲーム、およびモバイル向けのファッションヒットを開発している独立スタジオNaked Sky Entertainmentの共同設立者兼テクニカルディレクターです。デバイス:「Max Ax」および「Scrap Force」。 Naked Skyのヘッドとして、彼はEpic GamesのUnreal Engine、Riot GamesのLeague of Legends、THQのDestroy All Humans、およびElectronic Arts、Midway、Microsoft、Paramount Picturesのその他多くのプロジェクトを含むいくつかの外部プロジェクトに助言を行ってきました。



組み合わせて、ジョシュアは南カリフォルニア大学で講義を行い、マルチプレイヤーゲームのプログラミングとゲームエンジンの開発に関するコースに興味を持ちました。



南カリフォルニア大学の上級講師であるSanjay Madhavには、プログラミングとビデオゲーム開発のいくつかのコースがあります。 主なものは、上級生向けのプログラミングゲームで、2008年から読み続けています。 また、ゲームエンジン、データ構造、コンパイラー開発などのトピックに関する他のいくつかのコースもリードしています。 彼は本「Game Programming Algorithms and Techniques」の著者です。



南カリフォルニア大学に入社する前は、Electronic Arts、Neversoft、Pandemic Studiosなど、いくつかのビデオゲーム会社のプログラマーとして働いていました。 彼はメダルオブオナー:パシフィックアサルト、トニーホークのプロジェクト8、ロードオブザリング:コンクエスト、ザサボターなど、多くのゲームの作成に参加しました。ゲームで。



»本の詳細については、出版社のウェブサイトをご覧ください

» コンテンツ

» 抜粋



Khabrozhitelのクーポンの25%割引- ゲーム



All Articles