2021年12月、「新しい未来のテレビ」として展開する動画配信サービス『ABEMA』がNintendo Switch™向けアプリをリリース。スマートフォンやタブレットに加え、ゲームコンソールでの視聴を可能にした。
本アプリの開発にはUnityが使われている。動画配信サービスに採用される事例は多くはないが、開発チームによれば「ゲーム市場へのリーチやバーチャル空間でのサービス展開などを見据えての選択だった」という。
詳しい導入背景や活用した所感、今後の展望について、開発を率いた株式会社サイバーエージェントにてクロスデバイスチームのテクニカルプロダクトマネージャー兼エンジニアを務める五藤佑典さん、Webフロントエンド・Unity・Androidエンジニアの大泉明日香さんに聞いた。
ゲーム市場やメタバース市場も視野に入れ、Unityを導入
——はじめにNintendo Switch向けの『ABEMA』アプリを開発した背景を教えてください。
五藤:『ABEMA』はテレビのイノベーションを目指し「新しい未来のテレビ」として、時間や場所を問わず楽しめる体験を目指してきました。どこでも視聴できる状態を実現するためにもマルチデバイス・クロスデバイス対応は必須。2016年にサービスを開始してから、スマートフォンやWebブラウザはもちろん、テレビ、スマートスピーカーなど選択肢を増やしてきました。
その一環としてゲームコンソールでの視聴も当初から検討していたんです。ゲーム市場はユーザーの規模も大きく魅力的ですからね。いずれはチャレンジしたいと話していましたが、開発リソースの限界もあり、テレビなど他のデバイスを優先せざるを得ませんでした。
本格的にプロジェクトが動き始めたのは2019年です。テレビのリモコンに『ABEMA』ボタンが搭載されるのも珍しくなくなり、テレビ用のUIや機能開発の知見も溜まってきていた頃で、機が熟したと感じてチームを立ち上げました。
——開発にあたって、Unityを導入した理由は?
五藤:大きな決め手は「ゲームコンソールをターゲットに開発するならUnity」と思っていたことですね。既存のGUIシステムを利用する案も挙がっていましたが、汎用性やパフォーマンスの高さ、ツールセットの豊富さなどを鑑みて決めました。
懸念点はC#での開発になるため、『ABEMA』で扱うコードアセットが一つ増え、開発やメンテナンスの工数が上がることでした。ただ、アーキテクチャを工夫すれば、工数は想定より抑えられる見込みも立てられました。
また、近年はライブ映像にリアルタイムでCGなどを合成するツールとして、ゲームエンジンが台頭している印象があります。Unityを導入することで、リアルタイム合成を用いた映像制作の知見も蓄えられるのでは、という期待もありました。
さらにメタバースのトレンドを踏まえると、サイバーエージェントがバーチャル空間で多様なサービスを提供する未来は、十分あり得ると予想しています。そうなったとき、Unityのようなリアルタイムに3D映像をレンダリングできる技術やツールは、あらゆるサービスに欠かせないものとなる。今、導入しておけば横展開もしやすいだろうとも考えていました。
——開発はどのような期間、体制で進めたのですか?
五藤:プロジェクトが立ち上がってリリースするまでは1年も満たないですね。Unityなど他のシステムの検証期間を含めると2年ほどでしょうか。
大泉:体制は、私と五藤も含めてメインで関わったのが4名、多い時期で6名ほどでした。
私はUIの設計やパフォーマンスのチューニング、他の2名がアーキテクチャの構築や動画再生の実装。五藤はテクニカルプロダクトマネージャーとして開発全体を見つつ、必要に応じてエンジニアとして手も動かすという体制でした。
最初はあまり役割を分けずに開発を進める予定だったのですが、徐々に各人の得意な領域を担当する形になっていきました。
クリーンアーキテクチャを導入し、開発プロセスを効率化できた
——実際にUnityを使ってみた所感について伺いたいです。動画再生の実装などの面では、いかがでしたか?
五藤:動画再生についてはネイティブのライブラリを作成し、Unityに繋ぎこむ形で実装しました。Unityは外部ライブラリとの連携を前提にしているので、データの値や構造体もやり取りしやすかったです。
ただ、そもそも動画配信サービスをUnityで作る事例が少ないからだと思うのですが、動画再生周りの機能やエコシステムは、今後さらなる拡充に期待したいところですね。
——大泉さんは、UnityでUIの設計など行ってみて、いかがですか?
大泉:Unityに触れるのは初めてでしたが「やろうと思えば何でもできる」と感じました。
UIは「uGUI(ボタンなどゲームのユーザーインターフェースを直感的に作成できる機能)」で作成しています。WebのUI開発であれば、Webの仕組みやパフォーマンスを考慮して諦めていただろう表現も、Unityなら実現するためのツールが見つかる。たとえば、Unity Asset Storenにある「DOTween」は、UIのアニメーションを柔軟かつ簡単に設計できます。表現の幅が広がり、楽しかったですね。
機能も使いやすく、私のようなUnity初心者のWebフロントエンドエンジニアであっても馴染みやすいと思います。
——開発プロセス全体にはどのような変化がありましたか?
大泉:アプリケーションを構成するコンポーネントごとにいくつかの「層」に分離するクリーンアーキテクチャを導入できました。画面の表示を担う「View層」やデータを扱う「UseCase層」など、それぞれの作業を並行して行えたため、効率的に実装を進められました。
Unityで提供される機能は、他の層の機能に依存せず、それ単体で処理が完結するため、層を分離しやすかったように思います。ABEMAではゲーム機やテレビ受信機などのデバイスのほか、モバイルアプリなどでもクリーンアーキテクチャの導入を進めてきましたが、ここまで望ましく分離できたのはUnityの特色だったといえるかもしれません。
他にも効率化で言うと、デザイナーがUIの実装をプレビューしながら、パラメーターの調整などを一部担えるようになったのも大きな変化でした。
往来とは異なる人たちへ、ABEMAの新たな楽しみ方を提案できた
——完成したアプリのアピールポイントを伺えますか。
大泉:まずは、動かしていて楽しいアニメーションですね。特に、インストールして初期設定を行う画面のアニメーションは「DOTween」できれいに実装できたと思っています。
さらなる改善は必要ですが、ユーザーが「どこを操作しているか」を一目で把握できる画面設計も意識しています。Nintendo Switchを経由して大画面のテレビで観る場合も、迷わず操作できるよう設計しました。
五藤:ユーザーがどのような情報を見て、どのような行動をするのか、細かくジャーニーを整理し、機能や画面を設計していった点ですね。特に、ユーザーができる限り少ないステップ数で、観たいコンテンツに辿り着くための議論を重ねました。
現在も行動データから、想定していた挙動やステップ数とのズレを確かめ、改善に繋げています。
——リリースしてからの反応はいかがですか?
大泉:SNSの反応などから従来と異なる層にリーチできている手応えがあります。特に大学生よりも若い年代で、スマートフォンしか再生デバイスを持っていないユーザーから反響が大きかったです。Nintendo Switchで番組を流しながら、同時にスマートフォンで別の動作を行えるようになったという声が届いています。新たな視聴体験で楽しんでくださっているようです。
バーチャル空間でも「新しい未来のテレビ」を実現したい
——これからどのようにUnityを活用していきたいと考えていますか。
大泉:Unityは対応デバイスの多さが魅力だと思っていますので、今後も活用し、Nintendo Switch以外のデバイスにも『ABEMA』を展開していきたいですね。
すでにABEMAでは、iOSとAndroidアプリを共通で開発できるプラットフォームを使っています。同じように、ゲームコンソールを中心に複数デバイスを共同で開発するプラットフォームとしてUnityを使っていけたらと個人的には期待しています。
——Unityを活用した先で『ABEMA』でどのような体験を実現したいですか?
五藤:バーチャル空間にも体験を拡張させていきたい思いはずっと持っています。『ABEMA』は、複数デバイス対応によって「場所の解放」、タイムシフト再生などによって「時間の解放」を実現してき ました。その先に、視聴する「物理空間からの解放」も十分あり得ると考えていて。今後も実験を重ねていけたらと思っています。
また、Unityを番組制作の現場に導入できないか、とも考えています。ライブ映像において視聴者が何かしらアクションをしたら、リアルタイムに映像が変化するなど、インタラクティブな体験も届けていきたいですね。
大泉:VRヘッドセットへの対応を進め、ユーザーが番組に「没入」できる環境を整えたいです。スマートフォン片手に気軽に観たい番組もあれば、VRヘッドセットで真剣に観たいコンテンツもありますから。Unityを土台として選択肢を広げていけたらと考えています。
——ゲームコンソールに限らず、VRやメタバースでの展開など『ABEMA』というサービスの可能性を感じました。今日はありがとうございました!
※Nintendo Switchは任天堂の商標です。