Cygames Research研究日誌 #3 ~研究におけるチームワークの話~
サイマガ読者のみなさま、こんにちは。
Cygames Research所長の倉林 修一です。Cygames Researchとは、最高のコンテンツを生み出すためにサイゲームスが設立した基礎技術研究所で、この連載記事では、当研究所での研究成果や活動をご紹介しています。
連載第1回では、当研究所の設立の経緯や趣旨をご説明させていただき、連載第2回では、Shadowverse Portal(シャドウバースポータル)のデッキコードの研究の経緯や仕組みについてお話ししました。
前回の記事へのフィードバックとして、社内からは、デッキコードの仕組みの説明が難しい、という声をもらいましたので、今回はもうちょっと読み物として面白いものにしようと、試行錯誤している次第です。多分、技術詳細だけ「である」調で書いたので、なんとなく難しい気がしただけではないでしょうか、きっと。サイマガ読者のみなさまは、難しくて引いちゃったとか、ないですよね?みなさま、引き続きお付き合いいただければと思います!
ところで、全くの余談ではありますが、サイマガに限らず、文章媒体での連載というものは、読者のみなさまからのフィードバックが見えにくいので、書き手の感覚としては大学のリモート講義とよく似たドキドキ感があったりするのです。読者のみなさまの中にも、今学期は全部リモート講義だったという方もいらっしゃるかもしれませんが、講義をしている側としては、話が伝わったのかどうかわからないという不安の中での講義でした。特に、リモート講義中に冗談や余談を言ってみても、全員がマイクをオフにしているせいで、ものすごくスベった感じがするあの現象は、大変辛いものでした。ただ、慣れてくると、自分の脳内で大爆笑の音声を再生できるようになるので、本人の主観では全くスベることなく学期後半の講義ができました。実際の画面の向こうでも、学生諸君が爆笑してくださっていることを信じています。なので、サイマガ読者のみなさまも、きっとこの記事を面白いと思ってくださっていると、信じています!
優れた研究は優れたチームワークから
バリューチェーンを意識した研究運営のあり方
さて、気を取り直して、第3回にあたる今回は、研究を実用化して、ユーザーのみなさまのところへお届けするために必要不可欠な「チームワーク」を、いかにしてCygames Researchが実現しているのか、ということをご紹介したいと思います。一般的に研究というと、自己中心的な博士が天才的な閃きで何かを成し遂げているような印象があるかもしれません。しかし、実際には、研究という活動は、さまざまな分野の人たちとの密接なコラボレーションから成り立っているのです。優れた研究は、優れたチームワークから生まれます。
特に、ユーザーのみなさまのところに研究成果をお届けするまでには、研究を実用化して、UI/UXをデザインして、ソフトウェア/サービスとして製品に組み込み、運用し、そして、ユーザーのみなさまに楽しんでいただく、という長いバリューチェーン(価値連鎖)を経由しています。研究者だけでは、研究の価値をみなさまのところにお届けすることはできないのです。
ちなみに、この「バリューチェーン」という言葉は、今から30年以上前にハーバード・ビジネススクールのマイケル・ポーター教授が提唱した考え方で、企業活動を、その企業の各部門が生み出す価値の連鎖として捉えるというものです。
私は、Cygames Researchという企業内研究所をデザインするにあたり、バリューチェーン、日本語で言うと「価値の連鎖」の中に、研究活動を埋め込むことが本質的に重要だと考えました。なぜならば、コンテンツ企業における研究は、ユーザーのみなさまの快適さや楽しさに繋がったときに初めて、その価値を発揮できるからです。研究の実践に次世代の研究を切り開く鍵があると信じているからこそ、このバリューチェーンを意識した研究所の運営モデルを作ったのです。
例えば、前回ご紹介したデッキコードも、その理論の設計やプロトタイプを研究者が実装しても、実際に製品に組み込むことができなければ、研究の本来の目的である「ユーザーのみなさまが、口頭でデッキ情報をやり取りできる世界を作る」というミッションを達成することはできません。研究成果を製品に組み込むためには、理論検証だけでなく、サーバーのスケーラビリティー、UIとしての使いやすさ、気持ちの良いレスポンスを返せるか、などなど、さまざまな要素をブラッシュアップし、「最高のコンテンツ」に仕上げる必要があります。
そのために、当社では、研究所と開発現場の間に垣根を設けずに、SlackやZoomなどのコミュニケーションツールで常に繋がりあった状態でコラボレーションをしています。新しい研究の依頼や、既存の研究の改善やアップデートの依頼も、Slackのメッセージ一つですぐに受け付けられます。研究所には現役の大学教員や教員経験者が数多く在籍して日々研究をしていますので、私はこの環境を「会いに行ける大学教員」と呼んでいます。しかも、当社では、研究者がどんどん開発現場に需要を聞きに行くので、どちらかといえば「会いに来る大学教員」です。字面だけ見ると、ちょっと怖いですね。会いに来る大学教員。
チームワークとは試行錯誤を繰り返し
段階的に連携していくこと
このような環境でのコラボレーションの例をご紹介したいと思います。
昨年度論文を発表し、実際に社内で開発中のタイトルにも組み込まれている新しいバーチャルパッドの開発では、実際にゲームを開発しているプロジェクトのディレクターと二人三脚で研究を進めました。基礎的なプロトタイプシステムを実際にゲームに組み込んでディレクターに使用してもらい、バーチャルパッドの反応速度や手触り感などのフィードバックを得て、さらに研究を進めて改善していく、というかたちで、ゲーム作りのプロと研究のプロとがタッグを組みながら試行と修正を繰り返したのです。
具体的には、「指を素早く動かした時には、1フレーム(0.03秒くらいの短い時間)以内にキャラが走るようにして欲しい」とか、「360度のあらゆる方向に簡単に方向転換できるようにして欲しい」などの要望をディレクターからもらって、研究者がその要望を満たせる数式を書き上げ、エンジニアがその数式をUnityなどのゲームエンジン上で実装してゲーム開発の現場に導入する、というところが始まりとなります。その後、ゲーム開発の現場で実際にゲームに組み込むと、走り始めの挙動を調整する必要があったり、適切なユーザーインターフェイスを実装する必要が出てきたりします。このような、ゲーム開発の現場ならではの工夫や調整というのは、研究にとっても大変有益な知見をもたらします。そのようなフィードバックを得て、研究者はさらに研究を進めて、改善したバーチャルパッドを提案する、というように、実用化と理論化の繰り返しの中で「最高のコンテンツ」のための研究を進めているのです。
この点が、研究所に閉じた従来の研究の方法と、当社の研究の方法の最大の違いではないかと思っています。私たちは、このような試行と修正の繰り返しを「イテレーション」と呼んで、社内のさまざまな場所で実践しています。ゲーム作りとは、研究も開発も運用も、まさにイテレーションなのです。
当研究所では、このようなイテレーションを基軸としたチームワークの方法論を、図1に示すように、体系的なモデルとして定めています。このモデルでは、開発現場との連携のあり方を、ミッション/タスク/メソッドの3階層と、研究(Res)/開発(Dev)/運用(Ops)/遊び(User)の4フェーズに分解し、それぞれのフェーズとの間でイテレーションを行うというものです。このモデルでは、研究者は、「今、研究プロジェクトがどのような段階にあって、自分は誰と連携すべきなのか」をすぐに把握することができます。さらに、その連携において必要となるメソッドも定義されており、「やるべきことを、やるべきときに、やれる」という状況にしやすくしています。
チームワークというのは、単に仲間同士が仲良くなることでも、あるいは、単に上意下達の組織を作り上げることでもありません。試行錯誤(イテレーション)を前提とした、連携のための精緻なモデルがチームワークの基礎になるのです。このモデルはまだまだ完璧にはなっていないと思いますが、日々改善しながら研究所を運営し、ユーザーのみなさまに、より良いコンテンツをお届けするための技術開発を進めています。
さて、面白い話を心がけたにもかかわらず、後半はちょっとハイブローな方向性に話が入ってしまったような気がしますが、いかがでしたでしょうか。コンテンツ開発、という分野における、研究所の運営が垣間見えたのではないでしょうか。次回は、この8月に、Cygames Researchからたくさんの論文を発表するので、当社の学会活動についてご紹介できればと思います。お楽しみに。