ドラゴンクエスト X を支える技術
ドラゴン クエスト テン オ ササエル ギジュツ
大規模オンライン RPG の舞台裏
- 著者:
- 青山公士(アオヤマ, コウジ)
- 出版社:
- 技術評論社
- 出版日:
- 2018年11月
- ISBN:
- 9784297101749
- シリーズ:
- WEB+DB PRESS plus
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
ゲーム開発の基本、実装の工夫、運営ノウハウ。
技書の森解説
シリーズ初のオンライン作品を、どんな体制と設計で動かし、どう運営しているのか。『ドラゴンクエスト X を支える技術』 (青山公士 著、技術評論社、WEB+DB PRESS plus シリーズ、2018 年 11 月刊) は、副題に「大規模オンライン RPG の舞台裏」と掲げ、『ドラゴンクエスト X』の開発 / 運営の内側を当事者が公開する A5 判の一冊です。版元の概要によれば、著者は刊行時点でプロデューサーとして全体の責任者を務め、以前は技術責任者でもあった人物で、プログラミングやドラゴンクエスト X の事前知識がなくても読み進められるよう丁寧に解説することにこだわったとされています。版元が挙げる読者は、オンラインゲームの開発 / 運営に興味のある人、将来ゲーム業界に進みたい人、ゲーム開発者、そして「ドラゴンクエスト X の冒険者のみなさま」で、技術書でありながらプレイヤーも読者に含めている点が特徴です。2018 年度の CPU 大賞「書籍部門」での受賞も版元の概要に記されています。
全 12 章の構成、ゲームの成り立ちからチート対策まで
構成は全 12 章とあとがき、索引です。第 1 章はドラゴンクエスト X とは何かを、ドラゴンクエストのオンラインゲーム化とその歴史から説き、第 2 章は開発 / 運営体制として支える人々に焦点を当てます。第 3 章「アーキテクチャ」はクロスプラットフォーム MMORPG の基本構成として、コンピュータの構成要素、ゲームの構成要素、プログラミング言語、プロトコル、リソースデータを順に押さえます。第 4 章は開発と検証で、並走する追加と保守のサイクルを、第 5 章はメモリ管理を、第 6 章はゲームクライアントグラフィックスを扱います。第 7 章「ゲームサーバプロセス」は、1 プロセス 1 スレッドのシングルスレッド方針、ワールドプロセス、ゾーンプロセス、バトルプロセス、ロビープロセス、ゲームマスタープロセス、インスタンスゾーンと、機能ごとに分離したプロセス群の解説です。第 8 章はキャラクター移動で通常移動と移動干渉の両立を、第 9 章はゲーム DB でプレイヤーキャラクターデータの一元管理とテーブル情報を、第 10 章はゲーム連動サービスを取り上げます。第 11 章「運営と運用」は攻めの運営と守りの運用、製品サービス環境へのリリースとメンテナンスの実施、不具合報告と要望への対応、未来へ向けた分析を、第 12 章「不正行為との闘い」は RMT、自動操縦、不具合の不正利用、プレイヤー間トラブル、チートへの対応を扱います。
MMORPG のサーバ設計がなぜ難しいか、プロセス分離と移動干渉から読む
MMORPG の難しさは、多数のプレイヤーが同じ世界の状態を共有し続ける点にあります。一人の行動が周囲の全員に伝わらなければならず、状態を持つゲームサーバは、無状態な Web サーバのように単純に台数を増やすわけにはいきません。第 7 章がゲームサーバを機能ごとに分離し、ワールドプロセスを「スケールアウトのためのパラレルワールド」と位置づけ、同一場所をパラレル化するインスタンスゾーンを置いているのは、この制約の中で 水平スケーリング と 負荷分散 を成立させる設計の一例です。第 8 章の、ゲームクライアント主体の通常移動とゲームサーバ主体の移動干渉を両立させる話も、応答性と整合性のどちらを誰が持つかという、ネットワークゲーム一般の根本問題を扱っています。第 9 章の、ワールド間の自由移動を実現するためにプレイヤーキャラクターデータを一元管理し、その一元管理がボトルネックになるという構図や、第 5 章がメモリ管理を MMORPG のボトルネックと呼ぶ構図は、長時間動き続けるサービスに固有の問題で、ゲーム以外の大規模システムの設計にも通じます。
事前知識なしで読める前提と、向かない読者
版元は、プログラミングやドラゴンクエスト X の事前知識がなくても読み進められるよう解説していると案内しており、第 3 章がコンピュータの構成要素やプログラミング言語、プロトコルといった土台から説明する構成もそれに沿っています。前提知識はほとんど要りませんが、逆に、特定の言語やゲームエンジンでコードを書いて動かすハンズオンや、サーバ構築の手順書を期待する人には向きません。書かれているのは一つの商用タイトルの設計判断と運営の実際であり、2018 年 11 月の刊行時点までの内容として読む必要があります。著者について版元のプロフィールは、他社でのゲームのメインプログラマー、ディレクターを経て、1999 年 3 月に株式会社スクウェア (現スクウェア・エニックス) に入社し、『PlayOnline』のディレクターのあと、『ドラゴンクエスト X オンライン』の開発初期からテクニカルディレクターを務め、本書執筆途中にプロデューサーに就任したと記しています (刊行時点の情報)。
元が取れるのは、オンラインゲームの開発や運営の仕事を志していて、教科書的な一般論ではなく実際に動いているタイトルの構造を知りたい人、Web サービスの大規模運用に携わっていて、状態を持つリアルタイムなシステムの設計を別の分野から学びたいエンジニア、そしてドラゴンクエスト X を遊んでいて、メンテナンスや不正対策の裏側を当事者の言葉で知りたいプレイヤーです。ゲームは好きだが技術書は初めてという人には、ゲームが好きならプログラミングの本も読める という読み方の入口もありますが、本書自体が事前知識を求めない作りなので、興味の対象がドラゴンクエスト X そのものであれば、そのまま手に取って差し支えありません。
言及した記事 (3 件)
この本に興味がある方におすすめ
関連する本
関連記事
技術書ランキングの決定版はどれか - IT エンジニア本大賞の歴代大賞と言及数データで読む
技術書ランキングを探している人向けに、検証可能な 2 つのデータ (IT エンジニア本大賞の歴代大賞 2014-2026 年と、当サイトの Qiita / Zenn 言及数ランキング) を整理。歴代受賞作の一覧表と、ランキングを選書に活かす方法を解説します。
技術書の読書ログを GitHub で管理する - エンジニアらしい記録法
技術書の読書記録を GitHub リポジトリで管理する方法を紹介します。Markdown で読書ノートを書き、コミット履歴で読書の軌跡を残す、エンジニアならではの読書ログ術です。
README を書くように本を読む - エンジニアのための構造化読書法
エンジニアが日常的に書く README のフォーマットを読書に応用する方法を紹介します。目的 / 使い方 / 注意点の 3 点で本の内容を整理すると、半年後に読み返しても実務で引き直せる記録として残ります。