v1.2.13の変更点
主な変更点:
- パケット暗号化システム
- Gameyeセッションホスティングのサポート
- 新しいイベントAPI
- ロビーデータとのマッチメイキングAPI
- Boltデバッグ開始UIのリフレッシュ
- Boltエンティティ 配列UI
For a full list of changes, check the log here.
パケット暗号化システム
セキュリティはPhoton Boltで開発する際の主な目的の一つです。このため、AESとハッシュアルゴリズムに基づいて各パッケージを保護するネイティブ暗号化システムを搭載しています。
暗号化をセットアップするには必要なキーをすべて設定するだけです。
Boltはこれらの鍵を使用して、他の介入なしにすべてのパッケージを暗号化し、復号化します。
また、 EncryptionManager
を操作する方法を示す小さなサンプルも含まれています。また、 システムをセットアップするための中央クラスである、EncryptionManager
(SDKに含まれる samples
パッケージのSetupEncryptionSystem
フォルダー内、またはまたは直接Samples Repoで確認できます。)の操作方法を示す小さなサンプルも含まれています。
以下のコードサンプルでは、暗号化システムの設定とリセットを行います。
C#
void Load()
{
// The Encryption System includes some Utility methods to generate all necessary Keys
var IV = EncryptionManager.GenerateAesIV();
var key = EncryptionManager.GenerateAesKey();
var secret = EncryptionManager.GenerateHashSecret();
EncodedIV = Convert.ToBase64String(IV);
EncodedKey = Convert.ToBase64String(key);
EncodedSecret = Convert.ToBase64String(secret);
// Initlize the system just passing the keys as argument and done
EncryptionManager.Instance.InitializeEncryption(EncodedIV, EncodedKey, EncodedSecret);
}
void Unload()
{
// Reset all configurations on the Encryption System if you want to disable it
EncryptionManager.Instance.DeinitializeEncryption();
}
Gameyeセッションホスティングのサポート
Photon BoltはGame Server OrchestrationのソリューションとしてGameyeに正式に対応しています。 信頼性、オートスケーリング、低遅延などの利点を活かし、インフラ上で直接稼働する専用サーバーを使用してデプロイ、管理、プレイすることができます。
インテグレーションの詳細とゲームでの使用方法については、専用ページ参照してください。
新しいイベントAPI
プレイヤー/サーバー間の通信のためにイベントを広範囲に使用する際にコードをよりクリーンにすることを目的とした、Boltイベントの作成/送信のための新しい簡略化されたAPIが含まれています。以下の例を参照してください。
このBoltイベントの定義に基づいて、以下のコード更新を行うことができます。
C#
void sendEvent()
{
// Old
var evt = LogEvent.Create(GlobalTargets.AllClients, ReliabilityModes.ReliableOrdered);
evt.Message = "Just a message";
evt.NetworkId = GetEntityID();
evt.Severity = 2;
evt.Blocked = false;
evt.Send();
// New
LogEvent.Post(GlobalTargets.AllClients, ReliabilityModes.ReliableOrdered, "Just a message", GetEntityID(), 2, false);
}
新しいAPIには新しい Post
拡張メソッドが含まれ、現在のAPIに既に存在するすべての Create
メソッドのバージョンが含まれています。
Create
メソッドは 非推奨ではありません。通常どおり機能します。
どちらの方法を使っても問題ありません。
ロビーデータとのマッチメイキングAPI
マッチメイキングAPIは、現在プレイヤーが接続しているロビーに関するより多くの情報を追加することで成長します。
この情報は、プレイヤーがより多くのデータを利用できるようにしながら、マッチメイキングの利用方法を改善します。
プロパティ BoltMatchmaking.CurrentMetadata
をチェックすることで、プラットフォームのメタデータにアクセスできます。
これは、 PhotonPlatform
でのみ使用でき、Photon.Realtime.TypedLobbyInfo
クラスの参照を含みます。現在接続されているプレイヤーの数(PlayerCount
)と使用可能なルームの数(RoomCount
)の確認に使用できます )。
Boltデバッグ開始UIのリフレッシュ
Photon Boltの主な特徴の一つは、その急速な発展であり、そのために、クリックするだけでBoltセッションを実行することができるツールが含まれています。
これは Bolt Debug Start
と呼ばれ、Bolt/Debug Start (Scenes)
メニュー項目からカスタムウィンドウとして利用できます。
このバージョンでは、小さなUIのリフレッシュを行い、いくつかの新機能を追加しました。
- ビルドオプション: スタンドアロン実行ファイルのコンパイルに使用するいくつかのビルドオプションを選択できるようになりました。利用可能なオプションは
Development
とBuildScriptsOnly
です。 - Build & Run & Run:以前のバージョンでは、毎回ゲームをビルドして実行することしかできませんでしたが(
Build & Run
ボタン。以前はDebug Start
)、今ではビルドしなくても実行ファイルを再実行(Run
ボタン)するだけで実行できるようになりました。
残りのボタンは、フッターの凡例に基づいています。
Boltエンティティ 配列UI
BoltエンティティはBoltアーキテクチャの中心的な部分であり、プレイヤー間で同期されるデータを記述するためにState
の定義を使用します。
利用可能なプロパティには、オブジェクトとプロパティの配列の2つのタイプがあり、1つの参照内で関連する情報をグループ化するために使用できます。
今回のアップデートでは、このようなプロパティを扱う際のBolt Entity
コンポーネントUIを更新しました。これにより、すべてのプロパティを一度に描画するために必要なCPU使用量を削減し、データを拡張可能なドロップダウンリストとしてより直感的に可視化できるようになりました。