同期タイミング
とりあえず作ってみて。
一応動くのですが
ゲーム終了フラグ (勝敗や時間切れ)=> スコア確定 => 終了、結果表示
と当然のことなのですが
これは、こういう順に作っているので、普通に動けば、想定内の流れになるはず!
と思うのですが、最後のスコアが終了の後から届いたりして。。。先に送っているはずなのですが
何か書き方がオカシイのでしょう
でも仕方ないので、終了から結果表示の前にもう一度スコアチェックを入れたり。
本来なら全ての動作を同期確認してから進めれば良いだけですが、それはまた次回整理したいと思います^^;
低速、遅延
64kbps の au povo2.0でもゲームできるのですが、通信数が多いのか遅延してしまいます。
ズレは、サーバーからのゲーム経過時間と自分のゲーム経過時間を比べればわかるのですが。
ズレていたらどうするか?が問題で。低速なのでゲームしないでと言いたいところですが
遅延のまま放置されてしまうと、接続数課金 ccu があるのでこれまた面倒な話で。
どこかでエラー終了にしないと行けないのですが、何方が遅いのかのチェック方法を考えないといけませんね。なんらかのペナルティをつけないと。
サーバー側は遅延しないので、サーバー側が低速だと…
Unity Relay 料金
50ccuまで無料、通信量によっても課金となります。
ccuは、30日間の接続数と書かれているのですが?
同時接続数の平均と説明している人も多いですが、そうではなく30日間の接続数なのかな?
ここに公式解説がありました。
How is the Relay Service Priced?
https://support.unity.com/hc/en-us/articles/4410136449812-How-is-the-Relay-Service-Priced-
これを公式説明と信じるなら24時間x30日同時接続50ccuは相当な数ですが。
今のところわかりません。。。
Example Calculations
If you have 100 active for half the day and 0 users for the other half, the daily average would be 50. This daily average then factors into the calculation for the average monthly CCU. If this pattern was the same for every day in a month, then your monthly average would be 50.
12時間100人がアクティブで 12時間 0だと1日平均は50
これが30日続くと 月間平均も 50ですと。
毎日違う100人の場合、(のべ)3000人利用でも 月間平均は50と。
この説明だと同時接続数の平均で良さそうですね。24時間30日間 x 50接続 の計算まで無料のようです。短いゲームであればあるほど利用人数(のべ)は多く出来ますね?
じっくりずっと接続しているゲームは向かないと思います。(わかりません、ユーザー単価が高ければ大丈夫とは思います。)
ただ、開発で使っただけで 4や7になったので、当然1日何時間も接続していませんし、通常多くても3端末しか使っていません。実際には数十分、どんなに多くても2時間なので、1日で1を超えることはまずないはずですが?
ゲームしてないのに接続が残っている?(そんなことはないと思うのですが…サインアウトが無効?
単純に累計で加算されてしまう。のどちらかかなと。。。
先月分を確認しました。
やはり、10接続で RELAY-CCU10 と「コストと使用状況のレポート」となていました。1日平均ではなくて1ヶ月で50接続したら課金が始まる表示になっていますね。テストで使っているだけなので、当然24時間x30日の平均同時接続が10なんてありえません。。。1以下と言うかほぼ0のはずです。
Unity Relay 料金アラート設定
プロジェクトのメニューから予算アラートなど設定できました。
メールで通知くれるようです。
1ゲームmax10分にして、ゲーム終了と同時にサインアウトの処理も入れました。
時間単位のmaxもサーバーでチェックして超えたら一旦ビジーメッセージを出すようにしました^^;
まあユーザーが増えたら嬉しいですが、キャッシュポイントがないので^^;;;
課題は多いですが、とりあえずリリースしました^^
コメント