気軽にビルドとデプロイし、開発を可視化/効率化するクラウド活用術」の模様をお届けする。アプリ開発において迅速なサービスの開発・ビルド・デプロイの役割は重要で、これらを実現するためには各種プロセスの自動化も重要となる。本講演では、『マインクラフト』の事例を交え、効率的なアセット管理やビルド、運用の自動化や可視化もできる環境の実現方法が紹介された。インダストリーテクノロジーストラテジスト)。War』『マインクラフト』などXboxを連想する人が多いと思うが、「それら巨大なタイトルをクラウドの活用で開発、運用し、またトリプルAクラスのスタジオと共同でゲームを開発することによって、色々な事を学んできた」と梅津氏。した経験からゲームの要件を満たす新しいクラウドサービスを数多く構築してきたという背景が同社にはあるという。現在のマイクロソフトのゲーム業界に対するビジョンについて、梅津氏は「今日、私達は誰でもインターネットに接続でき、どんな端末からでもゲームにアクセスできる。それを実現するためにはゲームのデバイスを超えたコンソール規模のゲームを開発することが必要」と説明。約76億人の世界人口、内40億人がインターネットユーザーであり、20憶人がゲーマー。その数はどんどん増えてきていると言われている。最新の調査では、2019年のゲーム収益は1500億ドルを超えると予測されているそうだ。モバイルゲームはこの数字の主な推移の要因であり続け、競争の激しくなる没入型のモバイルゲームやスマホユーザーの増加、そしてハードウェアの向上といったものが急激に増え続けていると言われる要因ともなっている。した中で、世界規模のゲームユーザーに対してアプローチしていくことが必要になってきており、梅津氏は「マイクロソフトは成長し続けるゲーム業界に向け、ユーザーが望むゲームを、ユーザーが望むデバイス上でプレイできる環境を提供する」ことをミッションとし、「この中には、作りたいゲームを、遊びたいユーザーのために、作りたいデバイス上で自由に作れる、といった形でゲーム開発者に対してのメッセージも含まれている」と語った。それを実現させるため、Content、Community、Cloudという3つのCに対して対応していきたいと考えている。Contentは従来型のパッケージゲーム、Communityは従来から製品に対して遊んでいるコミュニティ、オンライン、ソーシャルサービスに対してアプローチするという意味でのゲーム、そしてCloudはゲームに対して色々な人達に対してアプローチしていくという所でのクラウドの活用といったところをコンセプトとしているという。「それらを利用してもらい、簡単にアクセスできるような環境を私達から提供したい。Stack」と梅津氏。Studio等のゲーム開発のプラットフォームやツール、サービスなどを、開発者が簡単に見つけて利用できるようにするためにブランディングしてまとめたもの。Azureはコンピューティングやストレージ等ビルドのサービスに使える形になっており、クラウドネイティブなサービスを提供するにあたって堅牢なシステム、維持可能な高いクラウドのプラットフォームを使ってもらえる形として紹介している。Stackは、作成からリリース、運営といったフェーズに合わせたものをツールごとにまとめ、全方位的にゲームに携わる人たちのサポートをしていきたいという想いが現れたシステムと言える。Arena』のシステムがAzureで動いていること発表しました。韓国の『黒い砂漠モバイル』や、E3で発表となった北米版『PSO2』もAzureを利用することが決まっている」と、最近の事例を紹介。シージ』なども、「これらサービスを利用し、フィードバックを受けながらAzureは進化し続けている」(梅津)と語った。ここから梅津氏は、クリエイトのフェーズについて『マインクラフト』も実践しているビルド・デプロイ効率開発術について解説した。2019では、クラウドに限らず開発の効率化に関するセッションが多かったが、梅津氏も「やはり開発に関する改善、効率化のニーズは非常に増えている」と感じたそうだ。いった中で当たり前だが、「最初にクラウドの活用を検討する際に、目的や手段、それによって得られる結果を明確化する必要があると思う」と梅津氏。クラウドを扱ったゲーム開発の環境を構築するにあたり、実現できること、または考えなくてはいけない事が3点あるという。ゲーム市場のスピード感が早まる中、開発期間の長期化によるユーザーニーズとの乖離、ゲームのアップデートの頻度やクオリティの低下によるユーザー離れなどを防ぐために、効率良く開発テストを行える環境は必要になる。次に、"場所を問わない開発"。自社だけで開発を行うよりも、開発会社と協力し、複数の開発拠点、開発者がいつでも好きな所で開発できる環境作りは、海外展開するゲームの増加や、開発者の働き方改革という観点からも求められる。常にフェイスtoフェイスで話し合いをしなければならない開発者同士が、いかにコミュニケーションをとり、どう開発を進めていくかというのはとても重要という。"セキュリティを担保した開発"。ゲーム開発の資産(プログラム、絵素材、サウンド等)は会社にとって大切な物。これらをクオリティ高く作るにあたって、どうしても容量や数が増え続けていく。した中で、場所を問わない形で開発を進めるには、ネットワークの制限、適切なアクセス制限といったセキュリティ面は必ず検討しなければならない。いった中でうまくクラウドを活用し、ゲーム開発に関するこれら課題をクリアした事例として梅津氏は『マインクラフト』について触れた。『マインクラフト』と言えばモバイル、コンソール、VR、PCなど様々なプラットフォームで展開し、バージョンも多い。梅津氏は「そういったものを合わせたビルドを作成しており、昨年末の時点で毎回異なる86のビルドを作成している」と紹介。DevOpsのPipelinesで30種類ものビルドトリガーを管理している状態だという。Centerを使ってiOS、Androidのモバイル向けのテストを実施。クラッシュレポートを取得することでデバックに役立てている。Azure側で使っているビルドマシンに関してはWindows、Linux、Mac合わせて約300台管理。これらを駆使して、毎日約3000回のビルド、700回のテストを実行することで、クオリティの高さを保ちゲームを提供。その結果、「おかげさまで今年5月頃に総売上本数が1億7600万本を突破しました」(梅津)と、多くのユーザーが楽しんでいるとのこと。一口にクラウドの活用と言っても、様々な出来事や事情から中々難しいという話もある。した状況でも「色々なツールを組み合わせることでクラウドを活用していただき、より良い環境を作るお手伝いをしていきたいと私達は思っています」と梅津氏。その中の方法の1つとして「クラウド化があるのではないかと思っている」と梅津氏。「そういった形の中で、ベストなチョイスをして、より良いゲームを作っていただきたいです」とメッセージを送った。上席主査の矢木一匡氏がゲストとして登壇した。▲コナミデジタルエンタテインメントの矢木一匡氏。その前に、スクリーンにKONAMIでシステムを担当する正延氏のビデオが上映。ビデオの中では、「今後、KONAMIが世界に向けてエンターテインメントを発信していくための次世代の開発・制作拠点として、全12階建てのビルを銀座に構えること」や、「開発環境を全てクラウドに置くことで今まで色々とあった問題点を解決しようと考えている」ことなど、今回KONAMIが、マイクロソフトのクラウドを利用することになった経緯が語られていた。▲「1社でもやりきれないし、クラウドを自分たちでやりたいと思ってもできない。なるとマイクロソフトさんの手を借りるしかない。これをキッカケに共にやっていく、そんな関係が気付けたら良い」と正延氏。矢木氏は、ビデオでも触れられた次世代の開発・制作拠点について、「"コナミクリエイティブセンター銀座"という新しい開発拠点が今年の秋~冬にかけて立ち上がります」と紹介。銀座に誕生するという、こちらの次世代の開発・制作拠点は、全12階建てのビルで4階から上が制作拠点、1~3階はeスポーツの拠点として、ストアや配信スタジオになるとのこと。矢木氏は、新たな開発拠点が立ち上がるこの機会にしかできないことがあると、何を一から設計し直せる部分として、ゲーム制作の効率を大きく上げられるようなことができないか考えたという。DevOpsの利用を始めることにした」(矢木)。矢木氏によると、今までの開発環境はオンプレミスで制作環境向けのサーバー部分を運営してきたそうだが、コンシューマゲームが4K化8K化し、モバイルゲームもリッチ化してきたことにより、アセットプールの巨大化に悩まされたという。次世代機の制作環境ではインターネットに柔軟につないで色々なサービスを利用しなければ「開発自体がおぼつかなくなってくる」と八木氏。1社だけではゲーム開発できない状況になっている中で、外部協力会社とどのように安全にアセットプールを共有していくか、アセットプールにある営業秘密データをどうやって守るかということも考えないといけなかった。そこでクラウドの利用を検討し始めたという矢木氏。事業所内のオンプレミスサーバーはキャッシュ的に、マスターデータやリポジトリはクラウドにおいて、オンプレミスサーバーの負担を少なくする。クラウド上の制作データのアセット管理システムに営業秘密のデータの置き場所として役割を持たせる。「これをやればうまく解決できるのではないかと、だんだん思うようになった」という。クラウドは非常に便利な反面、会社の大切なデータをそこに置いて安全なのかという懸念点があり、それらの解決や経営層への説明も必要となってくる。「せっかくクラウドにデータを置くなら、他にもクラウドならではの機能を利用して、より良い環境にできないものか検討した」と矢木氏。今の開発環境をそのままクラウド利用するため、アセットプールはPerforceとGitを中心に考えた。Perforceはクラウドに直接利用するのではなく、事業所内にキャッシュ的なサーバーを置くことで可能性を検討。その他コミュニケーションツール、進捗管理ツール、ウェブドキュメントの置き場所なども使っていき、将来的には外部との共有も視野に入れた。一方で、「会社の大切なデータなので、外部から簡単にアクセスできるのはNG。それどころか、ローカルな環境にしなさい、という大きな要件が上がってきた」と矢木氏。インターネットを経由しないで会社の中からクラウドにアクセスするという。ローカルアドレスで構築しつつ、アセットプールなど外部協力会社と共有できるような仕組みは、ニーズに反していてなかなか難しい」と思いつつ、矢木氏は各所に相談しつつ構成を考えた。その中で、マイクロソフトから一つの提案があったそうだ。DevOps上、もしくはAzure仮想マシンのGitHubを使う。DevOpsのものを使う」というもの。マイクロソフトのクラウドとExpressRouteというもので繋ぐ。仮想マシンが稼働するネットワークへはプライベートピアリングという形でローカルアドレスのまま線(水色)を伸ばす。DevOpsへはグローバルなアドレス上にあり、「ここが問題になる」と矢木氏。DevOpsに繋がるため、「これで難しい条件を満たせそうで、光が見えてきた」(矢木)と説明した。DevOpsを選択することになったそうだ。これによりクラウド部分の概略が決まってきた。仮想マシン上にアセット管理のマスタサーバーを置く。ローカルの所にキャッシュサーバーを置き、早いアクセスが必要なものはここにアクセス。NOC、ネットワークコネクティングセンターという所に事業所と専用線で繋ぎ、そこからマイクロソフトのクラウドに繋いでいくようにした」(矢木)。他拠点を繋いでいく際のハブにするという意味合いがあるそうだ。DevOpsへはインターネットを経由せずアクセスさせる仕組み(マイクロソフトピアリング)を利用することで確保できるようになった。その他、セキュリティ面でFirewallを設定して制御と干渉できるようにしているとのこと。DevOps上で色々できるということを見据えて、この設計であれば実現できるのではないか」と矢木氏。クラウド上で開発素材等を自動分類できないかなとか色々考えているそうだ。制作環境が面白いゲームを作れるように、制作しやすい環境を提供する、ということをチームの命題に掲げる矢木氏。「クラウドサービスは容易にスケールすることができますし、新しい機能というのを気軽に試せるというメリットがある。開発環境が大きくなって小回りが利かなくなる部分はクラウドを利用することで緩和できるのではないか」と考える。環境の構築にはネットワークの構築が、やや複雑化し開発全体の効率がネットワークのパフォーマンスに左右されやすい状況や、クラウドの利用量が予測しにくいという点を現在残っている課題とし、「今後の利用を考えていく上で、クリアしていかなければならない」(矢木)と口にした。最後に矢木氏は、「いずれにせよ、クラウドの利用で面白い事が色々できそうなので、マイクロソフトさんには利用したくなるようなクラウドサービスをご提供いただき、制作環境の構築にご協力いただければと思っています」とコメントした。テクノロジーソリューションプロフェッショナル)。poolについて触れた。poolは、「ビルドのサーバーなりをその場でAzureから用意して、使った秒の間だけ課金する。EngineやUnityをインストールするなど環境のセットアップが可能なので、予め設定した環境にビルドエージェントを入れたら"後はビルドやっておいて"ということができる」という。Centerで、主にモバイル向けのアプリの自動テストや起動テストを行い、クラッシュレポートを取得することができるという。廣瀬氏は「せっかく作ったゲームなのにダウンロードして起動したら落ちてしまい、ストアに酷評される。いう事態を回避できるように自動的にクラッシュレポートを集約、解析する機能があり、すぐに修正点などに気づける」と説明した。DevOpsでどんなことができるのかを、6つのツール群から紹介。ソースコードを置いてコミットしたら、その都度ビルドしてくれるという。Engineでもそうですが、アセットの規模が大きくなればなる程、辛抱強くビルドを待つと、いうことがあると思いますが、それならソースコードが修正される度にビルドすれば良いのではないか」と廣瀬氏。梅津氏の話で『マインクラフト』では日に約3000回のビルドが行われているとあったが、ワールドワイドで3000回程プログラムの修正が行われていると思いますが、その回数分、都度ビルドしていることになる。「例えば、うっかり修正を間違えたとか、実はプログラムが動かない状態でコミットしてしまったという事があると当然ビルドが通らなくて、そういう時に限ってリリースを出さないといけなくて慌てることもあると思います。Enterpriseなど、それぞれの特徴を紹介していった。pipelinesは接続することができる」とのこと。DevOpsがどんな言語でも、どんなプラットフォームへも対応可能と紹介。「開発製品なので開発したものはどこにだって、皆様が作ったものに展開できないといけない。Imageをビルドするパイプラインを作るなど、どこに配るもOKです」と廣瀬氏。pipelinesとビルドエージェントを使う事でMacでもビルドできるとのこと。DevOpsのコンセプトのようだ。pipelinesからリモートコントロールできる」という。そこで自動テスト、UIテストを通した後に、最後はストアまで全部ディストリビュートして、テストユーザーの募集できる」とのことだ。Centerについて、いくつかのツールがあり通常のiOS、Androidのアプリであればそれらは全て使えるそうだ。「特にオススメしたいのが、HockeyApp」と廣瀬氏。これはクラッシュした際にクラッシュレポーティングしてくれるもの。Cloudや、ビルドが完了しAPKができたら各アプリストアに配信するように登録できるCoodePushなどを紹介。pipelinesに流せば自動でマーケットプレイスまでいくという工程ができるという。まとめとして廣瀬氏は、「アプリをクラウドでビルドして、自動テストを行い、テストユーザーにメールで配布、各ストアに配布するという事をやってくれます。1つ、何度か出てきているPlayFabは、ユーザーの動向であったりセッションだったり、ゲームそのものの分析、ロギングができます。ため込んだデータをそのままAzureと連携させて、1年間のユーザーの動向分析も可能。リアルタイムのアナリティクスで、いままで日次、月次で解析していたものをその場の解析し、その場の状況を見ながらその場で修正していける」とコメントした。Buildのデモンストレーションを披露した。▲廣瀬氏は開発環境について、手元のマシンではなくクラウド上に置いている。Labというサービス。チーム内で開発者それぞれに4コア、8コアまで、GPUは10個までという割り当てを行い、開発環境のイメージを作って配ることができる。▲今回は、手元の環境にコードリポジトリがあり、そのリポジトリに廣瀬氏がプログラムをプッシュするとビルドが始まる、という流れで行われた。Engineのプロジェクトを複数台同時に分散ビルドし、ビルドそのものの時間を早める。ビルドが終わったら出来上がっているのでテスト流したりデプロイメントしたり。Engineのプロジェクトの中にPlayFabを入れておくことによってリアルタイムにモニタリングができる」と紹介。「プロダクトをリリースした後も状況を掴みながら調整したり、逆に問題点を把握したりという形になるので、バックログがやってくる。boardsで管理、調整して修正したものをコミットすると、またビルドというサイクルになってくる」とした。▲なお同社はPlayFabに関する話をUniteで披露した。最後に廣瀬氏は目指すべきゲーム開発の未来について、「クラウドというと、サーバーとしての使い方が圧倒的でしたが、今からのゲーム開発は、クラウドのサービスを積極的に活用して、レンダリング時間を短くしたり開発の手間を削減したり、共同で開発できるようにできたり、リアルタイムで分析するようにできるなど、個別に似たようなサービスは様々なクラウドで段々提供されてきていますが、その中でAzureの良いところは、これらを一気通貫、かつセキュアにしっかりと提供できるところかなと思っています。今回お見せしたようにビルドのパイプラインからテストなど、そういった今まで細々やっていた手作業の手間にとらわれずに、どんどん自動化して、クリエイトすること、ゲームを作ることが目的なので、ゲームを作ることに集中できる環境を、クラウドを活用して進めていただきたいです。将来的にゲーム企業さんとご一緒できる関係が築けたらと思っています」とメッセージを送った。Azureブースも出展されていた。Studio、GitHub、PlayFabなどの自社製品を始めとして、IncrediBuild、モノビットEngineなどAzureでの開発に相性の良いパートナーの製品、サービスなども紹介された。2019に参加した背景についてコメントをいただいた。7月からゲーム事業を専門で行う組織が新設され、今、会社が一丸となってゲームビジネスに取り組ませてもらっています。毎年CEDECには参加させていただいておりますが、今年は非常に手応えを感じてきております。Azureを中心としたマイクロソフトの技術・サービスで、ゲーム業界を盛り上げていきたいと思っています。毎日つぶやき!スマートフォンゲーム最前線!はてブ毎日配信!スマートフォンゲーム最前線!RSSRSSを登録する毎日更新中。最高のコンテンツを作るチームを最高の状態で成功へ導こう。株式会社Cygames3DCGアーティスト歴史に残るコンテンツを。毎日つぶやき!スマートフォンゲーム最前線!はてなブックマーク毎日配信!スマートフォンゲーム最前線!RSSRSSを登録する毎日更新中。Info」の内容は、すべて無断転載を禁止します。商用利用を除き、リンクについてはその限りではありません。サイト上に掲載されているゲームやサービスの著作権やその他知的財産権はそれぞれ運営・配信しているゲーム会社・運営会社に帰属します。