Tencent Cloud Resources

텐센트 클라우드의 다양한 소식과 기술 문서 및 정보를 확인하실 수 있습니다.

 

텐센트 클라우드와 게임 인프라 아키텍처

 

 

 

 

1부. 실시간 온라인 게임의 특징과 요구사항 – 상

 

1. 개요

컴퓨터 게임은 1960년대에 시작되어 거의 80년에 가까운 역사를 가지고 있습니다. 오랜 역사만큼이나 컴퓨터 게임의 형태와 종류는 정말 다양하고 많지만, 이번 연재에서는 클라우드 컴퓨팅과 직접적으로 관계가 있는 ‘실시간 온라인 게임’에 대해서 주로 이야기하려 합니다.

 

먼저 1부에서는 우리가 즐기는 온라인 게임들을 간략하게 분류 해 보고, 어떤 특징들이 있는지 살펴볼까 합니다.
이어서 2부는 게임 유형에 따라, 요구하는 아키텍처들이 어떤 차이점이 있는지 조금 더 상세히 분석 해 보겠습니다.
마지막으로 3부는 게임 분야에 활용할 수 있는 텐센트 클라우드의 솔루션들을 살펴보고, 연재를 마치겠습니다.

 

 

1.1 게임 분류에 대하여

게임 아키텍처에 대해 알아보기 전에, 먼저 게임에는 어떤 종류들이 있는지, 분류 해보려고 합니다.

 

게임을 분류하는 방법이나 기준은 여러 가지가 있겠지만, 대체로 게임 장르로 구분하는 방법이 모두가 이해하기 편할 것 같고, 또 우리가 이야기 하려는 아키텍처 주제에도 크게 벗어나지는 않을 것 같습니다. 마치 음악이나 미술에서 비슷한 장르끼리 공통점을 공유하는 것처럼, 게임도 비슷한 장르끼리 공통적인 아키텍처 요구사항들을 가지고 있기 때문입니다.

 

 

1.2 비디오 게임 장르

비디오 게임의 장르는 정말 다양하고 많지만 대체로 액션, 어드벤처, 아케이드, 롤플레잉, 시뮬레이션, 전략전술, 스포츠 게임으로 나눌 수 있습니다.

 

액션이나 어드벤처, 아케이드는 게임의 도달 목표가 비교적 단순하고, 플레이 장비는 주로 콘솔을 이용한 형태가 많습니다. 게임 인원은 솔로플레잉 또는 최대 2~4명의 플레이가 주를 이룹니다. 요즘에도 모바일 같은 소형 디바이스에서 여전히 인기 있는 게임 장르입니다. 일반적으로 게임 서버측 시스템 부하는 크지 않으며, 게임 서비스 아키텍처 측면에서도 고려할 요소는 그다지 많지 않습니다.

 

롤플레잉이나, 시뮬레이션, 전략전술 게임은 게임 목표가 상대적으로 더 복잡하고, 플레이 장비는 콘솔이나 PC 또는 모바일 형태도 많습니다. 게임 인원은 적게는 2명, 많게는 수십만명이 온라인에서 플레이를 합니다.

 

최근 출시되는 대형 온라인 게임들은 여러가지 장르의 요소를 복합적으로 가지고 있습니다. 더불어 ‘실시간 온라인 대규모 멀티유저 게임’ 이라는 수식어가 붙습니다. 어떠한 게임 장르든, ‘실시간 온라인 대규모 멀티유저’ 라는 수식어가 함께한다면, 고려해야 하는 아키텍처 요구사항이 많아지고 복잡해 집니다.

 

이것은 패키지 게임으로부터 온라인 게임으로 발전해가는 과정에서 나타나는 특징입니다. 계속해서, 실시간 온라인 게임들의 유형과 특징들을 하나씩 살펴보도록 하겠습니다

 

 

 

2. 실시간 온라인 게임 유형

 

인기 있는 실시간 온라인 게임들을 대상으로 유형을 분류 해 보면, 크게 네 가지로 분류해볼 수 있습니다.

 

  1. FPS(First-Person Shooter)
  2. MOBA(Multiplayer Online Battle Arena)
  3. MMORPG(Massively Multiplayer Online Role-Playing Game)
  4. MMORTS(Massively Multiplayer Online Real-time Strategy)

 

 

2.1. FPS(First-Person Shooter)

