brainwars night 発表資料

25
株式会社トランスリミット 工藤 琢磨

Upload: takuma-kudo

Post on 21-Jun-2015

993 views

Category:

Technology


1 download

DESCRIPTION

BrainWars Night 発表資料 前回のものにサーバ構成などを加筆

TRANSCRIPT

Page 1: BrainWars Night 発表資料

株式会社トランスリミット

工藤  琢磨

Page 2: BrainWars Night 発表資料

自己紹介

氏名:  工藤  琢磨  (26)

略歴

06年  東京ゲームデザイナー学院

08年  タイトー

10年  コミュニティファクトリー

12年  ジークレスト(CAアメリカ)

14年  トランスリミット

Page 3: BrainWars Night 発表資料

使用してる技術の紹介

Page 4: BrainWars Night 発表資料

 サーバーサイド       ・Ruby  2.0.0

・Rails  4.0.2・Node.js

・AWSの各種サービス

 クライアント        

・Cocos2D-X  3.2

・C++11

Page 5: BrainWars Night 発表資料

サーバー構成

ソケットサーバ(Node.js)

ストレージ  

MySQL

データベース(MySQL)

キャッシュ(Redis)

APサーバ(Ruby  on  Rails)

Page 6: BrainWars Night 発表資料

Cocos2D-X  3.x系

 メリット          

・C++11サポート

・Socket.IOサポート

 デメリット         

・情報が少ない

・正式版まで本家バグが多かった

・今は落ち着いてる

Page 7: BrainWars Night 発表資料

Socket.IO

 メリット          

・最適なオンライン通信技術の自動判定

・あらゆるデバイス間でオンライン通信可能

 デメリット(注意点)    

・cocos内はWebsocketが固定で使用される

・大量のデータは分割送信されるぽい(2KB)

Page 8: BrainWars Night 発表資料

オンライン対戦あるあると

ログを使った工夫

Page 9: BrainWars Night 発表資料

対戦パターン

• ランダム対戦

• 特定の相手と対戦

• シェアリンクなどからの対戦

Page 10: BrainWars Night 発表資料

ランダム対戦

ソケットサーバー(Node.js)

ホスト先に繋いだユーザ

ゲスト後に繋いだユーザ

APサーバー(Ruby  on  Rails)

問題の取得結果の送信など

待機中が2人になるとマッチング

バトルコードを発行して対戦を識別データの受け渡し接続切れの監視

Page 11: BrainWars Night 発表資料

あるある1

ホスト

対戦相手が来ない・・・

相手がいない((((;゚Д゚))))

・・・

Page 12: BrainWars Night 発表資料

ログで解決

ソケットサーバー(Node.js)

ホスト

ゴースト

APサーバー(Ruby  on  Rails)

②ゴーストデータの要求

①タイムアウトで切断

過去の対戦ログ

Redis

対戦した時のログを保持してる

Page 13: BrainWars Night 発表資料

特定の相手と対戦

ソケットサーバー(Node.js)

ホスト ゲスト

APサーバー(Ruby  on  Rails)

問題の取得結果の送信など データの受け渡し

接続の管理

Push通知

Push起動でそのまま対戦へ

バトルコードが入ってる

Page 14: BrainWars Night 発表資料

あるある2

ホスト

Push通知

・・・ ・・・

相手の反応が無い((((;゚Д゚))))

Page 15: BrainWars Night 発表資料

これもログで解決

APサーバー(Ruby  on  Rails)

ホスト ゲスト

先にプレイしてログを残しておく 後からいつでも

ログと戦える

ゴースト

Redis

Page 16: BrainWars Night 発表資料

あるある3

ホスト ゲスト

先にプレイ中 あ、通知来てる

ログが残る前に来たらどうしよ((((;゚Д゚))))

・・・

APサーバー(Ruby  on  Rails)

Page 17: BrainWars Night 発表資料

ソケット開きっぱで解決

ソケットサーバー(Node.js)

ホスト ゲスト

ソケットを開いたまま先にプレイする データの受け渡し

接続の管理

Push通知

ホストのプレイログをソケット経由で受け取る

Page 18: BrainWars Night 発表資料

あるある4

ホスト

もうむりぽ・・・

_人人人人人人_> 突然の死 < ̄Y^Y^Y^Y^Y ̄

・・・

Page 19: BrainWars Night 発表資料

ログ最高!!!

ソケットサーバー(Node.js)

ホスト

ゴースト

APサーバー(Ruby  on  Rails)

②ゴーストデータの要求

①繋がらない

過去の対戦ログ

Redis

Page 20: BrainWars Night 発表資料

シェア対戦

APサーバー(Ruby  on  Rails)

ホスト ゲスト

先にプレイしてログを残しておく

リンクからアプリを起動いつでも挑戦できる

ゴースト

Redis

ソーシャルにシェア

Page 21: BrainWars Night 発表資料

まとめると

Page 22: BrainWars Night 発表資料

メンバー募集中です!ヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノ

Page 23: BrainWars Night 発表資料

特にクライアント

Page 24: BrainWars Night 発表資料

私しかいません(;´༎ yД༎ y`)

Page 25: BrainWars Night 発表資料

よろしくお願いします!&

ありがとうございました!