Categories: 勉強会

【参加レポ】グローバルなネットワーク環境と複数OSに対応するためのLINE Game Client Platform開発戦略 【LINE DEVELOPER DAY_2015】#linedevday

4/28に開催されたLINEのエンジニアチームの様々な経験を、未解決の課題も含めて共有する技術カンファレンス、

LINE DEVELOPER DAY_2015 Tokyo

に参加してきたのでその時のまとめ。

LINE GAME Client Platformに関するレポートです。

他のセッションは以下からどうぞ

4/28に開催されたLINEのエンジニアチームの様々な経験を、未解決の課題も含めて共有する技術カンファレンス、LINE DEVELOPER DAY_2015 Tokyoに参加してきたのでその時のまとめ。基調講演回です。 他のセッションは以下からどうぞLINE DEVELOPER_DAY 2015の参加レポート@基調講演 #linedevday【参加レポ #linedevday 】LINEのiOS対応、新しい技術チャレンジ 〜LINEの Apple Watch アプリ開発とSwift導入による開発チームの変化〜@LINE DEVELOPER_DAY 2015【参加レポ】グローバルなネットワーク環境と複数OSに対応するためのLINE Ga...
LINE DEVELOPER_DAY 2015の参加レポート@基調講演 #linedevday - もぐめぽろぐ
4/28に開催されたLINEのエンジニアチームの様々な経験を、未解決の課題も含めて共有する技術カンファレンス、LINE DEVELOPER DAY_2015 Tokyoに参加してきたのでその時のまとめ。 AppleWatch対応とswift対応回です。 他のセッションは以下からどうぞLINE DEVELOPER_DAY 2015の参加レポート@基調講演 #linedevday【参加レポ #linedevday 】LINEのiOS対応、新しい技術チャレンジ 〜LINEの Apple Watch アプリ開発とSwift導入による開発チームの変化〜@LINE DEVELOPER_DAY 2015【参加レポ】グローバルなネットワーク環境と複数OS...
【参加レポ #linedevday 】LINEのiOS対応、新しい技術チャレンジ 〜LINEの Apple W... - もぐめぽろぐ
4/28に開催されたLINEのエンジニアチームの様々な経験を、未解決の課題も含めて共有する技術カンファレンス、LINE DEVELOPER DAY_2015 Tokyoに参加してきたのでその時のまとめ。 LINE GAME Client Platformに関するレポートです。 他のセッションは以下からどうぞLINE DEVELOPER_DAY 2015の参加レポート@基調講演 #linedevday【参加レポ #linedevday 】LINEのiOS対応、新しい技術チャレンジ 〜LINEの Apple Watch アプリ開発とSwift導入による開発チームの変化〜@LINE DEVELOPER_DAY 2015【参加レポ】グローバルなネットワー...
【参加レポ】グローバルなネットワーク環境と複数OSに対応するためのLINE Game Cli... - もぐめぽろぐ
4/28に開催されたLINEのエンジニアチームの様々な経験を、未解決の課題も含めて共有する技術カンファレンス、LINE DEVELOPER DAY_2015 Tokyoに参加してきたのでその時のまとめ。 スタンプショップの裏側についてのお話です。 他のセッションは以下からどうぞLINE DEVELOPER_DAY 2015の参加レポート@基調講演 #linedevday【参加レポ #linedevday 】LINEのiOS対応、新しい技術チャレンジ 〜LINEの Apple Watch アプリ開発とSwift導入による開発チームの変化〜@LINE DEVELOPER_DAY 2015【参加レポ】グローバルなネットワーク環...
【参加レポ】巨大化するスタンプ、きせかえ販売システム その危機と復活の記録 【L... - もぐめぽろぐ
4/28に開催されたLINEのエンジニアチームの様々な経験を、未解決の課題も含めて共有する技術カンファレンス、LINE DEVELOPER DAY_2015 Tokyoに参加してきたのでその時のまとめ。 LINE Creators Marketの開発話です。 他のセッションは以下からどうぞLINE DEVELOPER_DAY 2015の参加レポート@基調講演 #linedevday【参加レポ #linedevday 】LINEのiOS対応、新しい技術チャレンジ 〜LINEの Apple Watch アプリ開発とSwift導入による開発チームの変化〜@LINE DEVELOPER_DAY 2015【参加レポ】グローバルなネットワーク環境と複数O...
【参加レポ】Webサービスの国際化にあたりLINE Creators Market開発がどのように行... - もぐめぽろぐ
4/28に開催されたLINEのエンジニアチームの様々な経験を、未解決の課題も含めて共有する技術カンファレンス、LINE DEVELOPER DAY_2015 Tokyoに参加してきたのでその時のまとめ。 メッセージングパイプラインについてのお話です。ムズイッス... 他のセッションは以下からどうぞLINE DEVELOPER_DAY 2015の参加レポート@基調講演 #linedevday【参加レポ #linedevday 】LINEのiOS対応、新しい技術チャレンジ 〜LINEの Apple Watch アプリ開発とSwift導入による開発チームの変化〜@LINE DEVELOPER_DAY 2015【参加レポ】グローバル...
【参加レポ】Akka ActorとAMQPでLINEのメッセージングパイプラインをリプレースし... - もぐめぽろぐ
4/28に開催されたLINEのエンジニアチームの様々な経験を、未解決の課題も含めて共有する技術カンファレンス、LINE DEVELOPER DAY_2015 Tokyoに参加してきたのでその時のまとめ。 最後のセッションで出てきた質問に登壇者が答えてくれるセッションです。ちなみにこちらのセッションについてはWebで公開されないらしいです。 他のセッションは以下からどうぞLINE DEVELOPER_DAY 2015の参加レポート@基調講演 #linedevday【参加レポ #linedevday 】LINEのiOS対応、新しい技術チャレンジ 〜LINEの Apple Watch アプリ開発とSwift...
【参加レポ】各セッションで出た質問に答える座談会【LINE DEVELOPER DAY_2015】 #... - もぐめぽろぐ

