Search Unity

Unite Berlin で、Unity は Google Cloud との戦略的な提携を発表しました。これに合わせて、Unity は開発者の皆さんがコネクティッドゲームを開発、運営し、スケールさせる上で助けとなる機能スイートの開発に取り掛かっています。この記事では、Unity におけるコネクティッドゲームの定義と、これまでに Google Cloud との提携について行ってきた開発についてシェアし、これからの計画について公開できる範囲のことをお伝えしたいと思います。

コネクティッドゲームとは何か?

コネクティッドゲームという用語は、プレイヤーを他のプレイヤーとつなぐと同時に、プレイヤーと開発者をつなぐゲームを指します。コネクティッドゲームは従来のマルチプレイヤーゲーム(プレイヤー同士で競うゲームプレイ)と、デイリーのクエストや新しいステージなどの動的なコンテンツの更新が行われることを特徴とします。他にコネクティッドゲームを定義する特徴として、プレイヤーにまたプレイしようと思わせる、新規性と魅力のある体験を提供することによって成功を収めているという要素があります。

コネクティッドゲームは世の中で最も影響力があり、成功しているタイプのゲーム

コネクティッドゲームにはたくさんのタイプのものがありますが、Unity としては大きく 4 つのセグメントに分割することができると考えています。

  1. Dynamic Single Player(動的な 1 人用ゲーム):1 人で遊ぶことにフォーカスしたゲームで、ソーシャル、リーダーボード、コンテンツ更新などの「ライブな」機能を備えている。
  2. Turned Based Multiplayer(ターン制のマルチプレイヤー):2 人以上で遊ぶ、非同期的でターン制のゲームプレイ。
  3. Real Time Multiplayer(リアルタイムなマルチプレイヤー):リアルタイム性がある、セッションベースのマルチプレイヤー
  4. Persistent Game Spaces(永続的なゲーム空間):永久に持続するリアルタイム性のあるゲームセッション。

しかし、これらのカテゴリ分けは厳密なものでも唯一の定義というわけでもありません。コネクティッドゲームはこれらのカテゴリのうち複数、あるいはすべてのカテゴリの要素を併せ持つことがあり、カテゴリ間で明確に線引きされない部分も多くあります。加えて、コネクティッドゲームの全カテゴリの中で、特に人気のあるゲームのタイプや重要な機能が存在します。そのため、この構造は Unity として開発者の皆さんに向けてどのような機能を開発する必要があるかを検討する上で役立ちます。

Google Cloud との連携

コネクティッドゲームを開発するには、ネットワーク関連のコードだけでなく、サーバーやロードバランサーといったインフラも必要になります。また、そうしたインフラを運用するための専門知識も要求されます。さらに、インフラを整備しても年中無休でサポートや運用を行う必要があります。必要となるものはあまりに多く、すべてのクリエイターが十分なリソースを持っているわけではありません。

今回、Unity が Google Cloud と提携したことで、グローバルで利用可能で信頼性が高く、ゲームに合わせてカスタマイズ可能なエンタープライズレベルのインフラをご提供できるようになりました。このインフラの持つ能力をフル活用するためにクラウドの専門家になる必要はありません。Unity はゲームクリエイターのことを一番に考えて機能の開発とインテグレーションを行い、開発しているゲームのユーザー体験を向上させます。Unite Berlin で、この記事の著者は Unity の子会社である Multiplay が開発した技術を使い、100 万人を超えるプレイヤーをサポートするために、60,000 台のゲームサーバーにものの数分でスケールする手法のデモを行いました。

Unity は、Unity と Google Cloud の緊密なインテグレーションを構築することで、コネクティッドゲームの民主化を進めることを目標としています。ロバストでグローバルに広がるネットワークを使ってプレイヤーにレイテンシの小さい接続を提供することから、世界全体でデータベースを同期させるところまで様々な場面において、Unity を使う開発者は、Unity の中で完結する形で、クラウドの専門知識を学ぶ必要なく、Google Cloud の恩恵を受けられるようになります。

Unity と Google Cloud のエンジニアの取り組みはすでに本格化

Unity はコネクティッドゲームの開発、運営、スケーリングを支える機能スイートの開発に取り組んでいます。ゲームサーバーのホスティングだけでなく、Unity と Google Cloud はオープンソースのマッチメーカー開発プロジェクトを共同して立ち上げました。マッチメイキングは多くのマルチプレイヤーゲームにとって重要な機能であり、また新しい技術を生み出す余地が多くある分野でもあります。そのため、Unity と Google Cloud は連携して開発者のゲームデザインの仕事に耐えうるだけのスケーラビリティと柔軟性を備えた製品の開発に取り組んでいます。このオープンソースプロジェクトは今年の夏の終わりに公開される予定です。また、私たちは新しい ECS ネットワーキングレイヤーの開発も進めており、そこで実装される新しいパラダイムにより、手を掛けずにマルチプレイヤーを実現できる、高速で柔軟なネットワーキングコードの開発ができるようになります。

