gihyo.jp » 書籍案内 » 定期刊行物一覧 » WEB+DB PRESS » WEB+DB PRESS plusシリーズ » オンラインゲームを支える技術 ―壮大なプレイ空間の舞台裏

書籍紹介

オンラインゲームを支える技術 ―壮大なプレイ空間の舞台裏

この本の概要

オンラインゲームをテーマとした技術解説書。

ソフトウェア開発において,オンラインゲーム開発者は卓越した技術力を持つ専門性の高い花形と言われています。そこでは,ゲームのアイデアをソフトウェアという形にするため,企画を熟知した上で,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章以降ではそれぞれの技術がなぜ必要になるのかをじっくりと説明していますので,往復しながら読み進めてみてください。きっと深い理解につながると思います。


こんな方におすすめ

  • 商用のオンラインゲーム開発の舞台裏に興味をお持ちの方
  • オンラインゲームというソフトウェアの作り方に関心のある方
  • ネットワーク,ゲームをはじめ,幅広いプログラミング技術に関する知識を深めたい方

コメント