FlexMatch 규칙 유형 - Amazon GameLift

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

FlexMatch 규칙 유형

배치 거리 규칙

batchDistance

배치 거리 규칙은 두 속성값 간의 차이를 측정합니다. 라지 및 스몰 매치 항목 모두에 배치 거리 규칙 유형을 사용할 수 있습니다. 다음과 같은 두 가지 유형의 배치 거리 규칙이 있습니다.

  • 수치 속성 값을 비교합니다. 예를 들어, 이 유형의 배치 거리 규칙을 통해 매치의 모든 플레이어들이 서로 두 스킬 레벨 내에 있어야 한다고 정할 수 있습니다. 이 유형의 경우 모든 티켓 batchAttribute 간의 최대 거리를 정의합니다.

  • 문자열 속성 값을 비교합니다. 예를 들어, 이 유형의 배치 거리 규칙을 적용하면 매치에 참여하는 모든 플레이어가 동일한 게임 모드를 요청해야 할 수 있습니다. 이 유형의 경우 FlexMatch가 배치를 구성하는 데 사용하는 batchAttribute 값을 정의합니다.

배치 거리 규칙 속성

  • batchAttribute - 배치를 구성하는 데 사용되는 플레이어 속성 값입니다.

  • maxDistance - 성공적인 매치에 대한 최대 거리 값입니다. 수치 속성을 비교하는 데 사용됩니다.

  • partyAggregation - FlexMatch가 여러 플레이어(그룹)가 있는 티켓을 처리하는 방식을 결정하는 값입니다. 유효한 옵션에는 티켓 플레이어의 최소(min), 최대(max), 평균(avg) 값이 포함됩니다. 기본값은 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

비교 규칙은 또 다른 값과 플레이어 속성 값을 비교합니다. 다음과 같은 두 가지 유형의 비교 규칙이 있습니다.

  • 참조 값과 비교합니다. 예를 들어, 이 유형의 비교 규칙을 적용하려면 매칭된 플레이어의 스킬 레벨이 특정 수준 이상이어야 할 수 있습니다. 이 유형의 경우 플레이어 속성, 참조 값, 비교 작업을 지정합니다.

  • 플레이어 간을 비교합니다. 예를 들어, 이 유형의 비교 규칙을 적용하려면 매치에 참여하는 모든 플레이어가 서로 다른 캐릭터를 사용해야 할 수 있습니다. 이 유형의 경우 플레이어 속성을 지정하고 equal(=) 또는 not-equal(!=) 비교 연산을 지정합니다. 참조 값을 지정하지 마세요.

참고

배치 거리 규칙은 플레이어 속성을 비교하는 데 더 효율적입니다. 매치메이킹 지연 시간을 줄이려면 가능하면 배치 거리 규칙을 사용합니다.

비교 규칙 속성

  • measurements - 비교할 플레이어 속성 값입니다.

  • referenceValue - 가능한 매치의 측정값과 비교할 값입니다.

  • operation - 측정값을 참조 값과 비교하는 방법을 결정하는 값입니다. 유효한 연산에는 다음이 포함됩니다. <, <=, =, !=, >, >=.

  • partyAggregation - FlexMatch가 여러 플레이어(그룹)가 있는 티켓을 처리하는 방식을 결정하는 값입니다. 유효한 옵션에는 티켓 플레이어의 최소(min), 최대(max), 평균(avg) 값이 포함됩니다. 기본값은 avg입니다.

거리 규칙

distance

거리 규칙은 플레이어 스킬 레벨 간의 거리와 같이 두 숫자 값 간의 차이를 측정합니다. 예를 들어 거리 규칙에 따라 모든 플레이어가 최소 30시간 이상 게임을 플레이해야 할 수 있습니다.

참고

배치 거리 규칙은 플레이어 속성을 비교하는 데 더 효율적입니다. 매치메이킹 지연 시간을 줄이려면 가능하면 배치 거리 규칙을 사용합니다.

