大手の本屋に行っても「ドラゴンクエストXを支える技術」は売り切れ。
7件ほど探し回ってやっと見つけることができました。
「ドラゴンクエストXを支える技術」の本の内容の感想を一言というと、エンジニアにとって大変興味深い内容が厳選された感じでした。しかも、専門用語をほとんど使わないで解説するなど技術に対しての専門知識が無くてもスラスラ読むことができます。
もし
・ドラゴンクエストXで遊んでいた
・ドラゴンクエストXの裏側(サーバの技術、ゲーム開発など)に興味ある
・オンラインゲームの作り方に興味がある
・ゲームを作ってみたけど、うまく動作しない(負荷分散がうまくできていないなど)
・ゲームの運用・運営はどのようにおこなっているのか
・不正ユーザーとの戦い
に興味があるのであれば、ぜひ手に取ってほしい本だと言えます!
どんなことがわかるの?
「ドラゴンクエストXを支える技術」は、ドラゴンクエストXはどのような技術で作られているかにのみならず、開発体制、運営、運用と幅広い内容までの全体的な制作過程を知ることができます。
技術面だけ言うと、どのようなDBを使うのか、メモリーの使い方、増え続けるデータ(ログなど)をどのように処理するのかなどの基本的な設計方法がわかる。
ただし、具体的なSQL文を使うなどした、実際のテーブル構成などは書いていません。
プログラム言語を使った専門的な内容はなく、ディレクターやプランナー、デザイナーでも読みやすいです。今後、アプリやゲームシステムを開発する上で参考になるといえます。
ドラゴンクエストXを使って解説しているので、オンラインゲームをやったことがある人、ドラクエをやったことがであれば理解しやすいと言えます。
本の内容で面白いと思った点は?
DB一つで世界を表現している
ドラゴンクエストは、Oracle Exadataという超高速のDBシステム(プレイヤーデータの保存には、キャッシュも使っています)を使っています。
他のゲームシステムは、負荷を抑える目的で複数のDBで構成することが多いのですが、ドラクエの場合は、ワールドの行き来を実現できるようにするため1つのDBシステムOracle Exadataで実現しているところは興味深いところです。
具体的なスペックについてはここでは取り上げません。
Oracle Exadataは、以下のような金融システム、業務システムで使われることが多いですが、ゲーム業界で使われるのは異例のようです。
・GMOクリックホールディングス株式会社
オンラインFXシステム
・みずほ情報総研、みずほフィナンシャルグループ
プライベートクラウド環境のOracleデータベース統合環境
Oracle Exadataを導入するには、少なくとも3000万円以上するそうです。
特に負荷分散で悩んでいる人にとっては参考になります。
ネタバレの工夫は意外に大事だったりする(経験談)
ドラクエXでは、リリース時あやまってネタバレをしないように、チェッカーなどのツールを使って対処しているとのことです。
ネタバレといえば、過去私が携わったソーシャルアプリでやらかしてしまったので、そのときの体験談を書きます。
私は、キャラ育成アプリ制作のプロジェクトにPGとして携わっていました。
アプリをリリースしても、まだ新キャラを出さない予定だったため、非表示の設定(サーバー側の設定で対応する)で出すことになりました。
しかし、リリース時、サーバーの設定を間違えてしまったため、本来だしたくない新キャラをShopに出してしまいました。慌てて非表示にしましたが、すでに遅かったのです。
あるユーザーが、新キャラのスクリーンを保存してしまい、ツイッターにツイートしてしまいました。あっという間にネタバレが拡散してしまいました。その結果、「いつ出るの?」とネット民のなかで論議されてしまったようです・・・。
ネタバレ対策は、あなどれないです。
ゲームの運用・運営がどのように行われているかわかる
ゲームの運用・運営についても苦労話などたくさん掲載されています。
苦労話は、制作に大変参考になります。
サーバーの時間帯をどこに合わせるか
世界でリリースする際、時差対策は、大変重要です。
ドラゴンクエストXでは、世界でリリースするためUTCに合わせているそうです。
当たり前といえば当たり前です。
私が携わっているゲームも世界で公開しています。現在のアプリはUTCですが、以前公開していたアプリは、米国にリリースすることからサーバの時間をロサンゼロス時間に合わせていました。その結果、問題になったのはサマータイム問題です。
ゲーム内時間も、サマータイム開始・終了のときに時間が巻き戻ったり、進んだりする問題が発生しました。
その結果、ゲーム内でも時間による不整合がおきました。すぐにUTC時間に修正するばよかったのですが、これを修正すると、DBの時間、サーバーの時間などあらゆるところで影響が出るため修正できず、毎年、サマータイム開始・終了のときは大きな問題が発生しないことを願うことしかできませんでした。
今にして思えば、単純な設計ミスでしたね・・・・。
その他にも気になったところ
その他に、本の中で個人的に気になったところは以下のところです。
エンジニアにとって知りたいことはほぼ網羅されていると思ます。
・ゲームアーキテクチャ
・プログラミング言語
・通信プロトコル
・リソースデータ(グラフィック、ムービーデータ、サウンド、テキストなど)
・メモリ管理(クライアント側とサーバーサイド)
・ゲームサーバプロセス
・キャラクター移動の工夫について
・ゲームDB
・ソースコードの管理
まとめ
いかがですか?
「ドラゴンクエストXを支える技術」には、
・これからオンラインゲームを作る
・ドラゴンクエストXで使われている技術に興味がある
・ゲーム制作のお仕事に興味ある(とくにゲーム制作のお仕事に就きたい学生)
方には、オススメの一冊と言えます。
「ドラゴンクエストXを支える技術」は、大きい本屋でも売れ切れになっているケースが少なくありません。
確実に購入したいのであればAmazonがオススメです。