More Related Content
PPTX
DeNAの最新のマスタデータ管理システム Oyakata の全容 PPTX
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例 PDF
PDF
PDF
PDF
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術 PPTX
スマホゲームのチート手法とその対策 [DeNA TechCon 2019] PDF
Unityではじめるオープンワールド制作 エンジニア編 What's hot
PDF
PPTX
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」 PDF
【Unity】 Behavior TreeでAIを作る PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編 PPTX
PDF
PDF
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方 PDF
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み PDF
PDF
PPTX
PDF
PDF
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 - PDF
Building the Game Server both API and Realtime via c# PPTX
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック PDF
PDF
Epic Online Services でできること PDF
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた PDF
PDF
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例 Viewers also liked
PDF
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて PDF
PDF
DeNAのゲーム開発を支える Game Backend as a Service PPTX
PDF
PDF
FFRKを支えるWebアプリケーションフレームワークの技術 PDF
FINAL FANTASY
Record Keeper 演出データについて PPT
制作を支えたツール達 (パズル戦隊デナレンジャー) PDF
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー) PDF
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門 PDF
Game BaaS Implemented in Ruby PPTX
リソースのバージョン管理/運用の失敗談と改善策について PDF
PDF
ガールアックス:リアルタイム通信処理の効率的な実装 Similar to FINAL FANTASY Record Keeperのマスターデータを支える技術
PPTX
FINAL FANTASY Record Keeperを支えたGolang PPTX
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon PDF
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda PPTX
DynamoDBによるソーシャルゲーム実装 How To PDF
PDF
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- PPTX
レガシーな Perl システムに DDD (ドメイン駆動設計)を取り入れる PPTX
その後のDeNAのネイティブアプリ開発 #denatechcon PDF
『問題解決力を鍛える!アルゴリズムとデータ構造』出版記念講演 PPTX
PPTX
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話 PPT
PPTX
[141004] cedec 2014 참관기 & 강연 리뷰 #1 PPTX
AI/MLシステムにおけるビッグデータとの付き合い方 PPTX
企業等に蓄積されたデータを分析するための処理機能の提案 PPTX
PDF
PDF
Databasedesignforsocialgames 110115195940-phpapp02 PPTX
Cedec2012 ai-contest-design-patterns-principles PDF
とことんF#よぷよ! F# + XNA ゲームプログラミング入門 Recently uploaded
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」 PPTX
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」 PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp... PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH... PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber... PDF
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ... PDF
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene... PDF
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ... PDF
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」 PPTX
ChatGPTのコネクタ開発から学ぶ、外部サービスをつなぐMCPサーバーの仕組み PDF
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo... PDF
膨大なデータ時代を制する鍵、セグメンテーションAIが切り拓く解析精度と効率の革新 PDF
ニューラルプロセッサによるAI処理の高速化と、未知の可能性を切り拓く未来の人工知能 PDF
AI開発の最前線を変えるニューラルネットワークプロセッサと、未来社会における応用可能性 FINAL FANTASY Record Keeperのマスターデータを支える技術
- 1.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
第6回 DeNAゲーム開発勉強会
DeNA史上最大級!
FINAL FANTASY Record Keeperの
マスターデータを支える技術
2015/08/24
GDI 渋川よしき
- 2.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
お前だれよ?
前職
⁃ 自動車会社の社内SE
現職
⁃ 社内ゲームエンジン用のフレームワーク
(クライアント用もサーバ用も)作ったり、
開発支援ツール作ったりいわゆる社内SE
⁃ たまにゲーム開発を手伝ったりもします。
渋川 よしき
プログラミング
C++とかPythonとかGolangとかJavaScriptとか
本
つまみぐい勉強法、アート・オブ・コミュニティ(翻訳)、
Mobageを支える技術、オブジェクト指向JavaScript(翻訳)、
ポモドーロ・テクニック入門(翻訳)、etc
- 3.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
新書出ました!
JavaScriptの、最速クライアント用MVCフレームワークの本です!
⁃ 速いのが好きな人や、変化が多いブラウザ周辺技術に疲れた人に
オススメ
電子書籍のみです
表紙は黒ムツの仲間
⁃ 南オセアニアの深海魚
⁃ 最大75cm
⁃ 確認された最高齢は
100歳を超えるとか
- 4.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
マスタデータとは?
ゲームを支える要素
⁃ プログラム
⁃ アセット
• 画像とか2Dアニメーションとか3Dモデルとか音楽とか
⁃ マスタデータ
• プログラム・アセット以外
• シナリオ、テキスト、敵の強さなどのパラメータ
• レベルデザイン(3Dアクションのマップ)的なものはあまりマスターデータ
とは言わないかも・・・
- 5.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
マスタデータとは?
ゲームを支える要素
⁃ プログラム →プログラマ
⁃ アセット →アーティスト
• 画像とか2Dアニメーションとか3Dモデルとか音楽とか
⁃ マスタデータ→ゲームデザイナ
• プログラム・アセット以外
• シナリオ、テキスト、敵の強さなどのパラメータ
• レベルデザイン(3Dアクションのマップ)的なものはあまりマスターデータ
とは言わないかも・・・
- 6.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
マスターデータの役割
ユーザのプレイサイクルをデザインする
⁃ ユーザ体験のうち、UIとか画像とか音楽のような目や耳で感じる
以外のところ全般
• ステージクリアや、レベルアップのテンポだったり
• アイテムや必殺技、魔法などの種類とか性能だったり
• 敵の強さの調整だったり
• 会話やチュートリアルなどの説明だったり
モバイルのオンラインゲームでは特に大事
⁃ 新しいイベントやステージを(アプリ本体の更新なしに)追加したり
⁃ ユーザが挫折しやすいポイントがあれば、それを修正したり
- 7.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
マスターデータの役割
ユーザのプレイサイクルをデザインする
⁃ ユーザ体験のうち、UIとか画像とか音楽のような目や耳で感じる
以外のところ全般
• ステージクリアや、レベルアップのテンポだったり
• アイテムや必殺技、魔法などの種類とか性能だったり
• 敵の強さの調整だったり
• 会話やチュートリアルなどの説明だったり
モバイルのオンラインゲームでは特に大事
⁃ 新しいイベントやステージを(アプリ本体の更新なしに)追加したり
⁃ ユーザが挫折しやすいポイントがあれば、それを修正したり
今日は、比較的スポットのあたりにくい
マスターデータの運用改善の紹介をします
- 8.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
Final Fantasy Record Keeper
DeNA社内でもっとも複雑※なマスターデータを持つゲーム
⁃ すでに確立された世界観を持つ
• 炎耐性とか、弱点属性とか、前後列、カウンター専用技、ボスの状態の変
化など、かなり複雑な要素が満載だが、ユーザはすでにFFの世界を熟知し
ているので、ほぼフルスペックのFFのメカニズムが実装されている
⁃ しかも、各シリーズの最小公倍数
• 元ネタがあるので、コンテンツ追加の速度は速い!
• スクウェアエニックス社様の大事なIPであるため、文言やアニメーション
の監修もきちんと行う体制になっている
⁃ 開発が並列
• イベントが常に数本走っている
• イベントの開発も常に数本並行で走っている
• 機能追加も並列で!
※ 何人かのチームメンバーにインタビューした結果
- 9.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
マスターデータ運用で悲鳴があがり始める前(2014/11ごろ)
Google Spreadsheetを使っている
⁃ 外部キー・主キーのような仕組みをGoogle Apps Scriptで実現
⁃ 社内でも実績のある仕組み
• かつてはExcelをリポジトリに入れてたりもしてたが、共同編集のしやすさ
から、今はGoogle Spreadsheetが主流
Jenkinsを使った運用の仕組みは整備されていた
⁃ マスタデータのcsvを所定の場所に置いてスクリプトを起動すると、
整合性チェックを行ってテストサーバに投入したり、問題なさそう
ならgithub:eにプルリクエストを送ったりできた
⁃ 将来必要だけど今はいらないデータを行ごとにフィルタする機能
- 10.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
外部キー・主キーのような仕組みの例
※なお、このシートはツールのテスト用に大分昔にコピーしたものなので
実際のゲーム内のデータとは異なります
わかりやすい名前で入力して、CSV生成時に主キーに置き換える仕組み
- 11.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
実際のマスターデータ
※シート間の関係を分析してみた結果
⁃ ゲームプレイに関わる部分のみ
⁃ 関連を複雑にする要素は一部抜いてます 10
- 12.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
FINAL FANTASY Record Keeperの開発の複雑さ
そもそもデータが複雑で量が多い
⁃ データだけで多くの調整ができるようになっている
• 味方や敵の強さの調整
• 演出の調整
• イベントの追加
• ダンジョンに出現する敵のセットの定義とか配置とか
同時にたくさんのチームが走る
⁃ 開発チームごとにスキーマを変更して追加のデータを増やしたい!
ということがよくおきる
- 13.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
少しずつ複雑化・・・
クエスト機能(選択式チュートリアル)入れるよね
レベルキャップ(50まで)を外す限界突破機能を入れよう
⁃ 限界突破したらレコードマテリアが使えるようにしよう
⁃ レコードマテリア装備したらいろいろな効果が
必殺技付き武器を提供しよう
⁃ 熟練度を上げると、必殺技をマスターするよ
⁃ 超必殺技つけたらステータスアップあるよ
⁃ ☆5装備の鍛錬あるよ!☆5武器合成で武器のステータス上がるよ
敵にHPゲージ付けよう
BRABRAコラボイベントで音楽室を追加しよう
ブレイク技が強いからボスに耐性つけよう
- 14.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
さまざまな問題が発生・・・
Google
Spreadsheet
Google
Spreadsheet
Google
Spreadsheet
Google
Apps Script
Jenkins
normalize
& check
デプロイ
スクリプト
CSV 1
/db/data/src
開発用
MySQL
CSV 2
/db/data/master
github:e
CSV 3 (dump)
/db/data/dump
本番
MySQL
ひとつのマスターデータを各開発ブラ
ンチで利用している
● 他のチームの変更(不具合)の影
響で作業が止まる
● 気軽に変更できない
ここに来ないと分か
らないエラーも多い
•必要なスプレッドシートを手でひとつずつ出力
•CSVの依存関係を手で解決
•時間がかかる (1時間程度)
•タイムアウトで仕事ができない(とくに夕方)
コンフリクト発生時に
修正が難しい
- 15.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
発生した課題
複数人でもスプレッドシートのファイルは1つ
⁃ 変なデータを入れてしまうとデータ不整合のエラーで、
全チームの作業が止まってしまう
エクスポートに時間がかかった
⁃ まっさらな状態からやろうとすると1時間近くかかる
⁃ 変更中に誰かが作業すると結果が変わってしまう
⁃ 調整が大変なので、シート構造変更をやろうとするとエンジニアの
MPがゼロになる
カラム数が極端に多いシートも出てきた
⁃ 行数が5桁のシートを開くとブラウザが重い・落ちる
Google Apps Scriptがタイムアウト
⁃ データ数が多くなってきたら、すねて処理してくれない
• 夕方の成功率が50%を切る(巨大なシートだと80%以上失敗)
⁃ Google Apps Scriptは自力でマルチスレッド化できないので遅い
- 16.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
マスターデータが問題を起こすと・・・
データのエクスポートができない
⁃ データチェックは厳格に行われているがエラーがわかりにくかった
⁃ ログが大量に出力されていて、何が問題かを探すのも大変だった
⁃ 結果として、データ構造に詳しいエンジニアへの問い合わせが
増えて、昼ごはんをお昼に食べれないほど忙しい日々が・・・
たすけて
たすけて ひー
- 17.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
マスターデータが問題を起こすと・・・
データのエクスポートができない
⁃ データチェックは厳格に行われているがエラーがわかりにくかった
⁃ ログが大量に出力されていて、何が問題かを探すのも大変だった
⁃ 結果として、データ構造に詳しいエンジニアへの問い合わせが
増えて、昼ごはんをお昼に食べれないほど忙しい日々が・・・
たすけて
たすけて ひー
「高橋慧さんがお昼を昼に食べれる」
というのを目標に設定
20
- 18.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
開発規模に見合うスケール可能にする仕組みの導入を検討
1. 縦に長いシートをイベントや定常
などのリリース時期ごとに分割
2. スプレッドシートのファイル群を
グループ(フォルダ)に分ける
3. エクスポートするときにどのグ
ループを出すか、ゲームデザイ
ナーが選択できるようにする
4. 扱うファイル数が増えるので、一
括出力の仕組みが必要そう
- 19.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
改良1: バッチコマンドラインツール化
ファイル一覧
のシート取得
ファイル一覧で指定
された名前のファイル
のキーのリストを作成フォルダの全子要素の
キーと名前を取得
ファイルをダウンロード
ファイルをロードし、
JSONSheet /
JSONFormatを分析
•RefListTemplateを元に
値の置き換え
•CSV出力
入力ファイルは変更なし
⁃ 運用しながらランニングチェンジ
Golangを使いスレッドプールでとことん並列化した
⁃ コマンド一発で最新データを一括取得
⁃ 処理自体もずいぶん早い
⁃ ついでに、バイナリなのでアクセストークンとか秘匿できて良い
- 20.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
バッチコマンドラインツール化の結果
読み込むシート一覧のシートを作成
⁃ 誰がやっても(企画でもエンジニアでも)、ほぼ同じ結果が即座に
得られるようになった
• 問題の追跡が楽になった
• 「データを通すため」の作業が減り、「良いゲームを作るため」の時間が
増えた。
• Jenkinsから呼んだり、コマンドラインから使ったり
⁃ テストサーバに投入するまでの時間が100倍ぐらい早くなった
エラーメッセージや警告を日本語で出せるだけ出すようにした
⁃ 問題追跡をゲームデザイナーだけでできるように
⁃ 初めて実行した時は警告が4000件ぐらい出た
- 21.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
改良2: 並行開発のサポート
ダンジョン名 リリース
カオス神殿 定常
西の城 定常
[初級]ナルシェ エドガー・マッシュ
[初級]西の炭鉱 エドガー・マッシュ
[初級]マルディアス エンサガ
[中級]マルディアス エンサガ
同名シートでもリリース時期によって
ファイルを分割できるようにした
⁃ 「このイベントではどのファイルを組
み合わせるか?」というのは柔軟に設
定できるようになった
⁃ 開発始まったばかりの不安定なシート
の参照がスキップされるので、他の人
の影響で仕事が止まることが減った
⁃ ブラウザの負担も減った ダンジョン名 リリース
カオス神殿 定常
西の城 定常
ダンジョン名 リリース
[初級]マルディアス エンサガ
[中級]マルディアス エンサガ
ダンジョン名 リリース
[初級]ナルシェ エドガー・マッシュ
[初級]西の炭鉱 エドガー・マッシュ
- 22.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
並行開発のサポートの実装(1)
ファイル一覧
のシート取得
ファイル一覧で指定
された名前のファイル
のキーのリストを作成フォルダの全子要素の
キーと名前を取得
ファイルをダウンロード
ファイルをロードし、
JSONSheet /
JSONFormatを分析
•RefListTemplateを元に
値の置き換え
•CSV出力
バッチ化で土台ができていたので、少し改造して「シートを後からマー
ジ」できるようにした
⁃ 全イベント・定常が単一ファイルで管理していたときと、まったく同じCSVを
出せるようにしたので、後工程はそのまま変更なし
⁃ 2月末リリースのライトニングイベントから順次シート切り分け
⁃ ついでにIDが同じなら同名シート内で新しい情報で上書きできるように
同名のシートで
グループ化
- 23.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
並行開発のサポートの実装(2): Rel更新プログラムの改善
今まではGoogle Apps Scriptで、
スプレッドシートの「データの検
証」機能を設定していた
⁃ 並列処理できないので遅い
⁃ よくタイムアウトで止まる
⁃ 1ファイルずつやらないといけない
データの検証
更新プログラム
- 24.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
ここもバッチプログラムを作った
⁃ シートに設定するところはGASの方がやりやすかったので最終段はほぼそのまま
⁃ 情報取得してプルダウンメニューの項目リスト作成する部分はバッチ化と同じ
ライブラリを使って並列ダウンロード
⁃ GASは自前でスレッドは起こせないが、ウェブサービス化して並列してリクエス
トを投げれば並列処理できる(x10まで)
並行開発のサポートの実装(2): Rel更新プログラムの改善
データの検証
更新プログラム
30
- 25.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
並行開発のサポートの結果
新しいカラムの追加などは、イベントごとに行えるようにした
⁃ グループには親子関係があり、親の機能追加は子にも反映
イベントリリースにあわせて途中からパラメータの変更をできるように
⁃ 例) イベントのキャラ配布にあわせて装備できる武器の
種類を増やしたい
⁃ →リリースタイミングで設定を上書きできるようにした。
リリース後は?
⁃ カラム追加や上書きは大本のシートに移動する運用ルール
⁃ リリースされている現在の状態は大本のマスターにある、というの
が事故を防ぐのに大事
- 26.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
結果
リリースしてから1ヶ月で1000回以上実行された
⁃ 900時間以上節約
⁃ といってもチームの人数が減ったわけではなく、負担が減ってその
分多くの調整が回せるようになった
- 27.
- 28.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
補助機能(1): ブラウザでプレビュー機能
問題の追跡に使う
⁃ どのシートから出力されたか?ソースはどこファイルのどの行?
⁃ Relで設定した日本語の名前は何?
⁃ 出力設定はどのファイルから来たの?
- 29.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
補助機能(2): セル・文字単位のdiff表示機能
カラム数が多いシートもあるし、カラム追加などでは全行差分になって
しまうので、プルリクエストのページだと差分を確認しにくい
色はgithubに合わせた
- 30.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
補助機能(3): Google Spreadsheet用のblameコマンド
シートの行ごとに、最終編集者と変更日時を表示
- 31.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
さらなる機能追加とか高速化とか
リリース時期のフィルタ機能を内部に取り込んだ
⁃ それまではPerlスクリプトでエクスポート後にフィルタしていた
⁃ ツール内部にこの仕組みを取り込むことで、有効なデータかどうか
を判断して、より厳しいチェックが可能になった
• 警告・エラーと二種類メッセージを用意していたが、最終的に「別シート
で同一IDのものを上書きした」以外はすべてエラーになった
• エラーは日本語で出すようにしています
Golangのxlsxパースは遅いしメモリ食う
⁃ zlib+XMLのパースで、ファイル変更がなくても40秒近くかかる
• Jenkinsサーバ上で、たまにOOMキラーに・・・
⁃ JSON+LZ4(高速な圧縮アルゴリズム)でキャッシュして15秒に
⁃ MessagePack+LZ4でキャッシュすると6秒ぐらいに
- 32.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
ぶっちゃけGolangどうよ?
スクリプト言語並に書きやすいC/C++
⁃ 速度は十分(xml, jsonのパース以外は)だし並列化しやすい
• 同じことをC/C++でやろうとすると結構ツライ
• 「C++と違ってその日のやる気が生産性に影響しない良い言語」(同僚談)
⁃ IntelliJ IDEA + golangプラグインで開発はしやすかった
⁃ ライブラリも多い
⁃ クロスコンパイルがしやすいのが良い
• Jenkins用(Linux)やデザイナー用(Windows)、エンジニア用(Mac)を
簡単に作ってリリース
⁃ コンパイル時チェックが厳密なのでいじりやすい
• ロジック以外のテストはそんなに書かなくても困らない
• 社内ツールは要望や報告が来て1ヶ月ぶりにコード触るとかが多いので楽
とはいえ、Jenkins上や開発環境上のツールとしてしか運用していない
ので、サービス運用のノウハウはまだなし
⁃ DeNAで「バリバリ使ってます」とはまだ言えない・・・
⁃ USは使ってます
- 33.
Copyright (C) DeNACo.,Ltd. All Rights Reserved.
まとめ
チーム規模に負けない仕組みを整備した
⁃ 運用を止めずに大幅なワークフローの変更を行った
⁃ 開発期間におけるデータ入力の手間を大分減らすことができた
• きちんとお昼にお昼ごはんを食べられるようになった
⁃ 効率アップは10%じゃなくて10〜100倍だと仕事の流れが変わる
運用しつづけていくタイトルにおいて、企画とシステム開発は両輪
⁃ プログラマの人は、エディタとかの話好きだよね?
⁃ 企画側も仕組みをがっつり整備していくことで運用がしやすくなる
他の運用中・新規タイトルにも絶賛水平展開中
40