WEB+DB PRESS plusシリーズオンラインゲームを支える技術
―壮大なプレイ空間の舞台裏
2011年3月24日紙版発売
2014年12月10日電子版発売
中嶋謙互 著
A5判/624ページ
定価3,168円(本体2,880円+税10%)
ISBN 978-4-7741-4580-8
書籍の概要
この本の概要
オンラインゲームをテーマとした技術解説書。
ソフトウェア開発において,オンラインゲーム開発者は卓越した技術力を持つ専門性の高い花形と言われています。そこでは,ゲームのアイデアをソフトウェアという形にするため,企画を熟知した上で,CPUサイクルを極限まで節約しながら続々登場する大量のオブジェクトを動かし,ネットワークで発生するミリ秒のレイテンシを徹底的に切り詰め,無数のコネクションを捌き続けることが求められます。
本書では,オンラインゲーム開発の土台となるゲーム&ネットワークプログラミング両分野の速習からスタートし,知識編として歴史的変遷,さまざまな観点からの要求の分析,システムのアーキテクチャを押さえ,さらに実践編としてサンプルゲームの実装を交えてC/S MMO,P2P MO,サーバ/インフラ,開発体制と,全体的な考え方を一気に追いかけます。
ネットワークを経由して,なぜ,あれほど多くのユーザに向けて高いレスポンスを維持しながらリッチなゲームコンテンツを届けられるのか...。普段からソフトウェア開発に携わっている方々,そして広くゲーム開発に関心のある方へ,商用サービスを視野に入れオンラインゲーム開発の舞台裏を凝縮してお届けします。
なお,紙幅の都合もあり本書ではサンプルゲーム解説で一部疑似コードを使用しているため,参考資料として実際に動く様子を確認できるプレイ動画およびサンプルコードを用意しています。サンプルコードにはソースコードを同梱(ゲームプログラム本体のみ)していますのでソースコードを学習補助資料として使用していただけますが,動作環境はMac OS X v10.6(Snow Leopard)のみとなります。あらかじめご了承ください。プレイ動画,サンプルゲームプログラムについて,詳しくはWebの本書補足情報コーナー(発売日以降,公開)および本書前付けをご参照ください。
こんな方におすすめ
- 商用のオンラインゲーム開発の舞台裏に興味をお持ちの方
- オンラインゲームというソフトウェアの作り方に関心のある方
- ネットワーク,ゲームをはじめ,幅広いプログラミング技術に関する知識を深めたい方
本書の構成
本書の章構成は,以下のとおりです。なお,本書のプログラミングに関する解説(第0章,第4章~第5章)では,C言語やJavaなどの一般的なプログラミング言語に関する基本的な知識を持っていることを前提としています。それ以外の章(第1章~第3章,第6章~第8章)は,プログラマでなくても理解できる内容となっています。
- 第0章 [速習]オンラインゲームプログラミング -- ネットワーク×ゲームプログラミングの技術基礎
本格的なオンラインゲーム開発者と,他の業界の開発者(Webプログラマや業務アプリケーションのプログラマなど)との知識の差分の部分を具体的に紹介します。
- 第1章 オンラインゲームの歴史と進化 -- ゲームが「ネットワーク」を取り込んだ!
第2章 オンラインゲームとは何か? -- さまざまな角度から見る「オンラインゲーム」
第3章 オンラインゲームのアーキテクチャ -- ゲームのおもしろさ×技術的な制約との戦い オンラインゲームの歴史や背景,ビジネス,ジャンルごとの違い,アーキテクチャなどの背景となる考え方をまとめました。
- 第4章 [実践]C/S MMOゲーム開発 -- 常時稼働するゲームサーバの存在
第5章 [実践]P2P MOゲーム開発 -- 専用サーバなしでアクションゲームを実装する オンラインゲームのほとんどをカバーする2通りの実装手法について,サンプルゲームのコードを見ながら開発の流れを体験できます。
- 第6章 オンラインゲームの補助的システム -- サービス強化に欠かせないしくみ
第7章 オンラインゲーム運営を支えるインフラ -- 構築,負荷テスト,運営開始
第8章 オンラインゲームの開発体制 -- チーム運営上の課題 オンラインゲームで重要な「運営」を支える,補助的な技術や考え方を紹介しています。
本書の全体構成について
一般的な書籍では,まず議論の対象となるオンラインゲームとは何かを定義し,背景を説明し,課題を認識し,解決方法の概要を説明し,サンプルプログラムを実装しながら具体的に紹介していく……という流れになるのが普通です。本書でも基本的にはそのような流れに沿って説明を進めていますが,オンラインゲームを実装するための「ネットワークプログラミング」と「ゲームプログラミング」について速習のための第0章を敢えて冒頭に配置しました。
速習の第0章では本書全体のベースとなる専門用語をできるだけ網羅していますので,最初にここをざっと見ておくことで実際に必要となる技術の概要を把握することができ,またその後の章でよくわからないことがあっても第0章に戻ることで理解が深まるようになっています。
もし読者自身が第0章で扱っている話題についてほとんど理解しているなら,オンラインゲームプログラマとしてどこの会社でも即戦力になると思って間違いありません。また,ほとんど知らないことばかり……という場合でも心配は無用です。第0章以降ではそれぞれの技術がなぜ必要になるのかをじっくりと説明していますので,往復しながら読み進めてみてください。きっと深い理解につながると思います。
この書籍に関連する記事があります!
- ネットワーク×ゲーム×プログラミング―オンラインゲーム開発のキーワード15
- オンラインゲームは,ネットワークを介して楽しめるゲームです。
この本に関連する書籍
-
クラウドゲームをつくる技術 ―マルチプレイゲーム開発の新戦力
クラウドで,新しいゲームをつくるための技術解説書。 Webサイトの文書に端を発し,いまや人工知能に至るまで,クラウドはあらゆるものを飲み込んでいます。 ただ...
-
WEB+DB PRESS総集編 [Vol.1~102]
『WEB+DB PRESS』の17年間が,この1冊に。 ご好評をいただいたVol. 100記念号を収録した『WEB+DB PRESS』の総集編。 今回は「17年分の記事PDF」をまとめました。 ...
-
ドラゴンクエストXを支える技術 ── 大規模オンラインRPGの舞台裏
CPU大賞「書籍部門」(2018年度)の「書店員さんが選んだ第1位」を受賞しました 『ドラゴンクエストX』は,ドラゴンクエストシリーズ初のオンラインRPGです。本書は...
-
[増補改訂]関数プログラミング実践入門──簡潔で,正しいコードを書くために
現場の方々に向け,関数プログラミングのエッセンスを厳選解説した入門書。関数型言語Haskellを用い,基本から,Java 8/C/C++/Python/JavaScript/Rubyをはじめ各種命令...
-
プロセッサを支える技術 ― 果てしなくスピードを追求する世界
わずか60年余りで,200万倍もの演算性能向上を遂げたプロセッサ。システムの全体性能を左右する小さなチップには,どのような技術が搭載されているのでしょうか。 本書...
-
[24時間365日]サーバ/インフラを支える技術 ……スケーラビリティ、ハイパフォーマンス、省力運用
一度スタートしたサービスは止めたくない,というのはWebに携わる開発者や担当者に共通する意識ではないでしょうか。しかし,サービスの成長にともない,サーバの増強,...
-
Googleを支える技術 ……巨大システムの内側の世界
たとえば,ふだんなにげなく行っているWeb検索。背後には,想像以上に膨大な計算,多数のコンピュータの働きがあります。 本書では,論文やWebなどで公開されているパ...