FlexMatch 配對程序 - Amazon GameLift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

FlexMatch 配對程序

本主題描述各種遊戲元件與服務之間的基本配對案例和互動 FlexMatch 。

為玩家請求配對

使用遊戲用戶端的玩家按一下「加入遊戲」按鈕。此動作會導致您的用戶端比對服務將比對請求傳送至 FlexMatch。請求會識別滿足請求時要使用的 FlexMatch 比對程式。請求也包含自訂配對器所需的玩家資訊,例如技能層級、播放偏好設定或地理延遲資料。您可以為一個玩家或多個玩家提出配對請求。

將請求新增至配對集區

當 FlexMatch 收到配對請求時,會產生配對票證,並將其新增至配對者的票證集區。票證會保留在集區中,直到相符或達到最長時間限制為止。您的用戶端配對服務會定期收到配對事件的通知,包括票證狀態的變更。

建立相符項目

您的 FlexMatch 配對器會持續在其集區中的所有票證上執行下列程序:

  1. 比對程式會依票證年齡排序集區,然後開始建立以最舊票證開頭的潛在比對。

  2. 比對程式會將第二個票證新增至潛在比對,並根據自訂比對規則評估結果。如果潛在比對通過評估,則票證的玩家會指派給團隊。

  3. 比對程式會依序新增下一個票證,並重複評估程序。當所有播放器插槽都已填滿時,表示相符項目已準備就緒。

大型比對的比對 (41 到 200 名玩家) 使用上述程序的修改版本,以便可以在合理的時間範圍內建置比對。比對器不會個別評估每個票證,而是將預先排序的票證集區分成可能的比對,然後根據您指定的玩家特性來平衡每個比對。例如,配對者可能會根據類似的低延遲位置預先排序票證,然後使用配對後平衡來確保團隊平均地符合玩家技能。

報告比對結果

找到可接受的相符項目時,會更新所有相符的票證,並為每個相符的票證產生成功的比對事件。

  • FlexMatch 作為獨立服務:您的遊戲會在成功的配對事件中收到相符結果。結果資料包含所有相符玩家及其團隊指派的清單。如果您的相符請求包含玩家延遲資訊,結果也會建議相符項目的最佳地理位置。

  • FlexMatch 使用 Amazon GameLift 託管解決方案:相符結果會自動傳遞至 Amazon GameLift 佇列以進行遊戲工作階段置放。相符者會決定要用於遊戲工作階段置放的佇列。

啟動相符項目的遊戲工作階段

成功形成建議的相符項目後,就會啟動新的遊戲工作階段。您的遊戲伺服器在設定相符的遊戲工作階段時,必須能夠使用配對結果資料,包括玩家IDs和團隊指派。

  • FlexMatch 作為獨立服務:您的自訂相符置放服務會從成功的配對事件取得相符結果資料,並連接至現有的遊戲工作階段置放系統,以尋找相符項目的可用託管資源。找到託管資源後,比對置放服務會與您現有的託管系統協調,以啟動新的遊戲工作階段並取得連線資訊。

  • FlexMatch 使用 Amazon GameLift 託管解決方案:遊戲工作階段佇列會找到相符項目的最佳可用遊戲伺服器。根據佇列的設定方式,它會嘗試將遊戲工作階段放置在成本最低的資源中,以及玩家會遇到低延遲的位置 (如果提供玩家延遲資料)。成功放置遊戲工作階段後,Amazon GameLift 服務會提示遊戲伺服器啟動新的遊戲工作階段,傳遞配對結果和其他選用的遊戲資料。

將玩家連接至相符項目

遊戲工作階段開始後,玩家會連線至工作階段、宣告其團隊指派,並開始遊戲。

  • FlexMatch 作為獨立服務:您的遊戲使用現有的遊戲工作階段管理系統,將連線資訊傳回給玩家。

  • FlexMatch 使用 Amazon GameLift 託管解決方案:在成功的遊戲工作階段置放上, 會使用遊戲工作階段連線資訊和玩家工作階段 ID FlexMatch 更新所有相符的票證。