Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify the connection link to using skyway #13

Open
daiking1756 opened this issue May 27, 2020 · 4 comments
Open

Modify the connection link to using skyway #13

daiking1756 opened this issue May 27, 2020 · 4 comments
Assignees

Comments

@daiking1756
Copy link
Collaborator

Background

  • currently, we use firestore snapshot() to connect host and client.
  • IMO, we can improve the quality of connection by changing to use skyway from firebase

Goal

  • Improve the quality of connection
@daiking1756
Copy link
Collaborator Author

daiking1756 commented Aug 10, 2020

media channelとdata channelの通信が同じpeer idで行えるかどうかの検証を行う

@daiking1756
Copy link
Collaborator Author

検証の結果、media channelとdata channelの通信が同じpeer idで行えることを確認した

@daiking1756
Copy link
Collaborator Author

大事なのは両者のバトルがなるべく同時にスタートされ、なるべく同時にシャッターを切ることであるという重要な観点が抜けていたかもしれない。
この観点からすると、firestoreを用いた実装のほうが、簡単にタイミングを合わせることができているかも。
確かにSkyWay data channelを使った方が、ボタンを押してからすぐにスタートできるかもしれないが、両者のスタートのタイミングが揃っていなければ、何の意味もない。

firestoreを用いた実装の場合

  • バトルボタンを押して起こる処理は、firestoreにデータを追加するだけ(お題の表情の数字を格納する)
  • 両者とも、firestoreの中身に変化があったかどうかを監視している
  • firestoreに変化があった場合、バトルがスタート

同時にバトルがスタートするという観点から

  • 両者とも条件が平等のため、割と同時に近いタイミングでスタートできている

skyway data channelを用いた実装の場合

  • バトルボタンを押した側
    • data channelを用いて対戦相手にお題の表情の数字を送る
    • バトルスタート(通信時間を考慮して、適当に100msくらい待つのもアリ?)
  • バトルボタンを押していない側
    • data channelによって数字が送られてきたら、バトルスタート

同時にバトルがスタートするという観点から

  • バトルボタンを押したあとにdata channelを用いて数字が通信される時間が発生するため、バトルボタンを押した側が必ず先にバトルスタートする
  • 同時に揃えるためには、バトルを押した側が適当に短い時間待つなどの工夫が必要

@daiking1756
Copy link
Collaborator Author

skyway data channelを用いて実装してみたが、正直firestoreを用いた実装と大差ない。
データを貯めていくということを考えると、firestoreを使ったほうが良いかもしれない。

とりあえず、検証してみた結果、firestoreのままでいいと思った。

@jdkfx jdkfx removed their assignment Oct 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants