FlexMatch規則類型 - Amazon GameLift

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

FlexMatch規則類型

批次距離規則

batchDistance

批次距離規則可測量兩個屬性值之間的差異。您可以將批次距離規則類型用於大型和小型相符項。批次距離規則有兩種類型:

  • 比較數字屬性值。例如,這種類型的批次距離規則可能要求一場比賽中的所有玩家都在彼此的兩個技能等級之內。對於此類型,請定義所有票證之間batchAttribute的最大距離。

  • 比較字串屬性值。舉例來說,這種類型的批次距離規則可能會要求比賽中的所有玩家都要求相同的遊戲模式。針對此類型,定義FlexMatch用來形成批次的batchAttribute值。

批次距離規則性質

  • batchAttribute— 用來形成批次的播放程式屬性值。

  • maxDistance— 成功匹配的最大距離值。用於比較數值屬性。

  • partyAggregation— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。有效選項包括彩票玩家的最小值 (max)、最大值 (avg) 和平均值 ()。min預設值為 avg

範例

{ "name":"SimilarSkillRatings", "description":"All players must have similar skill ratings", "type":"batchDistance", "batchAttribute":"SkillRating", "maxDistance":"500" }
{ "name":"SameGameMode", "description":"All players must have the same game mode", "type":"batchDistance", "batchAttribute":"GameMode" }

比較規則

comparison

比較規則將玩家屬性值與另一個值進行比較。比較規則有兩種類型:

  • 與參考值進行比較。例如,這種類型的比較規則可能要求匹配的玩家具有一定的技能等級或更高。對於此類型,請指定播放程式屬性、參照值和比較操作。

  • 跨玩家進行比較。例如,這種類型的比較規則可能要求比賽中的所有玩家都使用不同的角色。針對此類型,請指定播放程式屬性,以及等於 (=) 或不等於 (!=) 比較運算。請勿指定參考值。

注意

批次距離規則在比較玩家屬性時更有效率。若要減少配對延遲,請盡可能使用批次距離規則。

比較規則屬性

  • measurements— 要比較的玩家屬性值。

  • referenceValue— 將測量值與預期匹配進行比較。

  • operation— 決定如何將量測與參照值進行比較的值。有效的作業包括:<<==、、!=>、、>=

  • partyAggregation— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。有效選項包括彩票玩家的最小值 (max)、最大值 (avg) 和平均值 ()。min預設值為 avg

距離規則

distance

距離規則測量兩個數值之間的差異,例如玩家技能等級之間的距離。例如,距離規則可能要求所有玩家玩遊戲至少 30 小時。

注意

批次距離規則在比較玩家屬性時更有效率。若要減少配對延遲,請盡可能使用批次距離規則。

距離規則屬性

  • measurements— 測量距離的玩家屬性值。這必須是具有數值的屬性。

  • referenceValue— 用於測量預期匹配距離的數值。

  • minDistance/maxDistance— 成功比對的最小或最大距離值。

  • partyAggregation— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。有效選項包括彩票玩家的最小值 (max)、最大值 (avg) 和平均值 ()。min預設值為 avg

收集規則

collection

收集規則會將一組玩家屬性值與批次中其他玩家的屬性值或參考值進行比較。一個集合可以包含多個玩家的屬性值,一個玩家屬性作為字符串列表,或兩者。例如,收集規則可能會查看團隊中玩家所選擇的角色。然後,該規則可能會要求團隊至少具有某個特定角色中的一個。

集合規則屬性

  • measurements— 要比較的玩家屬性值的集合。屬性值必須是字串清單。

  • referenceValue— 值 (或值的集合) 用來比較測量結果是否有潛在的比對。

  • operation— 決定如何比較量測集合的值。有效的作業包括下列項目:

  • minCount/maxCount— 成功比對的最小或最大計數值。

  • partyAggregation— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。對於這個值,你可以用union來組合隊伍中所有玩家的玩家屬性。或者,您可以使intersection用該隊伍共同擁有的玩家屬性。預設值為 union

