Gamer Blog [Loxley-Note]

ゲーム・自作PC・動画などの記事を中心としたサブカルチャーブログです。たぶん。

『ドラゴンクエストXを支える技術 大規模オンラインRPGの舞台裏』を読みました



ドラゴンクエストXの新刊

ドラゴンクエストXの現プロデューサー青山公士氏著作の書籍「ドラゴンクエストXを支える技術 大規模オンラインRPGの舞台裏」を読みました。 

f:id:Loxley:20181116234611j:plain

この書籍を書いている最中にテクニカルディレクターからプロデューサーへと役職が変わられたそうです。(前任者の斉藤陽介氏からの指名)

ドラゴンクエストXを支える技術 ── 大規模オンラインRPGの舞台裏 (WEB+DB PRESSプラスシリーズ)

ドラゴンクエストXを支える技術 ── 大規模オンラインRPGの舞台裏 (WEB+DB PRESSプラスシリーズ)

 

『ドラゴンクエストX』は、ドラゴンクエストシリーズ初のオンラインRPGです。本書は、ドラゴンクエストXの開発・運営の舞台裏を、現在はプロデューサーとして全体の責任者を務め、以前は技術責任者でもあった著者自らが徹底公開していきます。 著者のこだわりによりプログラミングやドラゴンクエストXの事前知識がなくても読み進められるよう丁寧に解説していますので、技術者やドラゴンクエストXのプレイヤーでなくても、幅広い方々に参考にしていただけます。 

 

青山氏はWEB+DBにも寄稿しておられ、筆者も会社で購読している書籍の記事を読んだことがあります。

今回発売されたこの本はドラクエXプレイヤーだけでなく、エンジニアにもなかなか興味深い内容の本でした。

 

注目した点

DB

特に注目していたのがサーバー周りです。ドラクエXでは銀行が使用するレベルのサーバーとOracleDBを使っているという情報がありましたが、そのあたりも詳しく書いてあります。DBの構造、テーブル情報なども。

真っ先に9章を中心に興味津々で読み耽りました。 

第9章 ゲームDB ── ワールド間の自由移動を実現する一元管理
9.1 ボトルネックはプレイヤーキャラクターデータの一元管理
9.2 ゲームDBの内部構成
9.3 プレイヤーキャラクターデータの保存
9.4 テーブル情報の概説
9.5 継続的な改善
9.6 まとめ 

 

ドラクエXのサーバーは発売当時としてはかなり珍しいサーバー自由移動方式でした。手続きしてサーバーを移動できるMMORPGはこれまでもあったのですが、プレイヤーが任意にサーバーをいつでも移動できるものは見たことがありませんでした。これを実現するために特に負荷のかかるであろう、DBで工夫した点についても触れられていてなかなか面白いです。技術的にもかなりチャレンジしているゲームなんですね。

 

プログラミング言語

注目したのはクエスト関連を記述するために採用されたスクリプト言語「Lua」。思考を重ねたい事象についてはスクリプト言語を使用しているそうです。スクリプトだと実行速度が気になるものですが、End to Endの通信処理時間を考えるとさほど気になるレベルではないのでしょう。(このLuaという言語ですが、同社の同じくMMORPG作品「FINAL FANTASY XIV」でも使用されているそうで、同じくクエストに使われているのだとか) 

Programming in Lua プログラミング言語Lua公式解説書

Programming in Lua プログラミング言語Lua公式解説書

 

 

ちなみにサーバープログラムはシングルスレッドを採用しているとのこと。問題が発生した時切り分けがしやすいそうです。(最近だとGoのような平行処理プログラミングが注目されていて、ニコニコ動画では関数型言語のElixirが採用されています) 

 

通信周り

ドラクエXで使用されるプロトコルは関連会社が開発したものだそうです。おそらく難読化も兼ねているのではと推測します。

インターネットの経路上ではチェックサム自体は問題なくても、通信内容が改ざんされている可能性があります。悪い人(チーター)だと通信内容を解析してペイロードのデータを勝手に改ざん、ツールや機器を利用してチェックサムは問題なしという状態でサーバーにデータを送りつけてくるので油断できません。こういうチーター対策も行っているわけですね。 

パケットキャプチャ実践技術 第2版 ― Wiresharkによるパケット解析 応用編 ―

パケットキャプチャ実践技術 第2版 ― Wiresharkによるパケット解析 応用編 ―

 

で、うまいことチーターがプログラムをだましたとしても、ドラクエX運営はログで不審な通信データをチェックしているので不正行為が発見されるわけです。(例えばあるプレイヤーが急に高額な資産を得たりとか)

 

所感

この書籍はドラクエXの開発・運営について網羅的に記述されているので、ドラクエXプレイヤーやエンジニアだけでなく、これからゲーム業界を目指す方にもお勧めの本だと思います。(MMORPG作品の運営の苦労話を書いた書籍はこの本くらいじゃないだろうか)

 

補足

監修者をチェックするとFINAL FANTASY XIV プロデューサー兼ディレクターの吉田直樹氏の名前もありました。この方、じつはドラクエXでハウジング関連を手がけているんですよね。一つのプロダクトにメインを張れる二人のディレクターは贅沢だという会社の方針で新規プロダクトに移ったそうですが。藤澤さんがドラクエIXからドラクエXに戻ってきた頃の話は以下の記事が詳しいです。

開発・運営だより -第14号- (2013/12/2)|目覚めし冒険者の広場

 

ドラクエXのチーフプランナーだった吉田氏はその後すぐにFF14へと移られるわけですが。そのあたりの詳しい話はファミ通で連載されているコラム「吉田の日々赤裸々」にて記述されています。

吉田の日々赤裸々。 『ファイナルファンタジーXIV』はなぜ新生できたのか

吉田の日々赤裸々。 『ファイナルファンタジーXIV』はなぜ新生できたのか

 

 


調べるブログ(サブブログ) / YouTube Loxley Channel / FF14アンテナ / TOPに戻る

  • このページでは、株式会社スクウェア・エニックスを代表とする共同著作者が権利を所有する画像を利用しております。当該画像の転載・配布は禁止いたします。
  • 当ブログ記事の2ch系まとめサイトへの無断転載を禁じます。
  • 投稿した記事内容は私的なものであり、所属する組織・団体に関連性はありません。
  • Loxley-Noteは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。