【ネットワーク・複数OS】LINE Game Client Platformのグローバルにヒットする開発戦略 #linedevday

2
紫竹佑騎 Yuki SHICHIKU🧖‍♂️暗号屋LLC @79yuuki

色々あってPhase3。C++レイヤーが出来て、OSとのやり取りの差異を吸収。 #linedevday pic.twitter.com/7PChMEJpK4

2015-04-28 14:37:46
拡大
拡大
ユラックス熱海@海草 @kaisou4537

最終的にはプラットフォームを提供したい #linedevday

2015-04-28 14:38:28
ユラックス熱海@海草 @kaisou4537

LINEはgit submoduleを使ってチームで管理しているらしい

2015-04-28 14:39:13
Takuya Fujimura @tlync

カテゴリーは違えどコアの共通ロジックは C++ で書くというのは Dropbox と同じアプローチだな #linedevday

2015-04-28 14:41:48
ユラックス熱海@海草 @kaisou4537

SWIGというツールでC++のコードを自動生成し、Bindingモジュールをビルドしてゲーム側でアプリを実行している #linedevday

2015-04-28 14:42:38
紫竹佑騎 Yuki SHICHIKU🧖‍♂️暗号屋LLC @79yuuki

各プラットフォームのBindingについて。SWIGっていうツールを使ってうにてぃはBindingしてる。大変そう #linedevday pic.twitter.com/23fch1vBtc

2015-04-28 14:42:43
拡大
拡大
拡大
紫竹佑騎 Yuki SHICHIKU🧖‍♂️暗号屋LLC @79yuuki

通信環境を気にしてユーザーに対して通信数を減らすように気を使ってる #linedevday pic.twitter.com/4xJyltMoXd

2015-04-28 14:45:45
拡大
ユラックス熱海@海草 @kaisou4537

グローバルなネットワーク環境上での対応について #linedevday

2015-04-28 14:46:05
Takuya Fujimura @tlync

海外ネットワークの RTT による影響を緩和する為、複数の API をリクエストをまとめて投げられる Merge API を導入した #linedevday

2015-04-28 14:46:12
ユラックス熱海@海草 @kaisou4537

リクエスト数を減らし、Cacheを有効活用し、Global POP(海外のデータセンター)を活用し、同時のNetwork Libraryを開発することでグローバルなネットワーク環境での動作を確立させている #linedevday

2015-04-28 14:50:49
紫竹佑騎 Yuki SHICHIKU🧖‍♂️暗号屋LLC @79yuuki

3Gモジュール叩いておくと温まって3G通信環境が悪くても通信しやすくなるらしいw #linedevday pic.twitter.com/RYQ2kXwaJj

2015-04-28 14:51:58
拡大
紫竹佑騎 Yuki SHICHIKU🧖‍♂️暗号屋LLC @79yuuki

通信が遅い国も気にして、小さな機能でも快適なプレイが出来るように改善。素晴らしい #linedevday pic.twitter.com/2InnxvAcYv

2015-04-28 14:53:33
拡大
拡大
ユラックス熱海@海草 @kaisou4537

インドネシアのみ決済できなかったお話。8byteのデータを超えた金額の場合、決済できなかった #linedevday

2015-04-28 14:56:18
進藤こだま @kodam

決済料金のデータ領域を8バイトにしていたが、インドネシアの通貨に直すと8バイトに超えてしまったらしい。文字列で管理していたのかな。  #linedevday

2015-04-28 14:57:09
進藤こだま @kodam

LINEのゲーム開発凄い面白い。共通化させるためにコアライブラリをSWIGで自動生成して各プラットフォームで提供していたり、試行錯誤が伺える。やっぱりグローバルに開発するにはゲームエンジンとか共通プラットフォームを使うほうが効率がいいんだろうな。 #linedevday

2015-04-28 15:01:10