

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

# 예제: 플레이어가 동등하게 매칭된 두 팀 생성
<a name="match-examples-1"></a>

이 예제에서는 다음과 같은 지침을 기준으로 플레이어가 동등하게 매치된 두 팀을 설정하는 방법을 설명합니다.
+ 두 개의 플레이어 팀을 생성합니다.
  + 각 팀마다 4\$18 명의 플레이어를 포함합니다.
  + 최종적으로 팀들의 플레이어 수가 동일해야 합니다.
+ 플레이어의 스킬 레벨을 포함합니다(제공되지 않은 경우, 기본 설정 10).
+ 스킬 레벨이 다른 플레이어와 비슷한지 여부를 바탕으로 플레이어를 선택합니다. 두 팀의 평균 플레이어 스킬이 10점 이내가 되도록 합니다.
+ 매치가 신속하게 성사되지 않을 경우, 플레이어의 스킬 요건을 완화하여 합리적인 시간 내에서 매치가 성사되도록 합니다.
  + 5초 후에 검색을 확장하여 팀들의 평균 플레이어 스킬 차이를 50점 이내로 완화합니다.
  + 15초 후에 검색을 확장하여 팀들의 평균 플레이어 스킬 차이를 100점 이내로 완화합니다.

이 규칙 세트 사용에 대한 참고 사항: 
+ 이 예제에서는 팀의 규모가 4명에서 8명 사이입니다(물론 팀 간에 플레이어 수는 동일해야 함). 유효한 규모의 범위에 속하는 팀에 대해 매치메이커는 허용되는 최대 수의 플레이어를 매치하기 위해 최선의 시도를 합니다.
+ `FairTeamSkill` 규칙에 의해 팀들은 플레이어 스킬을 바탕으로 균등하게 매치됩니다. 새로운 각 잠재 플레이어에 대해 이 규칙을 평가하기 위해 FlexMatch는 임시로 플레이어를 팀에 추가하고 평균을 계산합니다. 규칙에 부합하지 않은 경우 해당 잠재 플레이어는 매치에 추가되지 않습니다.
+ 두 팀의 구조가 서로 일치하므로 팀 정의를 하나만 생성하고 팀 수량을 "2"로 설정하도록 선택할 수 있었습니다. 이 시나리오에서는 팀 이름을 "aliens"로 지정했으므로 팀에 "aliens\$11" 및 "aliens\$12" 이름이 할당되었습니다.

```
{
    "name": "aliens_vs_cowboys",
    "ruleLanguageVersion": "1.0",
    "playerAttributes": [{
        "name": "skill",
        "type": "number",
        "default": 10
    }],
    "teams": [{
        "name": "cowboys",
        "maxPlayers": 8,
        "minPlayers": 4
    }, {
        "name": "aliens",
        "maxPlayers": 8,
        "minPlayers": 4
    }],
    "rules": [{
        "name": "FairTeamSkill",
        "description": "The average skill of players in each team is within 10 points from the average skill of all players in the match",
        "type": "distance",
        // get skill values for players in each team and average separately to produce list of two numbers
        "measurements": [ "avg(teams[*].players.attributes[skill])" ],
        // get skill values for players in each team, flatten into a single list, and average to produce an overall average
        "referenceValue": "avg(flatten(teams[*].players.attributes[skill]))",
        "maxDistance": 10 // minDistance would achieve the opposite result
    }, {
        "name": "EqualTeamSizes",
        "description": "Only launch a game when the number of players in each team matches, e.g. 4v4, 5v5, 6v6, 7v7, 8v8",
        "type": "comparison",
        "measurements": [ "count(teams[cowboys].players)" ],
        "referenceValue": "count(teams[aliens].players)",
        "operation": "=" // other operations: !=, <, <=, >, >=
    }],
    "expansions": [{
        "target": "rules[FairTeamSkill].maxDistance",
        "steps": [{
            "waitTimeSeconds": 5,
            "value": 50
        }, {
            "waitTimeSeconds": 15,
            "value": 100
        }]
    }]
}
```