Unity C# × gRPC × サーバーサイドKotlinによる次世代のサーバー/クライアント通信 〜ハイパフォーマンスな通信基盤の開発とMagicOnionによるリアルタイム通信の実現〜
昨今のゲーム開発では、クライアント/サーバー間のデータ通信にPHP、Ruby、Javaといった言語で実装したREST APIを使用しているプロダクトがほとんどだと思います。
その中で株式会社アプリボットでは新たなる通信の技術として、Google製のRPCフレームワークであるgRPC、サーバーサイドの言語としてはKotlinを導入しました。また、株式会社Cysharpでオープンソースとして公開している、C#とgRPCを使用したMagicOnionという通信フレームワークを導入し、リアルタイム通信を実現しています。
Unityでの事例が少ないgRPCや、サーバーサイドの言語としては国内での実績が少ないKotlinをなぜ採用したのか、その理由と実際に導入した上でのノウハウ、そしてMagicOnionを使用したリアルタイム通信の開発について、事例とともに紹介します。
講演者プロフィール
竹端 尚人
プログラマとしてSIerを中心にいくつかの事業に携わった後、株式会社サイバーエージェントでモバイルゲームの開発に従事。2014年から子会社である株式会社アプリボットに所属し、「グリモア~私立グリモワール魔法学園~」のエンジニアリーダーとして開発、運用を担当。同時期にいくつかの運用プロダクトのマネージャーも務めた。
現在はバックエンドエンジニアとして、gRPCとサーバーサイドKotlinを使い新規プロダクトを鋭意開発中。
『CEDEC 2018』登壇、雑誌『Software Design』2019年2月号〜4月号にて短期連載執筆。
《講演者からのメッセージ》
gRPCは新たな通信の技術として、UXに大きな影響をもたらしてくれるものだと考えています。また、Kotlinは今後のサーバーサイドの言語として有力な選択肢になりうる言語です。
本セッションでは、この2つにUnity C#を交えた開発事例とともにその有用性をお伝えし、より多くの方にgRPC、サーバーサイドKotlinを使ってみたいと感じていただければと思います。
またこのセッションをきっかけに、今後ゲーム開発でこれらの技術の使用事例が増えていくことを願っています!
河合 宜文
株式会社gloops入社後、2012年に株式会社グラニの創業期よりCTOとしてモバイルゲーム開発をリード。「C#大統一理論」を掲げ、サーバーサイドとクライアントサイドを共にC#で実装するフレームワークの開発とアーキテクチャを構築。同時にGitHub上に多数のOSSを公開、うちUniRxやMessagePack for C#などは世界的にも多くの支持を集める。2011年よりMicrosoft MVP for Developer Technologies(C#)。2018年 Cysharp設立、代表取締役に就任。
《講演者からのメッセージ》
Cysharpではオープンソースソフトウェアとして「MagicOnion」を公開し、これを次世代のスタンダードとするべく活動しています。高いポテンシャルと幅広いユースケースが考えられますが、今回はそのうちリアルタイム通信の側面を、KotlinによるAPI基盤と共存しながら実現するというパターンを、プロダクトにおける実例としてご紹介できればと思っています。