# 研究目的
- ゲームの通信方式にはクライアントサーバ方式とp2p方式がある
- データの安全性やチート対策などでクライアントサーバ方式が主流
- サーバに接続してマルチプレイなどのデータ同期を実現させているため、低速
- 高速かつ安全に通信を行たい
- 並列分散フレームワークChristieがある
- Christieを利用してp2pで通信を行う
- ゲーム開発で主に使用されているUnityに対応するためにChristieをC#へ書き換えを行う
# 今週の進捗
- 講義でチャットアプリをUnityで作ってました
- postするのにcookieにkeyを書き込む必要があり、しんどかった
- iosの仕様でバックグラウンド動作に苦しめられた
- Unity初心者勉強会を開催します
- GameJam+というイベントの運営と英語ミーティングがすることが確定
# C#でWebRequestでpost時にcookieにkeyを書き込む
|
|
-
postの例ではpython3で実装…
- post関数の引数にcookieを仕込める実装
-
Headerにkeyを書き込んでもpostできない
- そもそもUnityWebRequestにcookieを書き込む処理が実装されていない
-
C#でWebRequest自力実装することに
C#にはCookieContainerというcookieを書き込めるクラスがあったのでそれを利用
|
|
|
|
# iosのバックグラウンドの動作時間
チャットアプリだが、サーバー側は先生が用意しているのでそれを利用
push通知を飛ばしたいので、バックグラウンド動作時にサーバーからgetしてきたい
-
Unityのコルーチン(非同期処理)を使うとその後の処理が返ってこない
- yield return null 1フレーム待つ →返ってこない
-
await/async (C#の便利非同期処理)も 返ってこない
-
Invoke(“function”, 1) という数秒待って関数を実行する関数も動作しない
-
なんならwhile(true)でループさせてても一定時間で処理が止まる
iOS 13におけるバックグラウンド時間
iOS 13で利用可能なバックグラウンド時間は、以前のバージョンのiOSと比較して大幅に短縮されました。iOS 13上で私たちのiOSアプリを使用して、接続したままの状態で他のアプリに切り替えた場合、その接続を維持したまま再び戻るためのバックグラウンド時間は約30秒に設定されているようです。これはOSによって制御されるもので、私たちがこれを制御する術がありません。私たちはこの問題の解決策を常に調査しており、将来的にはより良い方法を提供できると期待しています。
# Unity初心者勉強会
- 琉大の警戒レベルが3(課外活動全面禁止)になってしまったので、完全オンラインで開催 https://igda-ryukyus.doorkeeper.jp/events/109970
# GameJam+開催?
- ブラジル発 (日本の開催会場は0っぽい)
- GGJみたいな感じだが、各都市で優勝チームを決めてセミファイナル、ファイナルと進んでいく模様
- 審査員やセミファイナルまでの間に優勝チームに付くプロをこちらが探さないといけない??
- 15日に英語でオンライン会議する予定…(相手はポルトガル語話者)