皆さんのコネクティッドゲーム開発を支援し、Google Cloud のパワーを活用する仕組みの開発状況について、続報をお待ちください。

 

コネクティッドゲームについてさらに読む

 

皆さんのコネクティッドゲームについてぜひ教えてください。皆さんのフィードバックが私たちの理解を助け、ニーズの優先付けにおいても役立つ情報となります。フォーラムに投稿していただければ、直接私たちにご意見を伝えていただくことができます。

34 コメント

コメントの配信登録

コメント受付を終了しました。

  1. What I would love to see — Something that will allow us to make AAA grade games with a variety of multiplayer features. I say it this way, because not all of us are wanting to make facebook casual games. Some of us, like Myself, **Really** want to make a higher scale of game. Like a real Server-Authoritive MMO or MOBA or TB/RT-SG. (And, Atavism is not viable here, as if their demo server is any indication, it’s not fit for the job. 4 frames a second on a high-end gaming pc, because I went out of “town”… yeah, no.)

    From what I have seen with the current room-based matchmaking games, they’re “great!” if all you want to do is recreate Quake from 20 yrs ago. If you want something more… complex, has built in team matchmaking – like the ability to be a “party” and join a match as a party, and stay “together” as a party, you have to completely write the logic yourself, AND NOT USE UNET… meaning that the current UNet fails miserably — especially pay-to-host matchmaking. If you want a server that you can run (locally or on a service) so that you can have your program work, the matchmaking services that come with UNet completely fails. It’s like it was created for lan parties, and oh, yeah, the internet is just an interesting way to make your lan party bigger.

    And, it appears that the ecs-model is (also) just going to be an over glorified lan party. That said, (and strongly thinking that I am really not interested in paying for only the ability to write quake or doom — hence not using my crappy CCU’s that equate out to 2 simultaneous games) I look forward to the change. I would stress, however, that giving us optimized networking APIs that allow us to intuitively create servers, be it locally hosted/cloud/co-lo’d, would be a great thing.

    What would suck, however, is being charged for yet another crappy CCU-based system asking us to accept only BaaS as the premium standard (meaning, you’re limited to crappy facebook games, casual android games — hint, the market is oversaturated as it is with both of these — or, Quake from 20 years ago, all the while paying a monthly fee for this schlock).

    Having produced my share of Casual games, and games on Facebook, I’ve seen quite a LOT of services offered that lack any real value. At least with UNet, you can do a mixture of Socket IO and HLAPI and make a server (there’s a really good asset on the Asset Store, called Master Server Kit, to do this). I honestly, would love to see something like Master Server Kit integrated into the Networking offered by Unity. And, I’d love to see a headless windows build so that I don’t have to have a linux server if I don’t want one. (I realize that linux hosting is cheaper, but not all of us are fans of the os. Don’t laugh, I am sure they are out there.)

    Just off-the-head thoughts at reading how the past 6 months of my life have just suddenly been “deprecated” with UNet being on it’s way out, and how it would have been better spent creating a custom tcp/ip based server and just serializing the heck out of the data sent.

  2. It all sounds very cloud (and game) based, will this support completely enclosed system, e.g. on a private network? We build VR applications (not games) that may not be connected to the internet. Also, will there be any direct support for VR multi-user?

  3. Currently we are prototyping a real-time FPS. Can you tell when the realtime module would be ready for launch so that we can use it for our project?

  4. @Themurddock I need it so fast, even before you :-p

  5. When its gonna be out?? I need this right now !!! :(

  6. What languages will be supported? I am currently in the earlystages of building my backend in Azure with node.Js and socket.Io but would definatly be interested in changing to this, if it is going to save me time and effort but still achieve the results that i am after.

  7. “We are building the new networking stack from the bottom-up, starting with a very lightweight and fast transport that is ECS-compatible.”

    Very much looking forward to this. Been hoping this would happen for years! Like another said, currently using Firebase at Google, relying on Realtime for “networking” which works okay but isn’t really made for this. They seem to be trying to move everyone away from Realtime which is a bit worrisome. Anyway, my ask is: Do build your cloud-centric networking stack that can be used for large numbers of players.

  8. It’s cool, but now we have Firebase at Google which gives an ability to have:
    – Realtime database (very fast database, can be used to share a player data between other ones)
    – Cloud functions (you can use it to update the cloud data through the functions, to prevent some cheating)
    – Cloud storage (you can store the additional game content which can be downloaded a bit later during the game)

    And a lot of more. Google has a Unity plugin for that, so you don’t need to write your own C++ plugin. And the pricing is very well. For 25$ per month you can get 100k simultaneous connections to a realtime database (which is very cheaply).

    I’m happy to see your movings here but for now I think Firebase is the best solution to create connections games.

    Anyway looking forward for your progress!

  9. Andre David

    6月 24, 2018 4:21 pm

    Looks awesome, but how much will it cost.? Will there be a free tier to be used while developing.? I want to own my own server only so I can prototype my game not paying a monthly fee, will there be such an option.?

    1. Brandi House

      6月 25, 2018 12:05 pm

      As we build and fully understand the costs to run these servers and services, we are in parallel developing a pricing model and aren’t yet ready to give additional details. Feedback is well-timed, so if you’ve seen other pricing models you’ve appreciated for servers and services, please share them with us.

      1. Andre David

        7月 16, 2018 1:56 pm

        I have started looking into gamesparks and they have a very nice program for small teams and indies with a free program until you reach a very high account of active users. Something like that would b great.

  10. It looks very great to see that such scalable solutions are coming up. This brings me a question, for which I didn’t found answer in years. The question is: will it be possible to set APIs that players could make direct payments to Google Cloud for bandwidth and cloud services they use while playing multiplayer mode?

    1. Brandi House

      6月 25, 2018 12:11 pm

      This is an interesting question and something that Multiplay already enables for some of their enterprise customers, so it may be feasible depending on what you want to do. We’re still building out the long-term roadmap for Unity-integrations with Multiplay, so it’s helpful to know that this is a desirable use-case.

  11. Wojciech Milowski

    6月 22, 2018 10:33 pm

    So is this a separate networking library? UNET hlapi won’t work with this?

    1. Brandi House

      6月 25, 2018 12:17 pm

      It is! We are building the new networking stack from the bottom-up, starting with a very lightweight and fast transport that is ECS-compatible. We haven’t announced specific plans for the HLAPI and the rest of the “Unet” stack just yet; we know many games depend on this technology today, so we take that responsibility seriously and will continue to support critical issues. Stay tuned for more details soon.

  12. Would Unity + Google Cloud have answer for native Cloud based User Data/Game Data solution? I feel like Backend cloud solution for user/game data is far more pressing matter than multiplayer. Not 100% games need multiplayer mode, but practically all legitimate games could use simple secure handling of user / game data. Beside, a good user/. game data solution is more or less required for good multiplay games anyway.

    1. Brandi House

      6月 25, 2018 12:26 pm

      This is definitely something we are thinking about; there’s a reason these new initiatives are called “Connected games” rather than “Multiplayer” – we’ve seen that all games benefit from greater connectedness, including “dynamic single player” games like Angry Birds 2 or Pokemon Go. Across the spectrum, we want to solve some of the hardest problems for developers today, and the feedback we’ve heard so far is that making successful real-time games is still very hard and highly desired, so we are focused here first then will expand to additional problem spaces in the coming months. It’s true that persistent/shared game data and cloud-based logic are valuable also in the multiplayer space, and they may be something we focus on sooner rather than later; your feedback is helpful as we’re building out the roadmap.

      1. Thank you so much, Brandi. I really do appreciate Unity making the best efforts for many solutions to hard problems developers face. I certainly benefitted a lot over the years on how Unity evolved. One last thorn in my eyes is how to store user data / game data so we can update/modify/serve the contents and user experiences. We’ve had a big vacuum where storing locally (let that be the inadequate Playerpref, or some asset solutions) just isn’t secure or flexible enough, while BAAS like Gamesparks and Playfab are just too cumbersome and too… not Unity. I really hope to see Unity’s solution soon. Thank you

  13. Is this service going to be a backend-as-a-service where we can collect and manage players/game data or make some custom server-side logic (PlayFab, GameSpark like)?

    1. Brandi House

      6月 25, 2018 12:29 pm

      I just responded to Charles who had a similar question/feedback. The initial suite of technology we showed in the Unite Berlin keynote is focused on the core technology that powers scalable real-time multiplayer games: dedicated servers, fast networking, and matchmaking. Additional services are all being actively discussed internally – are there ones in particular that would be most valuable to you?

  14. I hope you will let us choose to use Azure too, to not be locked with Google Cloud only.

    1. As I mentioned to Riv below – Unity will not force you to use GCP, but all our tools and services will be built with them.

    2. Arturo Nereu

      6月 22, 2018 12:13 pm

      Absolutely!

  15. Nikolaus Pöttler

    6月 21, 2018 4:02 pm

    Will the FPS Network Demo have a server that is not actually a headless version of unity?
    But a real authoritative client server model?

    I still remember something about a Unity Server DLL… but that was a long time ago and never released.

    1. We are actively working on optimizing our headless Linux runtime – reducing CPU and memory consumption and increasing uptime. We know that a server runtime is critical, and we want you to be able to develop your server code in the same way you write your client code.

  16. Raees Rahim

    6月 21, 2018 3:34 pm

    This is great news. I’m super excited for this!

  17. This is great news! I currently use Azure but would be very interested in seeing what you can provide.

    1. Unity’s alliance with Google means that we will be building tools that enable you to build connected games more quickly in our shared ecosystem. We will not block developers from using a different cloud provider.

  18. What will this mean Unity’s current multiplayer cloud offerings?

      1. We know many games currently depend on “Unet” technology. We will announce more concrete details soon, but rest assured it will remain supported.

  19. David Watts

    6月 21, 2018 2:26 pm

    So, this is pretty much an all in once solution to a multiplayer game?? So in theory, I can have 64 player FPS Game matches?

    1. That’s our goal! We are working hard to get there.