brainwars night 発表資料

Post on 21-Jun-2015

993 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

工藤  琢磨

自己紹介

氏名:  工藤  琢磨  (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

ソーシャルにシェア

まとめると

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

特にクライアント

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

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

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

top related