Skip to Content
AWS STEM Korea
핵심 과제목표

목표

현재 이벤트 계정에서는 멀티 플레이어 오목(Gomoku) 게임을 플레이하기 위한 필수 리소스가 생략(회색 영역)되었습니다.

  • GameLift Servers Build / Fleet / Alias / Queue
  • GameLift Servers FlexMatch Matchmaking Configuration / Rule Set
  • DynamoDB Table (GomokuPlayerInfo)

과제

GameLift Servers / Dynamo 리소스를 생성하여 게임을 완성해 주세요.

1. GameLift Servers - Fleet

  • Windows Server 2016 운영체제(OS)로 게임 서버 소프트웨어(server.zip)를 빌드합니다.
  • 2vCPU와 2GiB 메모리를 보유한 인스턴스(c5.large)로 플릿을 생성합니다. 플릿 인스턴스는 플레이어 매칭 요청량에 따라 최소 1개까지 축소, 최대 3개까지 확장 가능합니다.
  • 플릿에 대한 별칭(Alias)을 생성하고, 게임 세션 대기열로 플릿 별칭을 연결합니다. 이제 대기열에 플레이어 매칭 요청이 전달되면, 새로운 게임 세션이 활성화되고 플릿 인스턴스(게임 서버)가 이 세션을 처리합니다.

2. GameLift Servers - FlexMatch

  • 매치메이킹 규칙 세트를 생성하고 효과적인 플레이어 매칭이 이루어지도록 5개의 규칙을 추가합니다.

    • 규칙 1 : 1팀당 1플레이어로 인원수가 동일한 두 팀끼리 매칭
    • 규칙 2 : 기본적으로 팀 간 점수차가 300점 이내인 두 팀끼리 매칭
    • 규칙 3 : 10초(총 10초) 대기 후에도 매칭 실패할 경우, 팀 간 점수차 500점 이내로 조건 완화
    • 규칙 4 : 10초(총 20초) 대기 후에도 매칭 실패할 경우, 팀 간 점수차 800점 이내로 조건 완화
    • 규칙 5 : 10초(총 30초) 대기 후에도 매칭 실패할 경우, 팀 간 점수차 1,000점 이내로 조건 완화
  • 매치메이킹 구성을 생성하고, 규칙 세트와 대기열을 연결합니다. 게임 클라이언트가 이 매치메이킹 구성으로 플레이어 매칭을 요청하면, 규칙에 따라 대기열로 요청이 전달됩니다.

3. DynamoDB Table (GomokuPlayerInfo)

  • PlayerName 속성을 프라이머리 키 로 가지는 DynamoDB 테이블을 생성합니다.
  • DynamoDB 테이블에서 다수의 보조 인덱스 를 통해 승/패 횟수와 점수 등을 저장합니다.

완성

Last updated on