狠狠撸

狠狠撸Share a Scribd company logo
株式会社トランスリミット
工藤 ?琢磨
自己紹介
氏名: ?工藤 ?琢磨 ?(26)
略歴
06年 ?東京ゲームデザイナー学院
08年 ?タイトー
10年 ?コミュニティファクトリー
12年 ?ジークレスト(CAアメリカ)
14年 ?トランスリミット
使用してる技术の绍介
 サーバーサイド       
?Ruby ?2.0.0
?Rails ?4.0.2
?Node.js
?AWSの各種サービス
 クライアント        
?Cocos2D-X ?3.2
?C++11
サーバー構成
ソケットサーバ(Node.js)
ストレージ ?
MySQL
データベース(MySQL)
キャッシュ(Redis)
APサーバ(Ruby ?on ?Rails)
Cocos2D-X ?3.x系
 メリット          
?C++11サポート
?Socket.IOサポート
 デメリット         
?情報が少ない
?正式版まで本家バグが多かった
?今は落ち着いてる
Socket.IO
 メリット          
?最適なオンライン通信技術の自動判定
?あらゆるデバイス間でオンライン通信可能
 デメリット(注意点)    
?cocos内はWebsocketが固定で使用される
?大量のデータは分割送信されるぽい(2KB)
オンライン対戦あるある
と
ログを使った工夫
対戦パターン
?? ランダム対戦
?? 特定の相手と対戦
?? シェアリンクなどからの対戦
ランダム対戦
ソケットサーバー
(Node.js)
ホスト
先に繋いだユーザ
ゲスト
後に繋いだユーザ
APサーバー
(Ruby ?on ?Rails)
問題の取得
結果の送信
など
待機中が2人になるとマッチング
バトルコードを発行して対戦を識別
データの受け渡し
接続切れの監視
あるある1
ホスト
対戦相手が来ない???
相手がいない((((;?Д?))))
???
ログで解決
ソケットサーバー
(Node.js)
ホスト
ゴースト
APサーバー
(Ruby ?on ?Rails)
②ゴーストデータ
の要求
①タイムアウト
で切断
過去の対戦ログ
Redis
対戦した時のログを保持してる
特定の相手と対戦
ソケットサーバー
(Node.js)
ホスト ゲスト
APサーバー
(Ruby ?on ?Rails)
問題の取得
結果の送信
など データの受け渡し
接続の管理
Push通知
Push起動で
そのまま対戦へ
バトルコードが入ってる
あるある2
ホスト
Push通知
??? ???
相手の反応が無い((((;?Д?))))
これもログで解決
APサーバー
(Ruby ?on ?Rails)
ホスト ゲスト
先にプレイして
ログを残しておく 後からいつでも
ログと戦える
ゴースト
Redis
あるある3
ホスト ゲスト
先にプレイ中 あ、通知来てる
ログが残る前に来たらどうしよ
((((;?Д?))))
???
APサーバー
(Ruby ?on ?Rails)
ソケット開きっぱで解決
ソケットサーバー
(Node.js)
ホスト ゲスト
ソケットを開いたまま
先にプレイする データの受け渡し
接続の管理
Push通知
ホストのプレイログを
ソケット経由で受け取る
あるある4
ホスト
もうむりぽ???
_人人人人人人_
> 突然の死 <
 ̄Y^Y^Y^Y^Y ̄
???
ログ最高!!!
ソケットサーバー
(Node.js)
ホスト
ゴースト
APサーバー
(Ruby ?on ?Rails)
②ゴーストデータ
の要求
①繋がらない
過去の対戦ログ
Redis
シェア対戦
APサーバー
(Ruby ?on ?Rails)
ホスト ゲスト
先にプレイして
ログを残しておく
リンクからアプリを起動
いつでも挑戦できる
ゴースト
Redis
ソーシャルにシェア
まとめると
メンバー募集中です!
ヽ(???)?(???)?(???)?
特にクライアント
私しかいません(;??测Д?测缚)
よろしくお願いします!
&
ありがとうございました!

More Related Content

BrainWars Night 発表資料