FPS 게임은 1인칭 슈팅 게임입니다. 플레이어가 가상의 전쟁에 참여하고 전투상황을 시뮬레이션 하는 게임입니다. 1인칭 시점에서 전장을 누비며, 원거리 무기를 가지고 전투를 치르는 방식입니다. 실제 전투 무기(총포)를 사용한 현실세계의 전투를 모방한 형태도 많고, 가상의 무기를 사용한 슈팅 형태의 게임도 있습니다. 여러 명이 함께 분대를 이루어 전투하기도 하고, 배틀로얄(살아남은 최후의 1인 또는 팀이 승자) 형식의 게임들도 있습니다. 게임의 목적은 전투에서 승리하는 것입니다.

 

아래는 텐센트 클라우드를 이용한 유명한 FPS 모바일 게임 사례입니다.

 

 

 

2.2. MOBA(Multiplayer Online Battle Arena)

MOBA는, 최근 가장 인기 있는 게임 장르 중에 하나입니다.
여러 명이 팀을 이루어, 소수의 영웅을 컨트롤 하고, 대전과 공성을 하는 실시간 온라인 액션 멀티유저 게임 입니다. 대칭형의 맵의 양쪽에서 서로 적 진영으로 공격을 하며, 적의 본진을 점령하는 것이 목표입니다. 게임 운영의 전략과 액션 요소 및 팀플레이가 MOBA의 핵심 요소입니다. MOBA 역시, 실시간 멀티유저 게임 입니다.

 

아래는 텐센트 클라우드를 이용한 유명한 MOBA 게임 사례입니다.

 

 

 

2.3. MMORPG(Massively Multiplayer Online Role-Playing Game)

MMORPG 게임은 전 세계적으로 아주 오랜 기간 인기 있는 게임 장르입니다. 플레이어는 한 번에 한 명의 캐릭터를 컨트롤 하며, 시점은 1인칭이거나 관찰자 시점입니다. 대규모의 많은 사람들이 게임세계 안에서 함께 역할을 수행하는 게임 입니다. 전투를 비롯해서 상점에서의 구매, 교환, 채팅 등, 거의 모든 상황은 게임 세계 안에서 일어납니다.
게임의 목표는 게임 내에서 다양하게 설정되어 있으며, 게이머는 자신의 캐릭터를 성장시키고 발전시키면서 다양한 게임 내 목표를 달성합니다.

 

아래는 텐센트 클라우드를 이용한 유명한 MMORPG 모바일 게임 사례입니다.

 

 

 

2.4. MMORTS(Massively Multiplayer Online Real-time Strategy)

MMORTS 게임은 실시간 전략 게임(RTS)과 온라인 멀티플레이 게임을 결합한 장르입니다. 게임 플레이어들은 자기 구역의 지도자 역할을 하면서, 자원을 채취하고 지역을 발전시킵니다. 다른 플레이어의 지역을 공격하거나, 또는 상대방의 침입으로부터 수비하는 역할을 합니다. 플레이어가 게임에 접속하고 있지 않을 때, 다른 플레이어로부터 공격을 받을 수도 있습니다. 게임 설정 상, 자동 방어 기능을 제공하기도 하지만, 직접 수비할 수 없기 때문에 다른 플레이어의 공격에 취약한 점이 있습니다.

 

아래는 텐센트 클라우드를 이용한 유명한 MMORTS 게임 사례입니다.

 

 

 

 

3. 실시간 온라인 게임 유형별 특징

실시간 온라인 멀티 플레이 게임들은, 플레이어간 정보가 서로에게 실시간으로 전달되어야 하며, 서로에게 주는 영향 또한 즉각적입니다. 최대한 빨리 정보를 전달하기 위해, 정보들은 작은 패킷으로 만들어지고, 통신 횟수도 매우 빈번합니다. 게임 트래픽은 네트워크 지연시간에 매우 민감하며, (비즈니스 데이터에 비해) 일부 게임 트래픽의 손실이나 누락에는 비교적 관대하다고 볼 수 있습니다.

 

위에서 살펴본 네 종류의 온라인 게임들은 게임의 영속성 측면에서 서로 상반된 두 가지 유형으로 구분됩니다.

 

바로, 세션 유지형 게임과, 지속형 게임 입니다. 계속해서 두 가지 유형을 살펴보겠습니다.

 

 

