『龍が如く8』プログラマーチームに「技術的に大変だったこと・頑張ったこと」を訊いてみた。超自由な絆覚醒・極限の締め切り「体験版」盛り込み・縦マルチ苦労など、笑いあり涙あり
セガが展開するドラマティックRPG『龍が如く』シリーズの最新作『龍が如く8』。同作は2024年1月26日に発売され、1週間で全世界販売本数が100万本を突破した。シリーズ史上初の記録となるが、その裏に存在する開発スタッフの活躍に光が当たることは少ないだろう。
今回AUTOMATONでは、「龍が如くスタジオ」各セクションメンバーへのインタビュー企画を実施。今回は『龍が如く』シリーズのプログラムについて、「龍が如くスタジオ」技術責任者の伊東豊氏、セクションマネージャーの中村智章氏、リソースパートリーダーの小田正志氏にお聞きした。本稿では、最新作『龍が如く8』をはじめとした、ゲーム開発時の苦労やこだわりをうかがっている。ぜひ最後まで読んでほしい。
アクションゲームベースだからこそ実現できたコマンドバトル
――まずはみなさんの「龍が如くスタジオ」での立ち位置や、どんな仕事をされているかを教えていただけますか。
伊東豊(以下、伊東)氏:
「龍が如くスタジオ」の技術責任者の伊東です。 『龍が如く8』にはテクニカルディレクターという立場で参加しています。
中村智章(以下、中村)氏:
プログラムセクションマネージャーの中村です。 『龍が如く』シリーズでは主にバトルアクションパートを中心に担当しており、『龍が如く8』ではプログラム統括として、プログラムチーム全体を管理しながら主にバトルを制作していました。
小田正志(以下、小田)氏:
リードプログラマーの小田です。 『龍が如く』シリーズでは主にステージやオブジェクトのリソース管理などを手がけており、『龍が如く8』ではリソースパートリーダーを務めました。本作に登場するプレイスポット「ドンドコ島」では、メイン部分のプログラムを担当しています。
――『龍が如く8』はシリーズとして、史上最速で累計販売本数100万本を達成しました。代表して伊東さんから、この数字についてどのように思うか教えてください。
伊東氏:
良いゲームを作ることが自分たちの使命だと思っていますし、時間をかけてゆっくりと売れていくタイトルもあるので、そこまで気にしてはいないのですが、『龍が如く8』はコスト・人数・時間をたっぷりかけて開発したので、多くの方に手にしていただけたということは素直にホッとしています。
――それではプログラマーチームの『龍が如く8』における技術的な挑戦について伺わせてください。まずはバトルから。中村さんいかがでしょうか。
中村氏:
『龍が如く8』のバトルシステムは、『龍が如く7 光と闇の行方』(以下、龍が如く7)で制作した「ライブコマンドRPGバトル」の進化系となっています。「ライブコマンドRPGバトル」とは、過去の『龍が如く』シリーズで培ってきたアクションゲームシステムにコマンド選択RPGの要素を融合させた新しいバトルシステムのことなのですが、『龍が如く7』では試行錯誤を繰り返して開発したということもあって、どうしても荒削りな箇所が目立っていました。『龍が如く8』ではその荒削りだった部分をブラッシュアップさせるという方針で制作を進めてきたのですが、大きな進化の一つは、今作からキャラクターを移動できることになったという点です。リアルタイムに戦闘の状況が変化する中でキャラクターが適切な位置関係や行動をとることで仲間と連携が発生するなど、より戦略性が高まり、奥が深いバトルになったと思います。
――実際プレイをする中で『龍が如く7』と比べ、バトル中に仲間と連携がしやすくなったとは感じました。
中村氏:
そうなんです。また前作ではロケーションによっては攻撃するために敵の近くまで移動するのに時間がかかることがあったので、移動時のAIの改善を行い、「ライブコマンドRPGバトル」という枠組みを守りながらテンポアップを図りました。
――アクションゲームのベースだからこそ実現できた、コマンドバトル要素などもありますよね。
中村氏:
あります!分かりやすい例をあげると、コマンドバトルでありながらアクションゲームのような操作ができる桐生(一馬)の「絆覚醒」でしょうか。桐生であれば、コマンドバトルというルールに縛られない規格外の強さを表現できるのではないかと考え、私がどうしてもやりたいと言って実装しました(笑)R2ボタンを長押しするとコマンドメニューが割れてアクションバトルができる、その部分はアクションゲームがベースになっていることで実現できたものなんです。
伊東氏:
バトル中にキャラクターを移動できるようにしたり、位置関係によって武器攻撃や連携技が出たりするのも、アクションゲームがベースだからこそ実装できた仕組みなのですが、コマンドバトルの最中に完全なアクションバトルを行う絆覚醒は、技術的にも大きなチャレンジでした。
――発動する際に桐生が「終わらせる!」と叫ぶのが好きです。絆覚醒は爽快感もありますが、実装は大変だったと。
中村氏:
大変でした(笑)『龍が如く8』はRPGを前提として設計されているため、当然ですが、本格的なアクションバトルを実装することは想定されていません。また、コマンドバトル中に自由に敵を攻撃できるというのは圧倒的に強力なので、ゲームバランスを崩さないためにどうするかも考えました。
小田氏:
そもそも『龍が如く8』の街はRPG用に作られていて、アクションゲーム用ではないですしね(笑)そのため本格的なアクションゲームにしてしまうと、システムが耐えられないんです。
――絆覚醒はバトル中でゲージが溜まっていればいつでもどこでも発動できますし、よく考えたら大変ですね。
中村氏:
そうですね。例えば、敵を無視してどこまでも移動されてしまうとシステム的に破綻してしまうので、移動範囲の制限なども必要でした。
――言われてみると青いリング状のオーラがフィールドを覆う形で制限をかけていますよね。実は、技術的な「この外には行かないで」という意味もあったという。
伊東氏:
実はそうなんです(笑)この絆覚醒に限りませんが、システム的な制限をいかにユーザーに感じさせないような演出にするかは、いつも考えていますね。
中村氏:
技術的な問題や制限はプランナーやデザイナーには分からないことも多いので、「ゲームシステム的に大丈夫なライン」を提案するのはプログラマーとして重要な役割かなと思います。
――プログラマーながら、ゲームデザイン的思考が求められると。リーダーである伊東さんとしても、プログラマー陣にはプランナーから降りてきた案のプログラムを組んで納品するだけではなく、プラスアルファを求めますか。
伊東氏:
プラスアルファというより、もともと「龍が如くスタジオ」のプランナーはとんでもないことをやりたがるんです。ただ、プログラマーのプライドとして、技術的な理由で「できません」とは言いたくない(笑)だから「わかりました、こういう条件だったら実現できますよ」とプログラマー側から提案することですり合わせていく。プランナーの要求全部には応えられなくても、「これぐらいならいけそう」というラインを自ら提示して実装する。プログラマーにはそういう仕事のやり方を求めていますね。
ドンドコ島の時間経過は『龍が如く3』の頃から研究していた
――今のお話は絆覚醒というプレイヤーにも分かりやすい技術的な挑戦だと思いますが、一方で気づいてもらえないかもしれないけど頑張って盛り込んだ仕様について教えてください。ちなみにアートチームのインタビューでは、春日のドアノブを握る手のモデルを変形させるブレンドシェイプを頑張ったというお話がありました。
中村氏:
キャラクターのモデルを変形させるブレンドシェイプは、プログラマーとしても新しいチャレンジでした。ドアノブを握ったときに手の肉がドアノブに押される演出、そういった細かいこだわりを新しい技術を取り入れることで表現できないかと試行錯誤しましたね。余談ですが頑張ってそのシーンを作ったので、ユーザーの手元に残るといいなと思い、ドアノブを開けた瞬間にトロフィーを取得するように調整しました。従来のトロフィー取得は各章が終了した後のセーブ画面だったのですが、『龍が如く8』はドアノブのシーンに限らず、印象的な場面のキャプチャが自動的に撮影されるようにしました。
――あー!トロフィーの手はそういう意味だったんですね。
小田氏:
自分のこだわりでいうと、ゲーム配信などで特に驚いていただいている印象があるのが、ドンドコ島におけるシームレスな時間経過ですね。今までの『龍が如く』シリーズは、昼、夕方、夜とシーンごとに固定でライティングを行っていました。ただ、今回のドンドコ島はリアルタイムな変化を表現しないといけないということで、これまでの時間を固定する方法ではなく、新しい方法に挑戦しました。
――確かに言われてみれば、リアルタイムの時間による景観変化はこれまでの作品でなかった仕様です。
伊東氏:
リアルタイムな昼夜変化は、実は『龍が如く3』の頃から研究してはいたんです。ただ、『龍が如く』シリーズの多くはシナリオによって時間経過が管理されているので、朝・昼・夜がシナリオと関係なく繰り返されるのはどうしても違和感があり、実装されることはありませんでした。そして今回、あくまでドンドコ島に限りますが、ようやくお披露目できたわけです。
――『龍が如く3』から試行錯誤をされていたと。念願ですね。おめでとうございます。
一同:
ありがとうございます(笑)
――経験ある伊東さんが、今作大変だったことはありますか。
伊東氏:
ゲーム本編の話ではないのですが、技術的に一番大変だったのが、『龍が如く7外伝 名を消した男(以下、龍が如く7外伝)』に『龍が如く8』の体験版を入れたことですね。
――『龍が如く7外伝』クリア後に、スペシャル体験版がアンロックされる形でした。
伊東氏:
『龍が如く7外伝』と『龍が如く8』は同じチームで並行して作っていたのですが、『龍が如く7外伝』の締め切りに合わせて『龍が如く8』の体験版も完成させなければならなかったので、普段の二倍苦労しました(笑)
――作業工程は決して「本編から序盤を切り取るだけ」じゃないですもんね。
中村氏:
そうなんです。大容量のタイトルなので、単純にデータをコンバートするだけでも大変です。まず『龍が如く8』の体験版のデータをコンバートするのに半日かかり、それを『龍が如く7外伝』に組み込んでコンバートするのにもう半日かかる。普段は深夜に自動コンバートが行われるのですが、締め切りの日に限って、朝出勤したらマシントラブルでコンバートが止まっていたり……そういうことが多く本当に大変でした。
――……おつかれさまでした。
コンテンツを並行開発するためのチーム作り
――『龍が如く7外伝』と『龍が如く8』は同じチームで並行して開発していたとのことですが、『龍が如く8』も「スジモンバトル」や「ドンドコ島」というボリュームのあるサイドコンテンツは本編と同時に制作されていたと思います。どのような体制で開発が進められたのでしょうか。
伊東氏:
「龍が如く」シリーズにおけるミニゲームやサイドコンテンツは、それぞれ小さな開発チームとして制作し、実装段階で本編とリンクさせるという作り方をしています。コンパクトなミニゲームもあれば、今回の「ドンドコ島」や「スジモンバトル」のような大きいサイドコンテンツもありますが、どれも独立したゲームを作っているようなイメージで、本編とは完全に並行して開発することができています。
――コンテンツを並行して作れる体制が、『龍が如く』シリーズの原動力であると。
伊東氏:
『龍が如く』シリーズは本編以外にもたくさんのコンテンツが入っているタイトルなので、こういう作り方にも慣れてきましたね。ただ、ドンドコ島はコンテンツのボリュームがあまりにも大きく、内容もリッチだったので、プログラマーを多めに割り当てたり、新しいシステムを実装したり、かなり大変でしたが。
――規模は大きくなったけど、普段の「龍が如くスタジオ」の延長線上という。
中村氏:
そうですね。大規模になっても開発スピードが落ちないように、積極的にコミュニケーションは取るようにしています。また、プログラマーからアイデアを出す場合、資料ではなくプロトタイプを作ってプレゼンすることが多いです。
――「形」を作りさえすれば、実装したいプログラムがどうなのかを実際に触って確かめてもらえますよね。
中村氏:
プロトタイプがあると、プランナーから「こういう仕様にしたらさらに面白いんじゃないか」とアイデアが生まれたり、デザイナーから「こういうリソースをつければ、もっと良くなるのではないか」という提案が出やすくなるので、結果的に良いものになることが多いですし、開発スピードも大幅に早くなります。
――プログラマー発信のプロトタイプも多いとのことですが、伊東さんもXでプログラマーが「勝手に作る→見せる→採用!というケースが結構多い」とポストされていました。『龍が如く8』ではどのようなプログラマー発信のアイデアが採用されましたか。
伊東氏:
勝手に作ると書きましたが、もちろんきちんと手順を踏んで、周囲の理解を得ながら開発しているので、それだけは補足させてください(笑)具体例でいうと、『龍が如く8』には「OKAサーファー」という乗り物があるのですが、自動運転機能は私が提案して入れました。
――OKAサーファー乗車時は左スティックを押し込むと自動運転になり、どういう機能なんだろうと思っていたのですが、目的地を指定すると勝手に進んでくれる仕様に気づき、そこから大変便利でした。
伊東氏:
よかったです。開発中に「龍が如くスタジオ」代表の横山(昌義氏)から、「ハワイは今までで一番広いので、移動を退屈に感じるユーザーがいるのでは」という意見がありまして。最初はOKAサーファーのスピードを速めるという方向で議論が進んでいたのですが、技術的な問題や、観光客がハワイの街中を移動するための乗り物なのにあまり高速にしすぎるのもどうかという意見もあって、指定した目的地までの経路を検索して自動で移動する機能を実装しました。これなら移動中にスマホをいじれるよねと(笑)。
――現代的!そのほかプログラマーチームからの提案はありましたか。
小田氏:
ドンドコ島で虫だけを担当したベテランのプログラマーがいるのですが、虫らしいモーションにこだわりを持って作りこんでくれました。例えばカブトムシでは、走って近づくと、飛んで逃げて、木にとまったままでは見つかりにくいものを見つけやすいように工夫してくれました。
――あの独特の虫の動きはプログラマーの遊び心が出でたんですね。
縦マルチは大変だが頑張った
――続いてはハ―ドウェア寄りのお話を聞かせてください。『龍が如く8』はPS5・/Xbox Series X|Sといった次世代機にも対応しています。縦マルチというのは大変では……?
伊東氏:
リソース自体は上位機種をベースに制作しているのですが、パフォーマンスに関してはスペックの低い機種に合わせなくてはいけないので、大変なことが多いですね。
――やはり。
伊東氏:
パフォーマンスを理由にやりたいことが限られてしまうのはできれば避けたいのですが、『龍が如く』シリーズは上位機種でプレイされている方ばかりではないので、タイミングを見て今後の方針を決めたいと思います。
――ちなみに本作が発売段階でSteam DeckのDeck Verified(動作認証済み)に対応しているなど、『龍が如く』シリーズは何かと最適化に熱心ですよね。
中村氏:
Deck Verifiedは実際にSteam Deckを購入して、液晶の解像度やハードウェアのチェックをしましたね。
――自らの目で確かめながら……と。
伊東氏:
機種によるゲーム内容の差はないので、最適化の作業は解像度やフレームレートを調整するだけなんです。ただ、最近はスペックの低い機種でもアップスケーラーを使用して綺麗に見せるチューニングはしています。
中村氏:
アップスケーラーを導入したことで、元となる解像度が違ったとしても実際にゲームプレイ中にユーザーが気になるような解像度の低下はあまり見られないかなと。
――また伊東さんのポストからの引用ですが、『龍が如く7外伝』で「シリーズ最大人数のバトル」を目標にしたというお話がありました。『龍が如く8』も多くのキャラクターが描画されていますが、技術的に大変だったシーンはありますか。
中村氏:
ハワイのビーチは見渡しがよいので、今まで以上に多くのキャラクターが表示され、最初は全く処理が追いつきませんでした。そのため、画面に見えない部分の処理を省略したり、遠くに小さく映っているキャラクターを、「ビルボード」と呼ばれる平面の板に切り替えてアニメーション処理を省略することで、賑やかなハワイの雰囲気を崩さないような努力をしました。
――全然気付きませんでした。
中村氏:
気づいていないということは、我々の努力の甲斐があったということですね(笑)
――シリーズの開発を積み重ねてきた経験からですか?
中村氏:
積み重ねもありますが、毎作ごとに「パフォーマンス改善ミーティング」を定期的に開催している結果でしょうか。デザイナー・プランナーを含め、どの処理が重いか、どうしたら処理を軽くできるかなどを話しあっています。技術的な対応だけではなく、ゲームの仕様やデザインデータに手を入れることもあります。
伊東氏:
「龍が如くスタジオ」のデザイナーはゲームクリエイターとしても非常に優秀で、自分たちが作りあげたグラフィックのクオリティーは大切にしつつ、ゲームとして成立するかどうかも考えてくれます。たとえば「フレームレートを維持するためにはこれぐらいのモデルやリソースなら大丈夫ですか」と提案してくれるので、プログラマーとしては本当に助かっています。
――プログラマー以外のチームでも、「こうするとプログラマーが大変」という基準やルールが明文化され禁じられているのでしょうか。
小田氏:
厳密な決まり事が存在するわけではありませんが、処理が難しそうな部分は大抵事前にデザイナーやプランナーから相談があります。「龍が如くスタジオ」では、自分の作業が終わったあとに「お任せするのでなんとかしてください」という丸投げはなく、最後まで担当者間でミーティングや試行錯誤を行ってクオリティーアップに努めていますね。
ドラゴンエンジンがもたらした進化
――コミュニケーションのなかで、すり合わせることを大事にされていると。ちなみに『龍が如く8』に限らず過去作で印象的な技術面の挑戦も聞いてみたいです。
伊東氏:
私としては『龍が如く 見参!』のステージ制御が印象深いですね。『龍が如く2』までの神室町は小さなエリアに区切られていて、エリアの端まで行ったら次のエリアに切り替えていたのですが、『龍が如く 見参!』では広いマップをシームレスに歩けるようにシステムを一新する必要がありました。また、カメラも自由に操作できるようになったので、どの方向を見ても鮮やかな祇園の街が表示されなければならない。PS3での開発も初めてだったので、すべてが挑戦でした。
――その経験がのちのシリーズに生きてくるわけですか。
伊東氏:
論文を読んでアルゴリズムを研究したのも初めてでしたし、新しいハードを研究しながらの開発も初めてだったので、とてもよい経験になりましたね。
――『龍が如く 見参!』や『龍が如く3』で対応プラットフォームはPS3に切り替わり、シリーズとしても技術の進化が起きた時期だと思いますが、そこにはプログラマーの血のにじむような努力が詰まってると。
伊東氏:
そうですね。当時ならではの努力も多かったですし。たとえば、『龍が如く 見参!』は本体のハードディスクにインストールしなくてもプレイできるようにしなければならなかったので、ロード時間を短縮するために、ディスク上のファイルの記録位置まで調整したことを覚えています。
『龍が如く3』
――面白いですね。PS3版『龍が如く 見参!』を遊び直して調べてみたくなります。
中村氏:
主にバトルを担当していた私のエピソードとしては、アドベンチャーパートとバトルパートの切り替えにいつも頭を悩ませていましたね。『龍が如く3』からシームレスバトル機能が導入されたのですが、当時のアドベンチャーパートとバトルパートでは担当者もゲームの作り方も完全に別だったので、例えば街中で絡んでくるチンピラとバトルで戦うチンピラは、内部的には別の人だったのです。そこで、バトルに入るときにはアドベンチャー用のキャラクターと同じ位置にバトル用のキャラクターを重ねて、こっそり入れ替えることでシームレスのように見せています。
――リマスター版もその仕様のまま動いてるわけですよね。
中村氏:
そうなります。『龍が如く 極』まではその作り方だったのですが、『龍が如く6 命の詩。(以下、龍が如く6)』の開発を始める時に、「次のゲームエンジンは切り替え問題を解決できるエンジンにしよう」ということで、ドラゴンエンジンでは同じキャラクターがバトルにもアドベンチャーにも使えるようになりました。
『龍が如く6 命の詩。』
――ドラゴンエンジン制作にそんな動機があったんですね。
小田氏:
他にも色々な動機はあるのですが、最大の目的はグラフィックの改善でした。『龍が如く6』でドラゴンエンジンに切り替えるにあたり、メモリを限界まで使って美しく進化した神室町を作成しました。ただ『JUDGE EYES:死神の遺言』ではドローンを10メートル上空まで飛ばしてより遠くが見えるようになったり、『LOST JUDGMENT:裁かれざる記憶』ではスケボーを使って広いエリアを高速に移動できるようになったり、シリーズが進むごとにメモリに優しくない仕様が出てくるんです(笑)毎作何を捨てて何を実装するか試行錯誤しているのですが、その取捨選択の経験のおかげで『龍が如く8』の神室町は『龍が如く6』の半分のメモリで動作するようになりました。
――さまざまな挑戦についてうかがいましたが、さらに今後取り組んでみたい技術的な挑戦があれば教えていただけますか。
伊東氏:
『龍が如く』シリーズは、作品ごとに技術的な進化はしているのですが、コアの部分は『龍が如く6』のために開発されたドラゴンエンジンなので、そろそろハイエンド専用の新しいドラゴンエンジンで、新しいアクションアドベンチャーを作ってみたいという気持ちはあります。あくまでも個人的な思いなので、会社の方針とは無関係ですが(笑)
――PS5/Xbox Series X|S/PC向けの『龍が如く』シリーズがでてくるとなると、どのような表現になるのか楽しみです。
『龍が如く8』は、PC(Steam/Windows)およびPS4/PS5/Xbox One/Xbox Series X|S向けに発売中。プログラマーインタビューの後編では「龍が如くスタジオ」におけるプログラミングのソースコードの書き方などについてうかがっている。そちらの記事もチェックしてほしい。
[聞き手・編集:Ayuo Kawase]
[執筆・編集:Yuuki Inoue]