「勉強会に行ってみた!」 第30回「OnlineGame Dev Night vol.1 ?リアルタイム通信を 利用したスマートフォンゲームアプリを支える技術の最新事情?」後編
event

「勉強会に行ってみた!」
第30回「OnlineGame Dev Night vol.1 ?リアルタイム通信を
利用したスマートフォンゲームアプリを支える技術の最新事情?」後編

2016.07.27

前編では、「OnlineGame Dev Night vol.1」で開催された「スマートフォンゲームアプリにおける、ミドルウェア、プラットフォームの導入事例」と「高品質なアプリをつくるには ?データと事例を通じて学ぶ品質改善手法?」の2つの発表をご紹介しました。

後編となる今回は、負荷試験や攻撃対策、リアルタイム通信エンジンの最新事情に関する発表をご紹介します。

(Tomicci)

■試験傾向と対策 ~負荷試験から攻撃対策まで~

クラウドサービス「IDCFクラウド」で有名な株式会社IDCフロンティアのエバンジェリスト・藤城拓哉氏。ゲームアプリを運営する上で大切な負荷試験と、外部からの攻撃対策の重要性に関する発表でした。

まずは、サーバーインフラが高負荷となるケースの説明でした。ゲーム内でイベントが発生した場合や、バズった場合、負荷試験を行っていないか、行ったとしても対策できていないと問題が発生するとのことでした。

■DDos攻撃への対策

ゲーム業界はDDos攻撃の対象として最も狙われている業界で、この攻撃が高負荷の要因になるとのことでした。現在では、10Gbps以上の攻撃も当たり前のように行われており、早急な対策が迫られているとのことです。

DDos攻撃されないためには、サービス内容に問題がないか、ユーザー対応によって恨みを買っていないか、また、不要なポートは開いたままになっていないかなど、サービス運営面とセキュリティの観点からの両方の対策が必要となるそうです。

ゲームに使用されるサーバーやロードバランサーへの攻撃により一部のユーザーに対して影響を与えるだけではなく、より多くのユーザーに影響を与えるべく、クラウド/DCバックボーンへの攻撃も発生する可能性があることから、サーバー運用会社に攻撃を通知してもらえるか、またその事業者側で攻撃の対応ができるのかという点も重要となりそうです。

■IDCFクラウドの特徴

・ DDos対策標準対応
・ DDos攻撃された場合のレポーティング/コンサルティング、チューニング
・ ネットワークサービスで海外の特定のエリアからのアクセスを制御

といったサービスを展開しています。
IDCフロンティアは、国内でクラウド事業を先駆けて行ってきた事業者ですし、攻撃を想定したクラウド事業者を選ぶのなら、候補として挙がってくる企業ですね。

■スマートフォン向けリアルタイム通信エンジンの最新事情

最後に発表したのは、株式会社モノビットの代表取締役社長・本城嘉太郎氏と、ミドルウェア事業部部長・安田京人氏でした。

■リアルタイム通信エンジンのトレンド

かつてのリアルタイム通信はC++での実装が主流だったのですが、現在はモバイル案件ではソーシャル要素を非同期で実装し、マルチプレイ部分はリアルタイム通信エンジンを用いて、クライアント側のロジックだけで実装するケースが主流とのことです。

商用の通信エンジンを使わない場合、C++で自作するほかに、2009年にリリースされたNode.jsで本格的なリアルタイム通信を実装する方法が考えられます。Node.jsであれば、JavaScriptでのプログラミングに慣れているプログラマーには取り組みやすく、クライアント側の実装も容易です。ただし、社内に専門家がいない場合は学習コストがかかってしまいます。

■リアルタイム通信処理を自作するデメリット

サーバーの冗長化構成をどうするか、トラブった場合の復旧方法をどうするかなど、すべて自分で設計する必要があり、またスキルの高いエンジニアが多大な工数をかけてメンテナンスをする必要が出てくるとのことです。例えば、担当エンジニアが何か事故などにあったり、退職してしまった場合には、メンテナンスが不可能な事態に陥ってしまいます。 ここまでの発表を聞き、リアルタイム通信処理を自作するのはリスクが大きく、非常にコストがかかりそう……という印象を持ちました。モノビット社のお二人も、外部の通信エンジンを活用することを勧めていて、まさにその通りであると感じました。

■Monobit Unity Networking(MNU)

安田氏が、モノビット社の製品である純国産(日本製)の通信エンジン「Monobit Unity Networking(MUN)」の紹介を行いました。MNUは、サーバーにコードを書かないタイプのリアルタイム通信エンジンで、マルチプレイに特化しています。特徴としては下記が挙げられます。

■MNUの特徴

・ Linuxサーバーで動作する(オンプレミス環境にも提供可能)
・ クライアント間の情報共有機能を搭載し、マルチキャスト、ユニキャストが簡単に実装可能
・ ノンプログラミングで簡単にマルチプレイを実現
・ 24時間365日の有人監視サービス
・ 1ヵ月単位で契約・解約が可能であるため、タイトルが早期終了する場合も無駄なコストがかからない

■まとめ

最後のまとめは、通信エンジンを自作するのは大変だけれど技術的には楽しい、といったお話でした。ただし、自作は非常にハードルが高く、余計なコストもかかってくるので、海外製の商用エンジンであるPhoton、もしくはMUNをしっかり比較して導入を検討すると良いとの締めくくりでした。

■OnlineGame Dev Night vol.1に参加して考えたこと

私は、近年のゲームアプリで、マルチプレイのリアルタイム通信処理がどのように実装されているのか全く知識がない状況だったのですが、OnlineGame Dev Night vol.1 に参加することで、リアルタイム通信エンジンのトレンドを肌で感じることができました。
思えば数年前にガラケーで遊べるソーシャルゲームを開発していた時代は、各社ともノウハウが乏しい状態からゲームのリリースを重ねることで、ゲームに直接関わるロジックの開発からインフラまでさまざまな技術を培っていました。ですが、スマートフォンゲームの登場でより開発が高度になり、全ての開発を自社で行うにはあまりにも大変な状況なってきています。商用の通信エンジンやインフラを有効に活用することで、クライアント側のロジックの実装に注力することができそうです。
最近はもっぱらWebサービスの開発に明け暮れていたのですが、多人数が同時に参加するアプリも是非開発してみたい……そんな思いを抱いて会場を後にしました。

原稿:Tomicci
株式会社ワールドスケープでFrekulの開発を担当。その後、独立し株式会社ユニラボが手がけるimitsu(アイミツ)など、複数のWebサービスの立ち上げやリニューアルにエンジニアとして携わる。ブログでの情報発信や、「音」に関するWebサービスを立ち上げ活動中。

http://thesaibase.com/
http://otofukei.com/

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW