Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

11

Share

Download to read offline

TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料

Download to read offline

TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料
cocos2d-x3.0 + socket.io

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料

  1. 1. 第5回cocos2d-x勉強会資料 株式会社トランスリミット 工藤  琢磨
  2. 2. 自己紹介 氏名:  工藤  琢磨  (26)           takuma.kudo.7 略歴 06年  東京ゲームデザイナー学院 08年  タイトー 10年  コミュニティファクトリー 12年  ジークレスト(CAアメリカ) 14年  トランスリミット
  3. 3. BrainWarsとは?
  4. 4. 脳トレ×リアルタイム対戦
  5. 5. 子供から大人まで、 国境を越えて熱狂できる!
  6. 6. iOS版配信中です(ゝω・)
  7. 7. というわけで
  8. 8. 特徴は リアルタイム対戦!
  9. 9. 本日の内容 •   リアルタイム対戦のための通信技術 •   リアルタイム対戦の工夫 •   その他ハマった点などなど BrainWarsはcocos2d-x3.0で作られてます!
  10. 10. Socket.IO リアルタイム対戦の通信技術
  11. 11. Socket.IOとは •   あらゆるデバイス間で双方向通信を実現 することを目的とした技術。 •   Websocket、Pollingなどを自動で判定、 選択してくれる。
  12. 12. このSocket.IO Cocos2d-x  3.0から使えます! ※  Websocketなら2.x系でもつかえます
  13. 13. 実装デモ
  14. 14. 知らぬ間にQiitaにまとめが! 「Qiita  BrainWars」で検索!
  15. 15. めっちゃ簡単! ヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノ
  16. 16. 気をつけたい点・その他 •   遅延や接続切れは起こるもの  →  こまめに同期タイミングを作ってる。 •   Spine/Json.hはイケてない(エンコード出来な かったり処理重かったり)    →  rapidjsonを使ってます。 •   cocos側はwebsocketが固定で採用される •   データが大量の場合分割されて送信されてるみた い(2KB)
  17. 17. リアルタイム対戦の工夫
  18. 18. BrainWarsでの対戦パターン •  ランダム対戦 •  相手を指定した対戦 •  シェアリンクからの対戦 •  などなど
  19. 19. ランダム対戦 ソケットサーバー (Node.js) ホスト (先に繋いだユーザ) ゲスト 後に繋いだユーザ APサーバー (Ruby  on  Rails) 問題の取得 結果の送信 など 待機中が2人になるとマッチング バトルコードを発行して対戦を識別 データの受け渡し 接続切れの監視
  20. 20. 問題点 ホスト 対戦相手が来ない・・・ 相手がいなかったらどうしよう ((((;゚Д゚)))) ・・・
  21. 21. ログで解決 ソケットサーバー (Node.js) ホスト ゴースト APサーバー (Ruby  on  Rails) ②ゴーストデータ の要求 ①タイムアウト で切断 過去の対戦ログ Redis 対戦した時のログを保持してる
  22. 22. 相手を指定した対戦 ソケットサーバー (Node.js) ホスト ゲスト APサーバー (Ruby  on  Rails) 問題の取得 結果の送信 など データの受け渡し 接続の管理 Push通知 Push起動で そのまま対戦へ バトルコードが入ってる
  23. 23. 問題点 ホスト Push通知 ・・・ ・・・ 相手が応えなかったらどうしよう ((((;゚Д゚))))
  24. 24. これもログで解決 APサーバー (Ruby  on  Rails) ホスト ゲスト 先にプレイして ログを残しておく 後からいつでも ログと戦える ゴースト Redis
  25. 25. 問題点その2 ホスト ゲスト 先にプレイ中 あ、通知来てる ログが残る前に来たらどうしよ ((((;゚Д゚)))) ・・・ APサーバー (Ruby  on  Rails)
  26. 26. ソケット開きっぱで解決 ソケットサーバー (Node.js) ホスト ゲスト ソケットを開いたまま 先にプレイする データの受け渡し 接続の管理 Push通知 ホストのプレイログを ソケット経由で受け取る
  27. 27. シェア対戦 APサーバー (Ruby  on  Rails) ホスト ゲスト 先にプレイして ログを残しておく リンクからアプリを起動 いつでも挑戦できる ゴースト Redis ソーシャルにシェア
  28. 28. Cocos2d-x  3.0でハマった点
  29. 29. Beta版から開発してたので 本家バグがやたら多かった (ヽ´ω`)
  30. 30. Beta版なんだから当たり前やん!
  31. 31. ただ特に気をつけたい点(iOS)
  32. 32. 32/64bitで実装が分かれてる
  33. 33. どっちかが動かないとかよくある
  34. 34. なので シュミレータ(32bit,64bit) iPhone4  or  5 iPhone5S  の全部でテストをする。
  35. 35. そんな3.x系
  36. 36. 3.x系の開発で困ったら 本家フォーラムに書くのが一番!
  37. 37. 中の人はめちゃめちゃ優しい •  つたない英語でも汲み取ってくれる。 •  むしろ日本語で返事くれる。 •  本家リリース前の段階で修正コミットを 教えてくれる。 •  時々困った事ないかメールくれる。
  38. 38. 臆せず書いちゃおう!
  39. 39. それがWin-Winだもの! ヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノ
  40. 40. 最後に
  41. 41. We  Are  Hiring! ヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノ
  42. 42. Wantedlyなどから!
  43. 43. ありがとうございました!
  • nafu003

    Aug. 5, 2015
  • yoshiakioshima31

    Jul. 30, 2015
  • HirokiTanaka6

    Jul. 4, 2015
  • YukaMiyauchi

    Feb. 24, 2015
  • shanonim

    Feb. 23, 2015
  • MitsuakiKida

    Feb. 22, 2015
  • takaonakano12

    Feb. 1, 2015
  • ttynsmr

    Jan. 14, 2015
  • shiwano

    Jan. 14, 2015
  • ckazu

    Jan. 14, 2015
  • takashiimura10

    Dec. 4, 2014

TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料 cocos2d-x3.0 + socket.io

Views

Total views

3,061

On Slideshare

0

From embeds

0

Number of embeds

415

Actions

Downloads

19

Shares

0

Comments

0

Likes

11

×