거리 규칙 속성

  • measurements - 거리를 측정할 플레이어 속성값입니다. 이 속성은 숫자 값이 있는 속성이어야 합니다.

  • referenceValue - 가능한 매치에 대한 거리를 측정하는 숫자 값입니다.

  • minDistance/maxDistance - 성공적인 매치에 대한 최소 또는 최대 거리 값입니다.

  • partyAggregation - FlexMatch가 여러 플레이어(그룹)가 있는 티켓을 처리하는 방식을 결정하는 값입니다. 유효한 옵션에는 티켓 플레이어의 최소(min), 최대(max), 평균(avg) 값이 포함됩니다. 기본값은 avg입니다.

수집 규칙

collection

수집 규칙은 플레이어 속성 값 그룹을 배치에 있는 다른 플레이어의 속성 값 또는 참조 값과 비교합니다. 속성 모음에는 여러 플레이어에 대한 속성 값, 한 플레이어에 대한 속성 값(문자열 목록), 또는 둘 모두가 포함될 수 있습니다. 예를 들어, 수집 규칙은 팀 내 플레이어가 선택한 캐릭터를 살펴볼 수 있습니다. 그러면 규칙에 따라 팀에 특정 캐릭터 중 한 명 이상이 있어야 할 수도 있습니다.

수집 규칙 속성

  • measurements - 비교할 플레이어 속성 값의 모음입니다. 속성 값은 반드시 문자열 목록이어야 합니다.

  • referenceValue - 가능한 매치에 대한 측정치를 비교하는 데 사용하는 값 (또는 값 모음)입니다.

  • operation - 측정값 모음을 비교하는 방법을 결정하는 값입니다. 유효한 작업에는 다음이 포함됩니다.

  • minCount/maxCount - 성공적인 매치에 대한 최소 또는 최대 개수 값입니다.

  • partyAggregation - FlexMatch가 여러 플레이어(그룹)가 있는 티켓을 처리하는 방식을 결정하는 값입니다. 이 값의 경우 union을 사용하여 그룹에 있는 모든 플레이어의 플레이어 속성을 조합할 수 있습니다. 또는 intersection을 사용하여 그룹이 공통으로 가지고 있는 플레이어 속성을 사용할 수도 있습니다. 기본값은 union입니다.

복합 규칙

compound

복합 규칙은 논리적 문을 사용하여 40명 이하의 플레이어로 구성된 매치를 구성합니다. 단일 규칙 세트에 여러 복합 규칙을 사용할 수 있습니다. 여러 복합 규칙을 사용하는 경우 모든 복합 규칙이 true여야 매치를 구성할 수 있습니다.

확장 규칙을 사용하여 복합 규칙을 확장할 수는 없지만 기본 규칙 또는 지원 규칙을 확장할 수 있습니다.

복합 규칙 속성

  • statement - 개별 규칙을 결합하여 복합 규칙을 구성하는 데 사용되는 로직입니다. 이 속성에서 지정한 규칙은 규칙 세트에서 이전에 정의되어 있어야 합니다. 복합 규칙에는 batchDistance 규칙을 사용할 수 없습니다.

    이 속성은 다음과 같은 논리 연산자를 지원합니다.

    • and - 제공된 두 인수가 true인 경우 표현식은 true입니다.

    • or - 제공된 두 인수 중 하나가 true인 경우 표현식은 true입니다.

    • not - 표현식에서 인수 결과를 반대로 바꿉니다.

    • xor - 인수 중 하나만 true인 경우 표현식은 true입니다.

다음 예제에서는 선택한 게임 모드에 따라 다양한 스킬 레벨의 플레이어를 매칭합니다.

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

지연 규칙

latency

지연 규칙은 위치별 플레이어 지연 시간을 측정합니다. 지연 규칙은 지연 시간이 최대값보다 더 높은 모든 위치를 무시합니다. 지연 규칙이 허용되려면 플레이어의 최소 한 위치에서 지연 시간 값이 최대값보다 낮아야 합니다. maxLatency 속성을 지정하여 라지 매치에 이 규칙 유형을 사용할 수 있습니다.

