SlideShare a Scribd company logo
1 of 25
Download to read offline
株式会社トランスリミット
工藤  琢磨
自己紹介
氏名:  工藤  琢磨  (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`)
よろしくお願いします!
&
ありがとうございました!

More Related Content

What's hot

ルネサスナイト10発表資料 Rubyで作るラムネシュータ
ルネサスナイト10発表資料 Rubyで作るラムネシュータルネサスナイト10発表資料 Rubyで作るラムネシュータ
ルネサスナイト10発表資料 Rubyで作るラムネシュータ三七男 山本
 
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料Kei Mikage
 
FreeBSDでデスクトップ環境構築
FreeBSDでデスクトップ環境構築FreeBSDでデスクトップ環境構築
FreeBSDでデスクトップ環境構築azuki-penguin
 
WiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しいWiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しいAkihiro Kuwano
 
XNAとはなにか?XNAうれしいところ、うれしくないところ
XNAとはなにか?XNAうれしいところ、うれしくないところXNAとはなにか?XNAうれしいところ、うれしくないところ
XNAとはなにか?XNAうれしいところ、うれしくないところIGDA Japan
 
Rustでソートを高速化した話(Shinjuku.rs)
Rustでソートを高速化した話(Shinjuku.rs)Rustでソートを高速化した話(Shinjuku.rs)
Rustでソートを高速化した話(Shinjuku.rs)MasayukiUrakami1
 
Rust で RTOS を考える
Rust で RTOS を考えるRust で RTOS を考える
Rust で RTOS を考えるryuz88
 
15分で知るVagrant (NSEG 2013-08-24)
15分で知るVagrant (NSEG 2013-08-24)15分で知るVagrant (NSEG 2013-08-24)
15分で知るVagrant (NSEG 2013-08-24)hiro345
 
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~Masahiko Sawada
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いているAkihiro Kuwano
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2uchan_nos
 
OS development beginner with breadboard version 20161126
OS development beginner with breadboard version 20161126OS development beginner with breadboard version 20161126
OS development beginner with breadboard version 20161126Langur
 
Makeblockでキミだけの最強ロボットをつくろう!
Makeblockでキミだけの最強ロボットをつくろう!Makeblockでキミだけの最強ロボットをつくろう!
Makeblockでキミだけの最強ロボットをつくろう!nmrmsys
 
ダッシュボードのつくりかた
ダッシュボードのつくりかたダッシュボードのつくりかた
ダッシュボードのつくりかたYasuhiro Araki, Ph.D
 
ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話Tokoroten Nakayama
 
Cocos2d-xとSpriteStudioを使った音ゲー開発のお話
Cocos2d-xとSpriteStudioを使った音ゲー開発のお話Cocos2d-xとSpriteStudioを使った音ゲー開発のお話
Cocos2d-xとSpriteStudioを使った音ゲー開発のお話Satoru Takai
 
Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話Akira Miki
 

What's hot (20)

ルネサスナイト10発表資料 Rubyで作るラムネシュータ
ルネサスナイト10発表資料 Rubyで作るラムネシュータルネサスナイト10発表資料 Rubyで作るラムネシュータ
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
 
Open il vol4
Open il vol4Open il vol4
Open il vol4
 
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
 
FreeBSDでデスクトップ環境構築
FreeBSDでデスクトップ環境構築FreeBSDでデスクトップ環境構築
FreeBSDでデスクトップ環境構築
 
WiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しいWiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しい
 
XNAとはなにか?XNAうれしいところ、うれしくないところ
XNAとはなにか?XNAうれしいところ、うれしくないところXNAとはなにか?XNAうれしいところ、うれしくないところ
XNAとはなにか?XNAうれしいところ、うれしくないところ
 
Rustでソートを高速化した話(Shinjuku.rs)
Rustでソートを高速化した話(Shinjuku.rs)Rustでソートを高速化した話(Shinjuku.rs)
Rustでソートを高速化した話(Shinjuku.rs)
 
MongoDB3.2の紹介
MongoDB3.2の紹介MongoDB3.2の紹介
MongoDB3.2の紹介
 
Rust で RTOS を考える
Rust で RTOS を考えるRust で RTOS を考える
Rust で RTOS を考える
 
15分で知るVagrant (NSEG 2013-08-24)
15分で知るVagrant (NSEG 2013-08-24)15分で知るVagrant (NSEG 2013-08-24)
15分で知るVagrant (NSEG 2013-08-24)
 
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2
 
OS development beginner with breadboard version 20161126
OS development beginner with breadboard version 20161126OS development beginner with breadboard version 20161126
OS development beginner with breadboard version 20161126
 
Makeblockでキミだけの最強ロボットをつくろう!
Makeblockでキミだけの最強ロボットをつくろう!Makeblockでキミだけの最強ロボットをつくろう!
Makeblockでキミだけの最強ロボットをつくろう!
 
ダッシュボードのつくりかた
ダッシュボードのつくりかたダッシュボードのつくりかた
ダッシュボードのつくりかた
 
ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話
 
Cocos2d-xとSpriteStudioを使った音ゲー開発のお話
Cocos2d-xとSpriteStudioを使った音ゲー開発のお話Cocos2d-xとSpriteStudioを使った音ゲー開発のお話
Cocos2d-xとSpriteStudioを使った音ゲー開発のお話
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話
 

Similar to BrainWars Night 発表資料

Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Tomoaki Shimizu
 
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]Aya Tokura
 
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術Satoshi Yamafuji
 
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏Developers Summit
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-Saki Homma
 
IDCF クラウド meets Node-RED !
IDCF クラウド meets Node-RED !IDCF クラウド meets Node-RED !
IDCF クラウド meets Node-RED !K Kimura
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~Saki Homma
 
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?Kuniyasu Suzaki
 
Aerospike on IDCF Cloud
Aerospike on IDCF CloudAerospike on IDCF Cloud
Aerospike on IDCF CloudIDC Frontier
 
MaxScaleを触ってみた
MaxScaleを触ってみたMaxScaleを触ってみた
MaxScaleを触ってみたFujishiro Takuya
 
Dell emc highperformancevirtualinfracommunitymeetup_20180621publish
Dell emc highperformancevirtualinfracommunitymeetup_20180621publishDell emc highperformancevirtualinfracommunitymeetup_20180621publish
Dell emc highperformancevirtualinfracommunitymeetup_20180621publishMakoto Ono
 
Cocos2d-xおよび関連サービスについて
Cocos2d-xおよび関連サービスについてCocos2d-xおよび関連サービスについて
Cocos2d-xおよび関連サービスについてChukong Technologies Japan
 
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッションJavaEdge第3回ライブセッション
JavaEdge第3回ライブセッションYoichiro Tanaka
 
Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutesYohei Sasaki
 
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例Amazon Web Services Japan
 
The Next Generation for C# Developers
The Next Generation for C# DevelopersThe Next Generation for C# Developers
The Next Generation for C# DevelopersTakayoshi Tanaka
 

Similar to BrainWars Night 発表資料 (20)

Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介Cocos2d-xのかんたんな紹介
Cocos2d-xのかんたんな紹介
 
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
 
Azure IoT Edge の基本
Azure IoT Edge の基本Azure IoT Edge の基本
Azure IoT Edge の基本
 
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
 
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
 
IDCF クラウド meets Node-RED !
IDCF クラウド meets Node-RED !IDCF クラウド meets Node-RED !
IDCF クラウド meets Node-RED !
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
 
Node-RED v1.3新機能紹介
Node-RED v1.3新機能紹介Node-RED v1.3新機能紹介
Node-RED v1.3新機能紹介
 
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
 
Aerospike on IDCF Cloud
Aerospike on IDCF CloudAerospike on IDCF Cloud
Aerospike on IDCF Cloud
 
MaxScaleを触ってみた
MaxScaleを触ってみたMaxScaleを触ってみた
MaxScaleを触ってみた
 
Hbstudy41 slide
Hbstudy41 slideHbstudy41 slide
Hbstudy41 slide
 
Dell emc highperformancevirtualinfracommunitymeetup_20180621publish
Dell emc highperformancevirtualinfracommunitymeetup_20180621publishDell emc highperformancevirtualinfracommunitymeetup_20180621publish
Dell emc highperformancevirtualinfracommunitymeetup_20180621publish
 
Cocos2d-xおよび関連サービスについて
Cocos2d-xおよび関連サービスについてCocos2d-xおよび関連サービスについて
Cocos2d-xおよび関連サービスについて
 
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッションJavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
 
Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutes
 
RyuJIT
RyuJITRyuJIT
RyuJIT
 
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
 
The Next Generation for C# Developers
The Next Generation for C# DevelopersThe Next Generation for C# Developers
The Next Generation for C# Developers
 

BrainWars Night 発表資料