『グランブルーファンタジー』の、100万行を超える大規模なシステム再構築ノウハウを補足解説。「Developers Summit 2024」で行われた講演のフォローアップ記事をサイゲームスが公開

2024.04.11
ニュース
この記事をシェア!
twitter facebook line B!
twitter facebook line B!

この記事の3行まとめ

  • サイゲームスが「【Developers Summit 2024フォローアップ】『グランブルーファンタジー』100万行を超える大規模なシステム再構築~10周年のその先へ~」と題した記事を公開
  • 2024年2月に行われたデベロッパー向けカンファレンス「Developers Summit 2024」での講演を補足するフォローアップ記事
  • レスポンスタイムを約6割に減少させたアーキテクチャの概要図などが補足されている

サイゲームスは、「【Developers Summit 2024フォローアップ】『グランブルーファンタジー』100万行を超える大規模なシステム再構築~10周年のその先へ~」と題した記事をCygames Engineers’ Blogにて公開しました。

同記事は、2024年2月に行われたデベロッパー向けカンファレンス「Developers Summit 2024」にて行われた同名の講演のフォローアップ記事となっています。

「『グランブルーファンタジー』100万行を超える大規模なシステム再構築~10周年のその先へ~」は、2024年3月に10周年を迎えたゲーム『グランブルーファンタジー』の長期運用にあたり発生した問題を解決すべく実施された、大規模な再構築について解説した講演です。

今回公開された記事では、講演で使ったスライドに補足を行っています。なお、スライドはSpeaker Deckにて公開されています。

(画像はSpeaker Deckより引用)

『グランブルーファンタジー』の既存システムは、フレームワーク等を除いたPHPのソースコードだけでも300万行を超え、テーブル数も水平分割を含まない形で9,000テーブル超、パラメーターファイルも5万ファイル超と大規模なものでした。

10年という長い年月の運用によって起きた「コードや仕様の多重化」「属人性の増加」などの問題解決にあたったのは、同作品の開発・運用にあたるエンジニアのうちの6名のバックエンドエンジニアを中心とした専任チームです。

開発効率を最大化するために、設計思想や原理・原則を守ることを徹底し、チームメンバー間での意識の統一を目指しました。そのため、徹底した設計レビューと、新人を1人にしないペアプログラミングを実施したそうです。

新人メンバーと一緒にペアプログラミングをすることで、設計思想を共有しています。

(画像はブログ記事より引用)

今回、講演時に「後日構成資料公開予定」とされていたアーキテクチャ資料も公開されています。

データマネージャーはデータベース、キャッシュ、データトランスファーオブジェクト(DTO)をカプセル化し、管理しています。DTOを使うことで、最新情報を一元的に管理し、データベースの負荷を気にせずにデータを扱えます。

こうして、変更や拡張に強く、データの安全性が高いシステムが構築されました。

リファクタリングされたデータマネージャーのアーキテクチャ(画像はブログ記事より引用)

『グランブルーファンタジー』では、パラメーターデータをRedisを使って運用しています。これにより、リファクタリング前は武器の能力強化機能が増えると、それに紐づくパラメーターデータが増え、武器やキャラクターなどをまとめた編成情報を取得するだけで数百回以上Redisへアクセスする必要が出ていました。

これにより、同時接続数を増やすとパラメーターデータキャッシュに負荷がかかり、処理速度の低下を招いていました。

リファクタリングでは、リレーションするパラメーターデータをまとめたキャッシュとして扱う仕組みを導入。Redisへのアクセスを大幅に抑制しました。

赤く強調表示されているのがボトルネックだったRedis(画像はブログ記事より引用)

ほかにも、仕様の多重化の解決例が紹介されています。

詳細は、こちらをご確認ください。

【Developers Summit 2024フォローアップ】『グランブルーファンタジー』100万行を超える大規模なシステム再構築~10周年のその先へ~ | Cygames Engineers' Blog

関連記事