지연 시간 규칙 속성

  • maxLatency - 위치에 허용 가능한 최대 지연 시간 값입니다. 티켓에 지연 시간이 최대값 미만인 위치가 없는 경우 티켓은 지연 시간 규칙과 일치하지 않습니다.

  • maxDistance - 각 티켓의 지연 시간과 거리 참조 값 사이의 최대값입니다.

  • distanceReference - 티켓 지연 시간을 비교할 지연 시간 값입니다. 거리 참조 값의 최대 거리 내에 있는 티켓은 매칭에 성공합니다. 유효한 옵션은 최소(min) 및 평균(avg) 플레이어 지연 시간 값을 포함합니다.

  • partyAggregation - FlexMatch가 여러 플레이어(그룹)가 있는 티켓을 처리하는 방식을 결정하는 값입니다. 유효한 옵션에는 티켓 플레이어의 최소(min), 최대(max), 평균(avg) 값이 포함됩니다. 기본값은 avg입니다.

참고

대기열을 사용하면 지연 시간 규칙과 일치하지 않는 리전에 게임 세션을 배치할 수 있습니다. 대기열의 지연 시간 정책에 대한 자세한 내용은 플레이어 지연 시간 정책 생성을 참조하세요.

절대 정렬 규칙

absoluteSort

절대 정렬 규칙은 배치에 추가된 첫 번째 티켓과 비교하여 지정된 플레이어 속성을 기준으로 매치메이킹 티켓 배치를 정렬합니다.

절대 정렬 규칙 속성

  • sortDirection - 매치메이킹 티켓을 정렬하는 순서입니다. 유효한 옵션은 다음과 같습니다. ascending, descending.

  • sortAttribute - 티켓 정렬 기준으로 사용할 플레이어 속성입니다.

  • mapKey - 맵인 경우 플레이어 속성을 정렬하는 옵션입니다. 유효한 옵션은 다음과 같습니다.

    • minValue - 값이 가장 낮은 키가 첫 번째입니다.

    • maxValue - 값이 가장 높은 키가 첫 번째입니다.

  • partyAggregation - FlexMatch가 여러 플레이어(그룹)가 있는 티켓을 처리하는 방식을 결정하는 값입니다. 유효한 옵션에는 최소(min) 플레이어 속성, 최대(max) 플레이어 속성, 그룹 내 플레이어에 대한 모든 플레이어 속성의 평균(avg)을 포함합니다. 기본값은 avg입니다.

다음 예제 규칙은 플레이어를 스킬 레벨별로 정렬하고 그룹의 스킬 레벨의 평균을 계산합니다.

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

거리 정렬 규칙

distanceSort

거리 정렬 규칙은 배치에 추가된 첫 번째 티켓에서 지정된 플레이어 속성 거리를 기준으로 매치메이킹 티켓 배치를 정렬합니다.

거리 정렬 규칙 속성

  • sortDirection - 매치메이킹 티켓을 정렬하는 방향입니다. 유효한 옵션은 다음과 같습니다. ascending, descending.

  • sortAttribute - 티켓 정렬 기준으로 사용할 플레이어 속성입니다.

  • mapKey - 맵인 경우 플레이어 속성을 정렬하는 옵션입니다. 유효한 옵션은 다음과 같습니다.

    • minValue - 배치에 추가된 첫 번째 티켓의 경우 값이 가장 낮은 키를 찾습니다.

    • maxValue - 배치에 추가된 첫 번째 티켓의 경우 값이 가장 높은 키를 찾습니다.

  • partyAggregation - FlexMatch가 여러 플레이어(그룹)가 있는 티켓을 처리하는 방식을 결정하는 값입니다. 유효한 옵션에는 티켓 플레이어의 최소(min), 최대(max), 평균(avg) 값이 포함됩니다. 기본값은 avg입니다.