クライアントサイドの仕事とは? ゲームの面白さに直結する部分を担う【サイゲームス仕事百科】
「クライアントサイド」は、スマートフォン向けゲームの中でユーザーのみなさんが実際に触れる部分を開発している部署です。リリースしたタイトルの運用も担っており、既存機能の改善や新機能の追加も行います。今回はクライアントサイドの仕事について、マネージャーへの取材を基に解説します。
▼ユーザーのみなさんが直接触れる部分を開発する
▼クライアントサイドの主な仕事内容
▼クライアントサイドの体制
▼クライアントサイドの業務フロー
▼必要なスキル・マインド
▼仕事のやりがいとは?
▼クライアントサイドエンジニアのキャリアパス
▼クライアントサイドを目指す人へのアドバイス
ユーザーのみなさんが
直接触れる部分を開発する
クライアントサイドは、スマホ向けゲームタイトルの「クライアント部分」を開発・運用している部署です。スマホゲームにおけるクライアント部分というのは、ユーザーのみなさんの端末内で動く処理を指しており、ゲームロジック(※)、グラフィックス、サウンド、UIといったゲームプログラム部分、及び課金機能や通知機能といったプラットフォーム関連の機能を指します。
※ ゲームロジック……ゲームのルールや遊びを作るプログラム
つまり、ゲームの面白さや手触りといった、ユーザーのみなさんが直接触れる部分を開発する仕事と言えます。「最高のコンテンツを作る会社」というサイゲームスのビジョンを実現するために、クオリティーの高いゲームを作って、ユーザーのみなさんに楽しんでもらえるように届けるのがミッションです。そして、楽しみ続けてもらうために継続的な運用に取り組んでいます。
クライアントサイドの主な仕事内容
クライアントサイドの業務内容について、詳しく見ていきましょう。サイゲームスでは『Shadowverse』『プリンセスコネクト!Re:Dive』『ウマ娘 プリティーダービー』といったスマホ向けタイトルを開発・運用しており、クライアントサイドはこれらにおいて下記の開発を行っています。
■ゲームロジック
ゲームの遊びを作る部分の処理です。例えばアクションゲームだとキャラクターの操作や敵の行動、ステージ内の仕掛けなどゲームの様々な要素を実装します。そのゲームの面白さを決定づける根幹部分です。
■UI
ゲームのメニュー画面などの表示部分を作ります。ボタン操作や画面レイアウトなどゲームを快適に遊ぶための重要な要素です。UIデザイナーがデザインした画面を、ゲーム画面上でプレイ可能なプログラムとして実装します。
■グラフィックス
背景やキャラクター、エフェクトなどユーザーのみなさんの目に見える部分に関する処理です。イラストレーターや3DCGデザイナーが作成した画像やデータをゲーム内に組み込んだり、より魅力的な見た目になるように描画の基盤実装やシェーダープログラムを書いたりします。
■サウンド
BGMや効果音、キャラクターボイスなどの様々な音声を、ゲームの場面や進行状況に合わせて適切に鳴らせるように実装します。
■システム
データのセーブ・ロードやサーバーとの通信など、ゲームの基盤となる部分。ユーザーのみなさんに安心してプレイしてもらうために重要な部分です。
■ゲームAI
アクションゲームやRPGなどにおける敵やNPCの行動パターン、あるいはカードゲームにおける敵の思考ルーティンを考え、プログラミングする作業。ゲームの難度やリアリティーを左右する要素です。
■プラットフォーム・通知関連機能
アイテム購入に伴うプラットフォームとのやり取り・データ管理をする機能や、アップデートやメンテナンス情報といったゲーム内のイベントを知らせるための通知機能を開発します。このようなゲームを安心して遊ぶための機能や利便性に関わる部分も、主にクライアントサイドで開発しています。
クライアントサイドの体制
サイゲームスのクライアントサイドには、各タイトル(プロジェクト)に所属して開発・運用を担当するスタッフの他に、全プロジェクトが利用する基幹システムの開発や、必要に応じて各プロジェクトの開発・運用をサポートする「横断チーム」もあります。
プロジェクトでは、各タイトルの開発・運用を行っています。具体的には、プランナーやデザイナーと連携しながら進める既存機能の改修や新機能の実装などです。また、読み込みの速度や操作時のレスポンスといったパフォーマンス面のチューニングなども対応。プロジェクト内の開発フローを俯瞰し、滞りがちな部分を見つけてより効率的な開発に向けて技術面からのサポートを進めるといった役割も請け負っています。
横断チームでは、ゲーム開発の基盤となる内製のフレームワーク開発やビルド環境の整備をしています。課金やセキュリティー面などシステム面の開発も担当し、各タイトルのエンジニアがゲーム開発に注力できるようにサポートをしています。さらに、最新技術のキャッチアップ、調査・検証などもしています。
このような体制にしている理由は、ゲームによって開発の特性や面白さの作り方が異なるためです。そのゲームの性質を知るスタッフがプロジェクトに所属し、継続して業務に取り組むことによって、ゲームの質を高められると考えています。
また、共通の機能やツールなどはプロジェクトを横断して一つの基盤を作ることで効率化を図る狙いがあります。効率化によって生まれた時間を、面白さの作り込みに使うという考えでこの体制を組んでいるのです。
プロジェクトチームと横断チームのメンバーはどちらかに固定というわけではなく、各スタッフの意向を考慮して編成しています。
クライアントサイドの業務フロー
ここでは、運用中タイトルの新機能実装を例にクライアントサイドの業務フローを紹介します。新規タイトルの開発に取り組む際も、規模の大小の違いこそありますが、基本的な流れは同じです。
1.企画ヒアリングから実装方法を検討
ディレクターやプランナーからのゲーム内へ新機能追加相談に対して、内容の擦り合わせを進め、どのように実装するのがよいか実装方針を検討します。既存の技術にとらわれず、技術選定から始める場合もあります。サイゲームスでは企画職の人以外から機能や改善の提案があることも多く、エンジニアから機能開発の提案をする機会が多いのです。
2.開発スケジュールの調整
新機能の実装は、プランナーやデザイナー、サウンドなど様々なセクションと連携して作業する必要があります。効率良く開発できるように、どんな順番で誰が作業をするかをすり合わせ、スケジュールを組みます。
3.設計・実装
ゲームに必要な要素のためにどうやったら実現できるかを具体的に考え、プログラムを書いたり、ゲームエンジンを用いて実装したりします。成果物が意図通りにできているか、意図通りに作ったものが本当に面白いのかを検証し、面白くなるまで設計・実装を繰り返します。
4.デバッグ・最適化
デバッガーと連携して、出来上がったものの動作に不具合がないかテストし、不具合が見つかれば修正します。不具合はないけれど動作が重いといった場合には、パフォーマンスを上げるための最適化を行うこともあります。
5.リリース・見守り
デバッグ・最適化を終えて新規機能が完成したら、リリースタイミングに合わせて準備を進めます。いよいよユーザーのみなさんに届ける段階です。リリース後は、実際に稼働して問題がないかという「見守り」を行います。これで問題がなければ、一連の作業は完了です。
前述の通り、クライアントサイドはゲームの面白さや手触りといった部分に関わる立場なので、開発初期から参加することが多いです。コードを書くだけのプログラマーではなく最適な手法を提案するエンジニアであり、技術面の責任を持ちつつ、ゲームの面白さにもコミットするのがサイゲームスのクライアントサイドの役割だと考えています。
クライアントサイドエンジニアに
必要なスキルとマインド
ここでは、クライアントサイドエンジニアに求められるスキルとマインドについてご紹介します。
■ゲームエンジンやプログラミングの知識
開発業務としてUnityなどのゲームエンジンを使ったり、C#を用いてプログラミングをしたりがメインであるため、この部分の知識は必須です。また、技術トレンドの変化が速いので、最新技術をキャッチアップするスキルも重要です。
■専門領域に特化した知識
クライアントサイドはゲーム開発の中でも非常に技術領域が広い分野です。グラフィックスやゲームAI、サウンド、セキュリティー、パフォーマンスチューニング、ネットワーク、ツール開発といった特定の技術分野に関しての専門的な知識を持っていると強みになります。
■運用に関する知識・経験
スマホゲームは開発するだけでなく運用も重要。運用に関する知識や技術、あるいは開発の効率化で貢献した経験があると、クライアントサイドとして活躍できるでしょう。
■より良いものを目指す熱意と探究心
運用を含めると長期で開発に臨むことになるので、一度作ったからといって満足せず、より良いものを目指す探求心が重要です。技術の変化を前向きに捉えてキャッチアップし、今できることを明日はより良くすると意識しながら改善を続けていく姿勢が求められます。
クライアントサイド開発を通して「最高のコンテンツ」を実現することが我々の使命です。
担当している内容を実装するだけでなく、より良いゲームにするにはどうすれば良いのかを考え、楽しみながら仕事をするマインドが重要です。
クライアントサイドの仕事のやりがい
クライアントサイドの開発ではユーザーのみなさんに直接触れてもらえる部分を作っています。作ったものを実際にプレイしてもらって、面白い、楽しいといったフィードバックをもらえたときが、やはり一番やりがいを感じる瞬間です。
例えば、通勤電車の中で自分が携わったゲームをプレイしている人を見かけたりすると、とてもうれしい気持ちになります。これは外でもプレイできるスマホゲームを開発している者の特権と言えるかもしれません。
サイゲームスのタイトルはクオリティーへのこだわりがとても強いので、開発陣も知恵を絞って、あれこれと工夫をして、納得のいく成果物ができるまで何度もやり直して……といった奮闘をしています。その分、世に出したときに「なんだこれは!?」「すごい!」といった反応や感想をもらえると大きな達成感を味わえます。
クライアントサイドエンジニアの
キャリアパス
現在、サイゲームスのクライアントサイドのスタッフは、ゲーム業界で開発をしていた人が合流するケースが多いですが、異業種から転職してきた人や、第二新卒のようなかたちでエンジニア未経験から合流してきた人もいます。未経験のスタッフにはメンター・トレーナー制度や各種の研修制度を用いて育成・サポートを行い、技術面をはじめ現場で活躍できるスキルを身に付けてもらいます。
現場に入ったら、若手や未経験のスタッフは簡単なタスクから経験し、慣れてきたらより専門的な内容を担当する、といった具合に段階を踏んで経験を積んでいきます。
ゲームの機能改修や新規追加要素などを担当でき、開発の効率化に向けたツール開発やフロー改善などができるようになれば、クライアントサイドエンジニアとして一人前と言えるでしょう。個人差はありますが、未経験スタートであれば、2〜3年でこのレベルに達する人が多いです。新卒入社3年目でエンジニアリーダーを担当しているスタッフもいます。
現場の開発業務をひと通り経験すると、どんな開発の進め方をするのが最適かという感覚が身に付いてきます。そこから、次は自分だけでなく周りのスタッフのタスクも管理して、より上手くいくようにフォローするといったマネジメントができるようになります。
マネジメントは少人数の取りまとめ役から始めて、サブリーダー、エンジニアリーダーへとチーム内で見る範囲を広げていきます。さらに複数のチームを管轄して組織を強化するサブマネージャー、マネージャーへとステップアップしていくのがキャリアパスの一つの典型です。
一方で、マネジメントではなくエンジニアとしての幅を広げたい、専門性を磨きたいという志向の人もいます。その中には、複数のプロジェクトで経験を積んで幅広い知識を身に付け、どんな仕事を任されても高い成果を上げるスタッフもいれば、グラフィックスやセキュリティー、AIなど特定の分野の知識を深めて、その分野のスペシャリストとして活躍するスタッフもいます。どんなキャリアを歩むかは、個人の意向や適性などを考慮しつつサポートしています。
クライアントサイドを目指す人への
アドバイス
サイゲームスには「最高のコンテンツを作る会社」というビジョンがあり、クオリティーにこだわったゲーム開発ができます。クリエイター冥利に尽きる環境だと言えるでしょう。クライアントサイドはユーザーのみなさんに一番近い部分を開発できる部署で、みんなで協力して自分が想像する以上のものを作り上げていけるのが魅力だと考えています。
クライアントサイドに限ったことではありませんが、サイゲームスはエンジニアとしての力を100%、120%出せるようにという観点から、業務効率化への支援が手厚い会社です。機材やソフトウェア、開発に必要な情報など、あらゆる面で後押しする環境が整っているので、フルパワーでゲーム開発に挑めます。
運用に力を入れているのも大きな魅力です。例えば、長年運用しているタイトルだと、新しいタイトルに見劣りしてしまうことがあります。それを「昔リリースしたものだから仕方がない」と妥協するのではなく、ユーザーのみなさんに長く楽しんでもらえるように、妥協せずに大型アップデートにも積極的に取り組むのがサイゲームスです。大変な部分もありますが、クライアントサイドとして大きなやりがいを感じるところです。
面接では、今後やってみたいことや成し遂げたいことをよく聞きます。これまでどのようにキャリアを歩んできたのか、仕事をする上でこだわっているところなど、あなたが大事にしていることを教えてください。さらにそれを踏まえて、サイゲームスで何をしたいかを聞かせてもらえるとうれしいです。
サイゲームスは、手間と時間をかけて作ったものでも、面白くなければ世に出しませんし、納得がいくものになるまで作り直します。「ゲームを面白くするためならどんなことでもやります」というタイプの人が合っている環境です。実際、そういう挑戦的なマインドを持っている方が多く集まっています。最高のコンテンツを一緒に作りたいという人にお会いできるのを楽しみにしています。
以上、クライアントサイドの仕事についての解説でした。
現在サイゲームスでは、一緒に働く仲間を募集しています。この記事で興味を持った方は、ぜひ一度こちらをチェックしてみてください。
★あわせて読みたいエンジニアにまつわる記事