Heejun Kim様

LINE GAME Platform?

  • 日本だけではなく各国の人たちが開発したりしてます
  • ミッションはグローバルでヒットするタイトルが少しでも多くなることを目指してる
  • 開発者たちが組み込みやすいようにAuth, Noticeなどの機能を提供している
    • 様々な環境でも安定・安全なサービスを提供できるようにする
  • はじまりは2013年度に、ポップ、ポコパン、ウィンドランナーが提供され始めたのが最初
    • 2014年度にグローバル向けに開発した

様々なゲーム開発環境上での対応

  • 必要な機能だけをコンポーネントにした
    • unityに関してはCallAPIは一つだけになるようにした

Phase1

Phase1の問題点

  • 一貫性を保つのが難しい -> OSごとに開発した
  • バージョン管理が難しい -> 複数のライブラリ提供

Phase2:アプリはAPIをコールしてその結果をみるだけにするようにした

各エンジンc++を使うことが多い

  • obj-c、javaをわからなくてもゲーム開発ができる
  • 複数の言語をサポートするようになった

Phase3 2015の目標

  • NativeとつながるところはC++で書きなおす
  • ネットワークモジュールもプラットフォーム側がコントロールできるように作る

NativeLayerについて

Platform Integration

各ビルドのbinding構成について

各言語でのAPI呼び出し例

グローバルなネットワーク環境

  • リクエスト数をできるだけ減らした
    • 複数のリクエストをまとめるMergeAPIというのを導入した
    • データ量は増えるがリクエスト成功率は増える
  • Client Caching
    • ネットワークが遅い場合はキャッシュ情報をかえして、あとでサーバとデータをシンクする
  • LINE GAME Global POP
    • タイまでがぎりぎりで、もっと世界中にサービスするにはPOPを増やす必要がある

Network Library:LINE GAME Platform向けのNetwork機能を一部公開してGlobalドメインの機能を提供する

グローバルサービスの対応事例

  • 3G WarmUpはLINE Bubbleで使った
    • warmupしないときは通信できるまで6秒かかったことも。

warmupした時としなかったときの比較図

  • ゲームのアイテム購入はまとめてやる
    • 1個購入するたびにタイとかではRTTが500msになるケースがあるので、一度に複数のアイテムが購入できるようにIntergaceを修正することで解決した
  • 海外のあるネットワーク環境で一部LINE GAMEがプレイできない問題
    • 通信パケットが一部切れて通信されていた
    • 通信会社に連絡して、通信会社のほうでパケットをきったりしているせいだったので、Gatewayを修正してもらった
  • IAPのprice問題
    • あるゲームがインドネシアで決済できない問題
    • 現地のメンバにログ出力を依頼した結果。$99.99 => 1,205,196 IDRのせいだった
    • サーバ側で8byte処理ができずエラーになっていた
    • 8byteだけ保持してリクエスト返すようにした

今後の目標

  • Data Synchronize
    • プラットフォーム側のデータだけではなく、ゲーム側のデータもサポートできるようにしたい
  • Networkモジュール強化
    • 複数のプロトコルをサポートしたり、独自プロトコルのサポートをしたりしてゲームプレイをもっと快適に
  • Game Cloud (Server side)

所感

今回のセッションはちょっと理解があまりできなくて難しかったのですが、LINEで使われるSDKも日々開発者に使いやすく、またユーザーにより使ってもらえるよう進化させているのが感じられるセッションでした。

懇親会で後ほど聞いたのですが、LINE Gameはcocos2d-xか、Unityを使っているのが多いらしいのですが、cocos2d-xはやはり製作コストが高いらしいです。

また、cocosstudioやsprite stduioといったものは使わず結構コードでviewの部分を書いてるとかいう話でした。

いいGUIツールがないか模索中みたいです。

mogmet

View Comments