5/10(金)発売の『CGWORLD 2024年6月号 vol.310』最新号の一部をゲームメーカーズで先行公開!テーマは「ローポリから始める3DCG」
2024.04.29
トイロジック、UE4のRPC関数をベースにしたプレイヤー同期処理を解説。大規模オンラインゲーム『FOAMSTARS』に導入した管理の仕組み
2024.04.26
Unity上でセリフの音声合成ができる「A.I.VOICE for GAMES」でリップシンクが可能に。キャラの口がセリフに合わせて自然に動く
2024.04.26
メールマガジンに関するアンケートを実施中!ご意見・ご要望をお寄せください【回答期限:5/7(火)午前10時】
2024.04.26
Unityのプロジェクトをインポートできるプラグインも無料公開。3DゲームやVRアプリの開発に向いた「UNIGINE Engine」、バージョン「2.18.1」がリリース
2024.04.25
最薄部5.4mm、重さ約490g。薄型・軽量設計でロープロファイルの75%メカニカルキーボード「Lofree Edge」、4/25(木)22時よりKickstarterで先行販売
2024.04.25

注目記事ランキング

2024.04.23 - 2024.04.30
1
【2022年5月版】今から始めるフォートナイトの「クリエイティブ」モードープレイ開始から基本的な操作方法まで解説
2
フォートナイト クリエイティブとUEFNで使える仕掛け一覧
3
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.5「島の設定」
4
『フォートナイト』で動く本格的なゲームが作れるツール「UEFN」とは?従来のクリエイティブモードから進化したポイントを一挙紹介!
5
【CHALLENGE1】「クリエイター ポータル」を使って、UEFNで作成した島を世界中に公開する
6
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.1「アイテム系」
7
フォートナイトとUEFNがv29.30にアップデート。すでに公開した島をプレイできないようにする機能が導入される
8
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.7「NPC系」Part1
9
まるで『マイクラ』?ボクセル地形を生み出す無料アセット「VoxelPlugin Free」で”地形を掘ったり積み重ねたり”して遊んでみよう
10
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.4「ゲームシステム系」
11
UEFNで使えるプログラミング言語「Verse」のノウハウが集結。『UEFN.Tokyo 勉強会 03 Verse Night』レポート
12
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.6「チーム・対戦系」Part1
13
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.2「ユーティリティ系」
14
【STEP2】UEFNの基本的な使い方を覚えよう
15
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.10「UI系」Part1
16
フルカラー書籍「UEFN(Unreal Editor For Fortnite)でゲームづくりを始めよう!」、ついに本日発売!全国書店で好評発売中!
17
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.8「ゾーン系」
18
【CHALLENGE2-1】フレンドと一緒にゲームを作ろう――UEFNプロジェクトをチームメンバーとリアルタイムで共同編集する
19
『フォートナイト』で建築ビジュアライゼーション!?UEFNでオリジナルの世界観をどう作り上げたか、その手法を解説【UNREAL FEST 2023 TOKYO】
20
「UEFN」って実際どうなの? 編集部が3時間で「みんなで遊べるアクションゲーム(?)」を作ってみた
21
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.10「UI系」Part2
22
【STEP4-2】リスポーンとチェックポイントの仕組みを作る
23
【CHALLENGE3】UEFNの機能「ランドスケープ」を使ってオリジナルの地形を作る
24
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.9「建築物系」Part1
25
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.3「プレイヤー系」
26
【STEP4-1】コース外に出たらデスする仕組みを作る
27
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.6「チーム・対戦系」Part2
28
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.7「NPC系」Part2
29
フォートナイトとUEFNがv29.20にアップデート。見下ろし視点でもプレイヤーキャラクターの向きを操作できるようになった
30
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.9「建築物系」Part2
VIEW MORE

イベントカレンダー

VIEW MORE

今日の用語

ビヘイビアツリー(Behavior Tree)
ビヘイビアツリー AIの思考、行動をツリー状の構造図で定義したもの。およびそのシステム。挙動の優先順位や条件を定義していくことにより、複雑なAI挙動をシンプルに実現できる。
VIEW MORE

Twitterで最新情報を
チェック!