3.1. 세션형(Session) 게임

MOBA, FPS, 대전 게임들을 비롯하여, 최근에 만들어지는 많은 게임들이 세션형 게임에 속합니다.

 

플레이어들은 로비에서 모여 있다가, 플레이어 매칭 시스템을 통해 같이 게임 할 사람을 정하게 됩니다. 그런 후, 게임 공간이 만들어지고, 게임 속 공간으로 이동해서 실제 게임을 즐깁니다.

 

이 게임은 플레이 시간이 정해져 있습니다. 짧게는 1~5분 정도 일정 시간 동안 게임을 플레이하고, 시간이 지나면 플레이어들은 다시 로비로 이동하고 헤어집니다. 플레이어는 가상의 로비 공간과, 게임 공간 사이를 오고 가면서 게임을 즐깁니다.

 

이런 유형의 게임은 ‘플레이 시작과 끝’이 존재하며, 게임 공간이 일시적으로 만들어졌다가 게임이 끝나면 없어집니다. ‘세션형 게임’ 이라는 용어는 바로 여기서 유래되었습니다. 가상의 게임 세계가 만들어졌다가 없어지기 때문입니다.

 

 

3.2. 지속형(Persistent) 게임

지속형 게임에는 MMORTS, MMORPG 게임들이 있습니다. 이 유형의 게임에서는, 수많은 플레이어가 거대한 가상의 게임 세계에 접속해서 게임을 플레이 합니다.

 

세션형 게임과는 어떤 점이 다를까요?

지속형 게임에서는 세션형 게임과는 달리, 가상의 게임 세계가 사라지지 않습니다. 접속중인 플레이어가 없을지라도, 가상의 게임 세계는 계속 유지되고 지속적으로 변화합니다.
게임 운영 회사가 게임 서비스를 종료하지 않는 한, 게임 속 가상세계는 계속 유지됩니다. 이 점이 세션형 게임과 가장 큰 차이점 입니다. 앞서 살펴본 세션형 게임에서는, 만약 플레이어가 접속하지 않을 경우, 게임 세션 자체가 만들어질 수 없겠지요.

 

지속형 게임에서는 로비 라는 가상의 공간이 따로 없고, 플레이어 매칭 시스템 또한 없습니다. 만약 누군가와 함께 게임을 하고 싶다면 같이 게임을 즐길 사람들은 같은 서버에 접속해야만 합니다.

 

이 게임 유형에서는, 플레이 시간이 정해져 있지 않습니다. 플레이어의 로그인/로그아웃과 관계 없이 게임 속의 가상세계의 시간은 계속해서 무한히 흘러갑니다. 플레이어는 잠시 게임에 로그인 해서 게임을 즐기고, 로그아웃 할 뿐입니다.

 

일반적으로, 지속형 게임에서는 게임 속 가상세계가 매우 크기 때문에 게임 세계를 보다 작은 지역들로 나누고, 각 지역마다 담당 서버를 배치합니다. 플레이어는 이렇게 구현된 게임 세계 내부를 돌아다니면서(게임 서버 사이를 이동하면서), 게임을 플레이 합니다.

 

지속형 게임에서는 게임 세계 정보를 유지하기 위해, 각 지역마다 서버를 최소 한 대 이상 유지해야 합니다. 또한, 장애로부터 게임의 상태 정보를 복원할 수 있도록, 자주 백업 해 주어야 합니다. 아키텍처 관점에서 볼 때, 지속형 게임은 세션형 게임에 비해 유지비용이 상대적으로 높습니다.

 

수고하셨습니다. 이번 ‘1. 실시간 온라인 게임의 특징과 요구사항 – 상’편에서는 게임을 장르별로 분류 해 보았습니다. 다음 하편에서는 패키지 게임들이 실시간 온라인 게임으로 변모하면서 어떤 데이터 특징을 가지는지, 또 어떤 아키텍처 요구사항들이 추가되는지 알아보겠습니다.

 

 

 

 

기술 블로그 내용 중에 궁금한 점이 있다면, 질문하기를 통해 문의 해 주세요.

 

 

 

 

 

  • 이 콘텐츠는 저작권법에 의해 보호받는 저작물로 메가존클라우드에 저작권이 있습니다.
  • 이 콘텐츠는 사전동의 없이 2차 가공 및 영리 목적으로의 이용을 금합니다.