ゲーム運営エンジニアにおける上流工程とは?

ゲーム運営2018/10/11

2018年9月26日、エンジニア向けのトークイベント「新規開発×長期運営・上流工程に求められるエンジニアスキルとやりがい」を株式会社ブレイブソフトと共同開催いたしました。

DeNA Games Tokyo(DGT)からは、エンジニアマネージャーの小篠隆児とリードエンジニアの五木田康平、エンジニアの岡村謙が登壇。この記事では岡村がお話させていただいた、『ゲーム運営の上流工程-領域を閉じないエンジニア-』についてレポートさせていただきます。

■ゲーム運営の上流工程-領域を閉じないエンジニア-

本日は、ゲーム運営においての上流工程、ゲーム運営エンジニアはどんなことをしているのかについてのお話をさせていただきます

本日のアジェンダはこちらです。

■エンジニアにおけるゲーム運営業務

ゲーム運営業務をざっくり分けると、クライアント開発業務と運用業務があります。クライアント開発業務はゲームの本体そのものの開発です。運用業務はイベントデータ作成やデータのリリース、運用改善などを行っています。

今回はエンジニアがメインで関わるクライアント開発業務にフォーカスしてお話します。

■ゲーム運営とシステム開発との違い

システム開発とゲームクライアント開発における違いですが、大きな粒度ではマイルストンに違いはあります。ですが、細かい粒度では要件定義、開発までの流れはシステム開発と大きな差分はないです。

ちなみに、クライアント開発は、二つ先のバージョンまで開発が平行しているので、次々開発されています。

システム開発の上流工程は要件義・基本設計となりますが、ゲームでは、施策・企画・仕様フェーズが上流工程にあたるかと思います。

また、前提ですが、ゲームの仕様を考えるのはプランナーの仕事となります。そのため考えるという点ではプランナーが上流工程をメインで行なっているとも言えます。

結論から言うとゲーム運営エンジニアとは「プランナーが実現したいことを実現する人たち」となります。ただ、プランナーが実現したい世界に対してエンジニアも納得しているかどうかは重要かと思います。

またDGTのゲーム運営エンジニアは下流だけを行うということはなく、上流工程から参加しています。それを踏まえ、ゲーム運営エンジニアにおける上流工程は何をしているのかを具体的に紹介していきます。

■ゲーム運営エンジニアがやること

・施策フェーズ

エンジニアはその中で成果物を具体的に想像しつつ、施策に懸念がないかを話あうフェーズです。

・企画フェーズ

エンジニアは既存のアーキテクチャで実装の妥当性など、技術要件を明らかにします。大型改修の場合などは、さらに要件を分解することもあり、最終的には詳細設計へと繋げていきます。

アーキテクチャでの実装妥当性などは、システム開発にも通ずるところがあるかと思います。アーキテクチャの話はもちろんですが、UXを満たしているかだったり、プレイヤーに面白いと思ってもらえるかといったゲーム性も話し合います。

・仕様フェーズ

ここでは、ゲームのルールやUI、演出などあらゆるルールが記載されるものとなります。

エンジニアは仕様書から詳細設計を起こすフェーズです。

・詳細設計

ここからは下流工程の作業となり、システム開発と大きな違いはないかと思います。強いていうなら、ゲーム開発とシステム開発では「イベント駆動型か永久にループする状態遷移型か」の違いでしょうか。

■まとめ①

ゲーム運営の開発では、上流工程から参加し、広い視野/思考が求められます。

DGTの上流工程ではUXが設定されているので、面白いものを届けることに集中できる環境です。

この環境はゲームに限らず、エンジニアとして個人的には楽しい環境だと思えます。上流から参加しているためPDCAが回しやすく、上流工程をよりスムーズにし、より良いゲームが作れると思っているからです。

■よいだけではない

一部、PM(プロジェクトマネージャー)案件かとも思いますが、DGTではチームのボトルネックもエンジニアで解決していく取り組みをしています。

・チームのボトルネック

不得意な分野の開発が特定のバージョンの開発で必要になったり、前のバージョン開発内容の拡張案件など、開発ラインごとに困ったことが違ってきます。

このように分散したボトルネックを解決するために、僕らがやったこととして、チーム課題を集める会を発足しました。メンバーが今課題に感じていることを付箋に書いて貼っていくことで、個人が抱えている問題の見える化ができました。

何が言いたいかといいますと、開発するだけではなくて、サービスを良くしていくため、

自律し自浄していくことが重要だと思っています。DGTではこうしたサービスに寄り添ったエンジニアのことを「サービスリードエンジニア」と定義しています。

■サービスリードエンジニアとは

エンジニアの領域にとらわれず、出すもの全てに責任を持とう!、というマインドです。

■まとめ②

DGTのゲームエンジニアは上流工程から「率先して開発できる環境」にいるのかなと思います。ゲーム運営の中でこれが体現できている会社は多くないのではと思っています。

少しでもゲーム運営エンジニアのことが伝わりましたら幸いです。

ご静聴いただきありがとうございました。