複合規則

compound

複合規則使用邏輯語句來形成 40 個或更少玩家的匹配項。您可以在單一規則集中使用多個複合規則。使用多個複合規則時,所有複合規則都必須為 true 才能形成相符項目。

您無法使用擴充規則來展開複合規則,但可以擴充基礎或支援規則。

複合規則屬性

  • statement— 用來組合個別規則以形成複合規則的邏輯。您在此屬性中指定的規則必須先前在規則集中定義。您無法在複合batchDistance規則中使用規則。

    此屬性支援下列邏輯運算子:

    • and— 如果提供的兩個引數為真,則表示式為 true。

    • or— 如果提供的兩個引數中的任何一個為 true,則表示式為 true。

    • not— 反轉運算式中引數的結果。

    • xor— 如果只有其中一個引數為真,則表示式為 true。

範例

以下示例根據他們選擇的遊戲模式匹配不同技能水平的玩家。

{ "name": "CompoundRuleExample", "type": "compound", "statement": "or(and(SeriousPlayers, VeryCloseSkill), and(CasualPlayers, SomewhatCloseSkill))" }

延遲規則

latency

延遲規則會測量每個位置的玩家延遲。延遲規則會忽略任何延遲高於最大值的位置。玩家在至少一個位置的延遲值必須低於最大值,延遲規則才能接受延遲規則。您可以透過指定maxLatency屬性,將此規則類型與大型相符項目一起使用。

延遲規則屬性

  • maxLatency— 位置可接受的最大延遲值。如果票證的延遲位置低於最大值,則票證與延遲規則不符。

  • maxDistance— 每張票的延遲與距離參考值之間的最大值。

  • distanceReference— 與工單延遲進行比較的延遲值。在距離參考值的最大距離範圍內的門票將導致比賽成功。有效選項包括最小值 (min) 和平均 (avg) 播放程式延遲值。

  • partyAggregation— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。有效選項包括彩票玩家的最小值 (max)、最大值 (avg) 和平均值 ()。min預設值為 avg

注意

佇列可以將遊戲工作階段置於與延遲規則不相符的區域中。如需佇列延遲原則的詳細資訊,請參閱建立播放程式延遲原則

絕對排序規則

absoluteSort

絕對排序規則會根據指定的玩家屬性,與新增至批次中的第一張票相比,對一批配對票券進行排序。

絕對排序規則屬性

  • sortDirection— 對配對票券進行排序的順序。有效的選項包括ascendingdescending

  • sortAttribute— 要排序票券的玩家屬性。

  • mapKey— 排序玩家屬性的選項(如果它是地圖)。有效的選項包含:

    • minValue— 具有最低值的鍵是第一個。

    • maxValue— 具有最高值的鍵是第一個。

  • partyAggregation— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。有效選項包括最小(min)玩家屬性,最大(max)玩家屬性,以及隊伍中玩家所有玩家屬性的平均值(avg)。預設值為 avg

範例

下列範例規則會依技能等級排序玩家,並平均派對的技能等級。

{ "name":"AbsoluteSortExample", "type":"absoluteSort", "sortDirection":"ascending", "sortAttribute":"skill", "partyAggregation":"avg" }

距離排序規則

distanceSort

距離排序規則會根據指定玩家屬性與新增至批次中的第一張彩票的距離,對一批配對票券進行排序。

距離排序規則屬性

  • sortDirection— 對配對票券進行排序的方向。有效的選項包括ascendingdescending

  • sortAttribute— 要排序票券的玩家屬性。

  • mapKey— 排序玩家屬性的選項 (如果是地圖)。有效的選項包含:

    • minValue— 針對新增至批次的第一份工單,尋找值最低的金鑰。

    • maxValue— 針對新增至批次的第一份工單,尋找具有最高值的金鑰。

  • partyAggregation— 決定如何FlexMatch處理與多個玩家(派對)的彩票的價值。有效選項包括彩票玩家的最小值 (max)、最大值 (avg) 和平均值 ()。min預設值為 avg