Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 19, No. 11, pp.2067-2076
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 30 Nov 2018
Received 29 Oct 2018 Revised 09 Nov 2018 Accepted 20 Nov 2018
DOI: https://doi.org/10.9728/dcs.2018.19.11.2067

배틀그라운드 게임을 위한 인공신경망 기반 교전 추천 알고리즘

박혜민1 ; 변혜원2, *
1성신여자대학교 통계학과
2성신여자대학교 정보시스템공학과
Battle Recommendation Algorithm for Playerunknown’s Battleground Game
Hye-Min Park1 ; Hae-Won Byun2, *
1Department of Statistics, Sungshin Women's University, Seoul, Korea
2Department of Information System Engineering, Sungshin Women's University, Seoul, Korea

Correspondence to: * Hae-Won Byun, Tel: +82-2-920-7615, E-mail: hyewon@sungshin.ac.kr

Copyright ⓒ 2018 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

최근 블루홀에서 개발한 배틀그라운드 게임은 고립된 섬에서 100명의 유저들이 무기와 방어구, 회복 아이템, 탈 것 등을 이용하여 최후의 1인이 남을 때까지 싸우는 다중 접속자 온라인 배틀로얄 슈팅게임이다. 이 게임을 플레이하는데 있어서 자신의 게임 상황을 종합적으로 판단하여 매 순간 교전여부를 결정해야 하는데 초급자나 미숙달자의 경우 경험 부족으로 적절하게 판단하기가 어렵다. 본 논문에서는 유저의 상황에 따라 교전여부를 추천하고 향후 지속적으로 추천 시스템을 향상시킬 수 있는 알고리즘을 개발하였다. 교전을 추천하기 위해 무기 종류, 방어구 요소, 거리 및 지형 요소를 고려한 학습데이터를 구축하고 이를 인공신경망에 학습시켰다. 실험을 통해 제시하는 알고리즘이 초급자에게 어느 정도 효과가 있는 것을 확인하였으며, 향후 게임 맵 요소, 탈 것, 보급품 등의 요소를 추가함으로써 그 성능이 높아질 것으로 기대한다.

Abstract

Recently, Battleground game is developed by Bluehole Inc. as a MMO online battle royal shooting game. In the game, 100 users fight each other using their weapons, defenses and vehicles in an isolated island until there are only one person to be survived. For the winner of the game, it is important to decide whether the player do or avoid the battle every moment based on their game status. For most users in the beginning level, it is not easy to decide whether or not doing the battle with the lack of game experiences. In this paper, we suggest a battle recommendation algorithm based on an artificial neural network. We constructed training data using the type of weapons, defenses, distance and geographical features to train a neural network. The output of the neural network is whether a user do the battle or avoid the battle. By the experiments, we proved our algorithm works effectively and will improve the performance of our algorithm by adding map, vehicles and supplies data.

Keywords:

Battleground game, Artificial neural network, Recommendation algorithm, Training data, Battle recommendation algorithm

키워드:

베틀그라운드 게임, 인공신경망, 추천 알고리즘, 훈련 데이터, 교전 추천 알고리즘

Ⅰ. 서 론

국내 게임 개발사 블루홀에서 개발한 플레이어언노운즈 배틀그라운드(이하 배틀그라운드)[1,2]가 전 세계적으로 흥행하고 있다. 2017년 10월 기준 글로벌 1,800만장이 판매되었으며 국내에서도 130만장 이상이 판매되었다[3]. 글로벌 최대 게임 유통 사이트인 스팀(Steam)[4]에서 동시 접속자 1위를 기록하는 등 전 세계적으로 선풍적인 인기를 끌고 있다.

배틀그라운드는 다중접속온라인(MMO: Massive Multi player Online) 배틀로얄 슈팅게임으로서 고립된 섬에서 100여명의 게임 유저가 다양한 무기와 아이템, 그리고 전략을 이용하여 최후의 1인의 승자가 살아남는 순간까지 전투하는 게임이다(그림 1). 플레이어는 점점 좁혀 들어오는 영역 내에서 전략적으로 배치된 무기, 소모품, 탈 것 등을 찾아내어 ‘최후의 1인’이 되는 그 순간까지 죽음에 맞서 긴장되고 장엄한 싸움을 하게 된다[1].

Fig 1.

Battleground Play[3]

배틀그라운드에서 최후의 1인이 되기 위해서는 무기 종류, 주변 지형, 다른 플레이어와의 거리 등 여러 요소를 고려하여 매 순간 전략적으로 신중한 선택을 해야 한다. 그러나 배틀그라운드를 처음 플레이해보는 초보자의 경우 무기의 종류나 성능, 지형 요소, 플레이와의 거리에 따른 적절한 무기 사용 등에 관한 전반적인 지식이 부족하여 적합한 선택에 어려움을 겪을 가능성이 높다. 일반적으로 유저들은 여러 번 게임을 플레이하면서 경험적으로 얻게 되는 지식을 바탕으로 자신의 무기 및 방어구, 상대방의 무기 및 방어구, 지형 및 거리를 종합적으로 고려하여 다른 사람과의 교전 여부를 판단한다. 그러나 통계적으로 유의미한 판단을 내리기 위해서는 사용자의 숙련도를 제외하더라도 전체 100여명의 유저들이 최소 50번의 교전이 있다고 가정했을 때, 유저와 상대방의 무기(24종*24종), 방어구 감소율(미착용 ~ Level 3의 4단계), 지형(고지대, 저지대), 거리 요소(근거리, 중거리, 장거리)를 고려했을 때 2의 297승의 게임 결과를 얻어야 한다. 그러나 이와 같은 게임 결과를 현실적으로 구하기 어려우므로 모든 게임 결과를 이용한 모델을 구축하는 것은 쉽지 않다.

이에 본 논문에서는 게임 초보자 혹은 미숙달자를 위해 배틀그라운드 내 게임 상황에 따라 교전을 해야 하는지 또는 교전을 피해야 하는지를 판단하는 ‘교전 여부 추천 알고리즘’을 개발하였다. 인공신경망 기반으로 사용자의 게임 내 의사결정에 도움을 줄 수 있는 교전 추천 알고리즘을 제안한다. 이를 위해 온라인 커뮤니티에서 배틀그라운드의 게임 데이터를 검색하여 유저들이 측정한 무기 데미지나 유효 사정 거리, 방어구의 데미지 감소율과 같은 자료를 찾아서 활용한다. 이러한 자료는 여러 명의 유저들이 게임을 플레이하면서 임의로 구축해 놓은 것이므로 그 형태가 각각 다르고 정보의 일부가 누락되어 있는 등 제한적이고 자료의 양도 한정적이다.

본 논문에서는 단순히 데미지 값으로만 제공되고 있는 무기 데이터와 방어구의 데미지 감소율, 지형 요소, 거리 요소 등의 한정된 자료를 사용하여 알고리즘을 통해 학습 데이터를 구축하였다. 이 학습데이터를 인공신경망에 학습시켜 교전여부 추천 모델을 구축하였다. 본 논문에서 인공신경망을 사용한 이유는 인공신경망이 소량의 데이터만으로도 학습을 통하여 유의미한 판단을 내릴 수 있으며 추가적인 데이터를 입력함으로써 학습 정확도를 높일 수 있기 때문이다[5]. 초급 게이머의 대부분 플레이에서 본 논문의 모델을 적용하기 전 보다 적용 후 게임 순위가 지속적으로 상승하는 결과를 보임으로써 교전 추천 알고리즘이 효과가 있음을 확인하였다.

본 논문의 구성은 다음과 같다. 2장에서는 관련 연구에 관해 소개하고 3장에서는 인공신경망 기반 교전 추천 알고리즘을 설명한다. 4장에서는 구축된 모델의 성능을 검증하며 5장에서는 결론 및 향후 연구에 관해 서술한다.


Ⅱ. 관련연구

2-1 추천 시스템

추천 시스템은 사용자의 선호나 기호를 기반으로 물품을 추천하거나 상황에 가장 알맞은 것을 제안하는 시스템이다. 최근에 다양한 분야에서 추천 시스템에 관한 연구가 활발하게 진행되고 있다[6,7,8]. 추천 시스템이 적용된 연구사례로서 사용자의 정보, 구매이력, 웹 방문 기록 등을 분석하여 사용자별 여행상품 추천 시스템이 제안된 바 있다[9]. 또한, 사용자가 소셜 네트워크에 남긴 정보를 바탕으로 뉴스 추천 시스템을 개발한 연구가 있다[10]. e-CRM분야에서는 고객의 인구통계 데이터와 구매정보를 기반으로 연관 기법과 분류 기법을 적용하여 상품 추천 시스템을 구현한 연구도 진행되었다[11].

2-2 인공신경망 관련 연구

다양한 분야에서 인공신경망을 이용하여 결과 값을 예측하는 연구가 꾸준히 진행되고 있다. 전력수요를 예측하기 위해 하절기와 동절기, 온도와 이슬점을 기반으로 인공신경망 알고리즘을 구현하여 예측의 효율성을 높였다[12]. 서울시 침수위험지역을 인공신경망으로 분석한 결과 지형적 특성, 불투수층 여부, 일일 최대 강수량 등이 도시침수에 큰 영향을 미치는 것으로 분석하여 도시 기반시설 연구에 기여하였다[13].

게임 분야에서도 인공신경망을 이용한 연구가 진행되었다. 인공신경망을 기반으로 게임 NPC의 이동을 제어하는 인공지능 알고리즘에 관한 연구가 진행되었다[14]. 또한, 오버워치 게임 결과에 관한 불완전한 데이터를 사용하여 인공신경망 기반 영웅 캐릭터 추천 알고리즘이 제안되기도 하였다[5]. Park 등은 이전부터 베틀그라운드 게임의 초보자나 미숙달자를 위하여 교전여부를 추천하는 방법론에 관한 연구를 진행해 오고 있다[15].


Ⅲ. 인공신경망을 이용한 교전 추천 알고리즘

본 논문에서는 배틀그라운드 내 승률 데이터나 교전 데이터를 검색한 결과, 온라인 커뮤니티 상에서 유저들이 측정한 그림 2,3과 같은 자료를 얻을 수 있었다. 이 자료는 유저들이 측정한 무기의 데미지 요소, 방어구의 데미지 감소율, 지형 요소, 및 거리 요소 등을 포함하고 있다. 본 논문에서는 이와 같은 데이터를 최대한 활용하여 교전 추천 알고리즘을 개발하였다. 그림 4는 제안하는 알고리즘의 순서도를 표현하고 있다.

Fig 2.

Online Community Weapon Data(Inven)[16]

Fig 3.

Online Community Weapon Data(PUBG.me)[17]

Fig 4.

Flow Chart of Battle Recommendation Algorithm

3-1 변수 설명

1) 무기 데이터와 방어구

배틀그라운드 게임의 무기 종류, 방어구 감소율, 지형 및 거리 데이터를 기반으로 학습 데이터를 구축하였다. 무기 종류는 총 24종으로 돌격소총(Assault Rifles; AR), 저격소총(Sniper Rifles; SR), 기관단총(Submachine Guns; SMG), 경기관총(Light Machine Guns; LMG), 권총(Pistols), 산탄총(Shotguns)으로 구성되어 있다[18]. 그림 5~9에서 무기 24종을 보여주고 있다.

Fig 5.

Assault Rifles[18]

Fig 6.

Sniper Rifles

Fig 7.

Submachine Guns

Fig 8.

(Left) Light Machine Gun, (Right) Shotguns

Fig 9.

Pistols

배틀그라운드 게임은 사용자의 무기 상태별 승률정보를 공개하지 않는다. 따라서 이 논문에서는 온라인 커뮤니티 상에서 유저들이 분석하고 축적한 무기 데이터를 사용하여 학습 데이터를 구축하였다. 무기는 총 24종을 사용하였으며 근접 무기는 제외하였다. 각 무기가 플레이어 신체의 몸통 혹은 머리에 데미지를 입히는지에 따라 표 1과 같이 기본 몸통 데미지와 기본 머리 데미지 데이터를 가지고 있다. 표 1은 캐릭터의 체력을 100으로 설정해 놓았을 때 각 무기의 기본 데미지를 나타낸 것이다.

Base Damage of Weapon

각 무기는 캐릭터가 착용한 방어구 종류에 따라 해당 데미지가 변동된다. 표 2는 방어구 레벨에 따른 데미지 감소율을 나타낸 것이다. 무기와 마찬가지로 방어구도 몸통 방어구와 머리 방어구로 구성되어 있으며 표 2와 같이 Level 1의 경우 30% 데미지 감소, Level 2는 40% 데미지 감소, Level 3은55% 데미지 감소가 나타난다. 학습 데이터로 변환하기 위해서 각 무기를 몇 대 피격 시키고 이 때 상대방이 쓰러지는지 계산하여 데미지 컷을 계산하였다. 데미지 컷 계산 시 방어구 요소를 곱함으로써 몸통 데미지 컷과 머리 데미지 컷을 각각 계산하였다. 유저의 데미지 컷과 상대방이 가지고 있는 무기에 따른 데미지 컷을 비교하여 유저의 데미지 컷이 더 작을 경우 교전을 추천하는 알고리즘을 구현하였다.

Defense Damage Reduction Rate

2) 지형 요소

일반적으로 고지대에 위치할수록 캐릭터 시야 확보 및 유효 사격 범위 측면에서 유리하다. 이 논문에서는 유저가 상대방보다 고지대에 있을 경우 유리하다고 판단하여 교전을 추천하고 평지나 저지대에 위치할 경우에는 교전하지 않는 것을 추천한다.

3) 거리 요소

각 무기별로 최대 유효 사정거리가 존재한다. 본 논문에서는 무기의 최대 사정거리별로 근거리, 중거리, 장거리 무기로 분류하였다. 거리가 300이하는 근거리, 거리 400~500은 중거리, 거리 600이상은 장거리로 표시하였다. 표 3은 각 무기별 거리 특성을 표시한 것으로서 각 무기는 근거리(short), 중거리(mid), 장거리(long) 중 하나의 특성을 갖는다. 데이터를 범주화하기 위하여 근거리 무기일 경우 0, 중거리 무기일 경우 1, 장거리 무기일 경우 2로 설정하였다.

Maximum effective range of weapon

3-2 학습 데이터 구축

인터넷 상에서 수집한 데이터는 4가지로서 무기의 데미지 요소, 방어구의 데미지 감소율, 지형 요소, 및 거리 요소를 포함한다. 이 데이터를 작성한 사람이 모두 달라서 데이터의 형태가 모두 다르고 어떤 데이터는 무기나 방어구 종류의 일부만을 포함하고 있는 등 불완전한 특성을 가지고 있다. 이러한 데이터로부터 플레이어가 적군을 만났을 때, 교전을 하는 것이 좋은지 교전을 회피하는 것이 좋은지를 판단해야 한다. 이를 위하여 위의 4가지 데이터를 정량화하여 학습 데이터로 구축하는 과정이 필요하다. 임의로 선택된 게임 상황에서 수집된 데이터를 정량화하여 학습 데이터로 구축하였다.

첫째로, 무기의 데미지 요소를 정량화하는 방법은 다음과 같다. 먼저 2개 무기의 데미지 값을 비교하여 더 좋을수록(Good) 1로, 나쁠수록 0이 되도록 정량화하였다. 이 때, 데미지 컷이 더 작은 무기가 좋다고 판단하도록 구현되었다. 이는 무기의 데미지가 작을 수록 보다 적은 횟수의 시도로 적 캐릭터를 죽일 수 있도록 설계하였기 때문이다. 데미지 컷은 캐릭터의 체력을 100으로 가정하였을 때 체력을 무기의 데미지로 나눈 값으로서 소수점 버림하여 정수로 나타낸 수이다. 예를 들어 무기 AKM의 데미지는 48로서 캐릭터의 체력 100을 AKM의 데미지 48로 나누면 약 2.083이 계산된다. 여기에서 소수점을 버리면 결과는 2인데, 숫자 2가 의미하는 것은 AKM으로 2대만 맞으면 캐릭터가 죽을 수 있다는 것이다.

Eamage Cut =100Weapon Damage* 1-Defence Rate Level 0-3(1) 

다른 비교와 다르게 무기의 데미지 컷은 작을수록 좋으며(더 적게 맞음에도 상대방을 죽일 수 있음) 무기의 데미지 컷이 높을수록 여러 번 상대방을 맞춰야 하기 때문에 안 좋은 결과를 초래한다.

캐릭터가 착용한 방어구 종류에 따라 각 무기의 데미지가 변동된다. 따라서 위에서 구한 무기의 데미지 컷에 방어구의 데미지 감소율을 곱하여 무기의 최종 데미지 컷을 계산한다. 표 2에 따라 방어구 Level 1의 경우 0.3, Level 2는 0.4, Level 3는 0.55를 곱하여 무기의 최종 데미지 컷을 정량화한다. 데미지 컷 계산 시 몸통 데미지 컷과 머리 데미지 컷을 각각 계산하였다.

지형 요소의 경우 고지대에 위치할수록 유리하다는 판단 하에 고지대에 위치할 경우 1, 저지대에 위치할 경우 0으로 정량화하였다. 거리 요소의 경우 각 무기별 유효 사정거리와 연관되어 있어 별도로 구현하였다. 랜덤으로 선택된 거리 요소에 따라 사용자 무기의 사정거리 – 랜덤 거리, 상대방무기의 사정거리 – 랜덤 거리를 계산하여 유저와 상대방 간 거리 우세를 측정하였다. 여기에서 0은 근거리, 1은 중거리, 2는 장거리로 계산하였다.

학습 데이터를 구축하는 과정에서 랜덤으로 무기, 방어구, 지형 요소, 거리 요소를 선택하고, 사용자 몸통 데미지 컷, 사용자 머리 데미지 컷, 상대방 몸통 데미지 컷, 상대방 머리 데미지 컷을 계산하여 몸통이나 머리 중에 누가 더 우세한지 계산하고 이 두 개의 값을 합산하여 학습 데이터로 사용한다. 이 때 합산 결과의 최댓값은 2이며 최솟값은 0이다. 최종적으로 무기의 데미지 컷 데이터(최대값 2, 최소값 0), 지형 데이터(고지대 위치 시 1, 그 외 0), 그리고 거리 데이터(최댓값 1, 최솟값 0)를 합산한 후 4로 나누어 0과 1사이의 값을 가지도록 정규화하였다. 계산된 결과가 0.5보다 크면 교전을 추천하고 작으면 교전을 회피하도록 구현하였다.

게임 상황을 랜덤으로 설정하여 표 4와 같이 1,000회의 랜덤 게임 학습 데이터를 구축하였다.

Part of Training Data

3-3 인공신경망 적용

인공신경망은 인간의 신경망을 모방하여 만든 인공지능 학습 알고리즘을 의미한다[19]. 인공신경망은 계층(Layer)과 인공 뉴런(Node)로 이루어져 있다. 계층은 인공 뉴런으로 구성되어 있으며 계층 간 노드들은 서로 가중치(Weight)로 연결되어있다. 인공신경망에 입력 신호가 들어오게 되면 가중치 계산되어 다음 계층의 노드에 값을 전달하게 된다. 전달된 값은 특정 분계점(Threshold)를 넘어야 출력신호를 생성하는 활성함수(Activation Function)에 의해 계산된다. 이 활성함수는 시그모이드 함수, 계단 함수, 쌍곡선 탄젠트 함수, ReLU 함수 등이 있다. 본 논문에서는 계산의 편이를 위해 다음 식과 같은 시그모이드 함수를 이용하였다.

y=11+e-x(2) 

활성함수에 의해 계산된 값은 결과 값과 비교하여 오차를 직전 노드에 전달하며 가중치를 조절하게 된다. 이와 같은 방식을 오류 역전파(back propagation) 방식이라고 한다. 입력층은 8개 노드, 은닉층은 16개 노드, 출력층에는 2개 노드(비교전/교전)를 갖는 인공신경망을 구현(그림 10)하였으며 오류 역전파 알고리즘으로 10,000회 학습 후 종료하였다.

Fig 10.

Structure of ANN

입력층에는 플레이어 데이터(무기, 몸통 방어구, 머리 방어구), 적군 데이터(무기, 몸통 방어구, 머리 방어구), 지형, 거리 총 8개의 변수가 입력된다. Rashid에 따르면 인공신경망의 각 노드에 입력되는 데이터의 특정 변수 값이 클수록 해당 변수에 의해 변동될 가능성이 크다고 하였다[20]. 그러므로 0에서 최대 4까지의 값만을 가진 다른 변수에 비해 0 ~ 23으로 인덱싱 되어 있는 무기 데이터를 변환할 필요가 있다. 이를 위해서 표 5와 같이 각 데이터를 24로 나누고 +0.01하여 0.01에서 1.00사이의 값으로 되도록 변환하여 정규화(normalization)하였다.

Transformation of Weapon data


Ⅳ. 알고리즘 성능 평가

4-1 실험환경

알고리즘 성능 평가는 nVidia Titan XP 2대와 128GB 메모리를 장착한 코어 i7 스카이레이크X 7820X 데스크탑 PC에서 진행하였다. 실험을 위하여 R과 Matlab 라이브러리를 사용하여 인공신경망 알고리즘을 구현하였다. 인공신경망에 게임 플레이어의 실전 데이터를 입력하고 출력으로 교전 또는 교전 회피의 추천 결과를 얻어내어 게임에 활용하였다.

제시하는 알고리즘의 성능 평가를 위해서는 베틀그라운드 게임에서 플레이어의 게임 정보(플레이어와 교전 상대방의 4가지 승부요소 정보 등)를 실시간으로 획득하는 것이 가장 좋으나, 베틀그라운드 게임 시스템 내부 접근의 어려움 등으로 실험을 오프라인으로 진행하였다. 게이머가 게임을 진행하면 실전 게임 정보를 오프라인으로 인공신경망에 입력하여 결과로 출력되는 교전 추천여부를 게임 플레이에 활용하는 방식으로 알고리즘 성능 평가를 진행하였다. 향후, 게임 개발사에 협력을 요청하여 게임 플레이와 추천 알고리즘을 연동하는 실시간 시스템으로 개발해 보고자 한다.

오프라인 게임의 시간 단축을 위하여, 게임을 좋아하는 학생들 12명이 모여서 2명씩 한 팀을 이루어 한 명은 실전 게이머, 다른 한 명은 인공신경망에 데이터 입력을 도와주는 역할을 번갈아 담당하며 여러 대의 PC에서 실험을 진행하였다.

4-2 성능평가

본 논문에서 제안한 교전/비교전 추천 알고리즘의 성능을 테스트 해보기 위해서 배틀그라운드 게임을 처음 시도해 보는 초급자 8명과 중급자 4명을 포함하여 총 12명을 대상으로 각각 10회씩 총 120회의 실험을 진행하였다. 다른 변수를 가능한 한 고정시키기 위하여 동일한 환경에서 동시에 진행하였다. 모든 실험에서 제안된 교전 추천 알고리즘을 적용하기 전 5회, 적용 후 5회를 진행하였다. 무기 숙련도 미숙으로 인한 영향을 최소화하기 위하여 플레이어 4부터는 실험 전에 게임을 여러 번 연습하는 기회를 제공하였고, 그 결과 성능 향상을 확인할 수 있었다.

먼저, 초급 플레이어 8명을 대상으로 실험을 진행하고 표 6과 같은 결과를 얻었다. 표 6은 각 테스터에 대해서 교전 추천 이전 게임 5회, 이후 5회에 관하여 교전 횟수, 교전 회피 횟수, 그리고 순위(rank) 데이터를 보여준다. 여기에서 순위 데이터는 플레이어가 살아남은 순서로서 0~100 사이의 값을 갖게 된다. 실험자 대부분의 경우, 제안된 추천 시스템을 적용하기 전보다 적용 후 등수가 지속적으로 상승하는 경향을 확인할 수 있다. 한편, 실험자의 게임 성향이나 게임을 이해하는 정도, 습득하는 정도에 따라서 다소 차이가 발생하는 점도 발견할 수 있다.

Results of Six of Beginner-level Testers

초보 게이머 순위의 상승 또는 하락의 방향성을 보이기 위하여 플레이어 3명에 대해서 교전 추천 전 5 게임과 교전 추천 후 5 게임의 순위를 그래프로 표현하였다. 그림 11에서 볼 수 있듯이, 초급 플레이어 1의 경우 제안된 추천 시스템을 적용하기 전보다 적용 후 등수가 지속적으로 상승하는 모습을 보였으며 마지막 10번째에는 24등 안에 드는 등 높은 순위에 기록되는 모습을 확인할 수 있었다.

Fig 11.

Result Graph of A Beginner 1

그림 12와 같이, 초급 플레이어 2의 경우 시스템을 적용하기 전 지속적으로 상승하는 모습을 보이다가 추천 시스템을 적용한 첫 게임에서 다소 부진한 성적을 거둔 것으로 확인되었다. 이는 제안된 시스템에 적용하는 과정에서 ‘교전’을 추천한 결과 무기 숙련도 미숙으로 인한 것으로 판단된다. 이 후 지속적으로 상승하는 모습을 보이고 있다.

Fig 12.

Result Graph of A Beginner 2

그림 13과 같이, 초급 플레이어 3의 경우 첫 게임에서 모두 비교전을 하면서 회피하는 플레이를 통해 순위 45위라는 높은 결과를 보였으나 이후 플레이에서는 낮은 순위를 기록하였다. 플레이어 3에게 추천 알고리즘을 적용한 결과 적용 전보다 순위가 소폭 상승하는 모습을 확인할 수 있다.

Fig 13.

Result Graph of A Beginner 3

두 번째 실험으로써, 게임 경험이 어느 정도 있고 다소 숙련되어 있는 레벨 50 정도를 보유한 중급 게이머를 대상으로 실험을 진행하고 표 7과 같은 결과를 얻었다. 동일한 실험환경을 설정하기 위하여 알고리즘이 추천하는 교전 여부를 따르도록 게이머들에게 설명하였다. 그러나 상황에 따라서 중급자들은 제안하는 교전 추천을 따르기도 하고, 때로는 본인의 판단에 따라 게임을 진행하기도 한다는 것을 발견하였다.

Results of 4 Middle-level Testers

중급자 순위의 경향을 가시적으로 확인하기 위하여 표 7을 그래프로 표현하였다(그림 14). 실험결과를 통해, 실험자 대부분이 제안된 추천 알고리즘을 적용하기 전보다 적용 후 순위가 어느 정도 상승하는 경향을 확인할 수 있다. 그러나 초급자 보다는 중급자의 순위 상승 정도가 더 낮은 것을 확인할 수 있다. 특히, 중급 게이머 4의 경우 교전 추천 전과 후에 큰 차이가 없음을 확인할 수 있는데, 이는 게이머가 교전 추천 결과를 일부 따르지 않고 게임을 진행하였기 때문이다.

Fig 14.

Result Graph of 4 Middle-level Testers

12명의 실험자를 통해 본 논문이 제시한 추천 알고리즘이 어느 정도 성능을 보이고 있음을 검증하였다. 그러나 실험을 통해 알고리즘에 사용된 무기 데이터, 거리 요소, 지형 요소 이외에 게임 맵 요소, 탈 것, 보급품 등 다른 요인에 대한 고려가 필요하다고 판단한다. 그 이유는 플레이어 중 한 명이 상대방의 무기에 죽은 것이 아닌 차량에 부딪혀 사망한 경우가 발견되었기 때문이다. 그러나 해당 데이터를 수집하기 어려운 점을 고려하여 향후 반복적인 게임 플레이를 통해 좀 더 많은 다양한 데이터를 수집할 필요성을 느꼈다.


Ⅴ. 결론 및 향후연구

본 논문에서는 인공신경망을 이용하여 배틀그라운드 게임 내 상황에 따른 교전 여부 추천 알고리즘을 제안하였다. 배틀그라운드에서 제공하는 승률 데이터나 교전 여부 데이터를 탐색하였으나 관련 정보를 공개하고 있지 않아서 온라인 커뮤니티 상에 유저들이 게임 진행을 통해 수집하여 업로드한 데이터를 사용하였다. 이 데이터는 형식이 모두 다르고 정보의 일부가 누락되어 있으며 전체 데이터양도 부족한 불완전한 데이터라는 특성을 가지고 있어서 훈련 데이터를 구축하는 방법론이 중요하다.

훈련 데이터 구축을 위하여 무기의 데미지와 방어구의 데미지 감소율을 계산하여 상대방과 조우할 시에 데미지 컷을 계산하여 우위에 점하는지를 측정하였다. 또한 지형 요소를 고려하여 상대방보다 고지대에 위치할 때 유리하다고 판단하였으며, 무기의 최대 유효 사정거리 데이터를 이용하여 게임 상황에 따라 거리에 따른 우위를 계산하였다. 계산된 값을 기반으로 교전 여부를 추천하는 알고리즘을 구축하였으며 이를 통해 랜덤으로 선정된 게임 상황에 따른 교전 결과 데이터를 학습 데이터로 사용하였다.

인공신경망에 학습 데이터를 학습시킨 후 이를 검증하기 위해 8명의 초급자와 4명의 중급자를 대상으로 각각 10회씩 총 120회의 실험을 진행하였다. 각 실험자마다 추천 알고리즘 적용 전과 후 각각 5회, 총 10회를 진행하여 순위를 통해 그 결과를 분석하였다. 그 결과 게임 초급자에게 추천 알고리즘이 성능을 보이는 것으로 나타났다. 게임 중급자의 경우, 이미 무기 선택 및 사용에 어느 정도 경험과 지식이 있어서 알고리즘이 큰 성능을 보이지는 않았다. 실험을 통해 본 논문에서 알고리즘에 적용된 요소를 제외한 게임 내 요소(게임 맵 요소, 차량, 보급품 등)를 추가로 고려할 필요성을 발견하였다. 향후 이러한 다양한 요소들을 고려한 정교한 모델을 개발함으로써 그 성능이 더욱 높아질 것이라고 기대하고 있다.

Acknowledgments

이 논문은 2016년도 성신여자대학교 학술연구조성비 지원에 의하여 연구되었음.

References

  • https://playbattlegrounds.com/
  • http://guide.pubg.game.daum.net/?page_id=22
  • https://goo.gl/fFkrGn
  • http://www.steampowered.com
  • Sang-Won Kim, and Sung Hoon Jun, "An Artificial Neural Network-based Hero Character Recommendation using Incomplete Game Result Data of Overwatch", Journal of Korean Institute of Intelligent Systems, 27(3), p268-275, June), (2017. [https://doi.org/10.5391/jkiis.2017.27.3.268]
  • Linh Van Ma, Sanghyun Park, Jong-hyun Jang, Jaehyung Park, and Jinsul Kim, "Fuzzy Decision Making-based Recommendation Channel System using the Social Network Database", Journal of Korea Digital Contents Society, 17(5), p307-316, (2016). [https://doi.org/10.9728/dcs.2016.17.5.307]
  • Byung-Ik Ahn, Ku-Im Jung, and Hye-Rim Choi, "Mobile Context Based User Behavior Pattern Inference and Restaurant Recommendation Model", Journal of Digital Contents Society, 18(3), p535-542, (2017).
  • Heeyoul Choi, Yunhee Kang, and Myungju Kang, "Pet Shop Recommendation System based on Implicit Feedback", ournal of Digital Contents Society, 18(8), p1561-1566, (2017).
  • JiHoon ParkO, Hogyoun Jeong, and HongRyeon Ru, "Personalized travel schedule creation system based on recommendation system", Journal of The Korea Society of Computer and Information(JKSCI), 25(1), p105-108, (2017).
  • Myung-Duk Hong, Kyeong-Jin Oh, Myung-Hyun Ga, Geun-Sik Jo, "Content‐based Recommendation Based on Social Network for Personalized News Services", Journal of Korean Institute of Intelligent Information System, 19(3), p57-71, (2013). [https://doi.org/10.13088/jiis.2013.19.3.057]
  • Hyunchul Ahn, Kyoung Jae Kim, and Ingoo Han, "Using GAs to Support Feature Weighting and Instance Selection in CBR for CRM", Information Systems Review, 11, p516-525, (2005).
  • Meekyeong Kim, and Chuleui Hong, "The Artificial Neural Network based Electric Power Demand Forecast using a Season and Weather Informations", Journal of The Institute of Electronics and Information Engineers, 53(1), p71-78, Jan.), (2016. [https://doi.org/10.5573/ieie.2016.53.1.071]
  • Kang, Jung Eun, and Lee, and Moung-Jin, "Analysis of Urban Infrastructure Risk Areas to Flooding using Neural Network in Seoul", Journal of the Korean Society of Civil Engineers, 35(4), p997-1006, August), (2015. [https://doi.org/10.12652/ksce.2015.35.4.0997]
  • Inwhee Joe, and Moonwon Choi, "A Neural Network-based Artificial Intelligence Algorithm with Movement for the Game", Korea Institute of Communication Sciences, 35(12), p1181-1187, (2010).
  • Hye Min Park, and Hae Won Byun, “Neural Network based Battle Recommendation for Battleground Game”, Bachelor Thesis, (2018).
  • http://battlegrounds.party/weapons/?weapon=MicroUZI&armor=0&helmet=0&distance=10&htk=dmg&pel=true
  • https://pubg.me/weapons/assault-rifles
  • https://pubg.gamepedia.com
  • https://goo.gl/3AuPZD
  • Tariq Rashid, A Gentle Introduction to Neural Networks, Agile On the Beach, (2017).

저자소개

박혜민(Hye-Min Park)

2017년 : 성신여자대학교 통계학과 (이학사)

2014년 ~ 2017년: 성신여자대학교 통계학과

※관심분야: 컴퓨터 그래픽스(Computer Graphics), 게임(Game), 머신러닝(Machine Learning) 등

변혜원(Hae-Won Byun)

1990년 : 연세대학교 전산과학과 (이학사)

1992년 : KAIST 컴퓨터공학과 (공학석사-컴퓨터 그래픽스)

2004년 : KAIST 컴퓨터공학과 (공학박사-컴퓨터 그래픽스)

1992년 ~ 1996년: KBS 방송기술연구소

2006년 ~ 현 재: 성신여자대학교 정보시스템공학과 교수

※관심분야: 컴퓨터 그래픽스(Computer Graphics), 게임(Game), 빅데이터 가시화(Big Data Visualization) 등

Fig 1.

Fig 1.
Battleground Play[3]

Fig 2.

Fig 2.
Online Community Weapon Data(Inven)[16]

Fig 3.

Fig 3.
Online Community Weapon Data(PUBG.me)[17]

Fig 4.

Fig 4.
Flow Chart of Battle Recommendation Algorithm

Fig 5.

Fig 5.
Assault Rifles[18]

Fig 6.

Fig 6.
Sniper Rifles

Fig 7.

Fig 7.
Submachine Guns

Fig 8.

Fig 8.
(Left) Light Machine Gun, (Right) Shotguns

Fig 9.

Fig 9.
Pistols

Fig 10.

Fig 10.
Structure of ANN

Fig 11.

Fig 11.
Result Graph of A Beginner 1

Fig 12.

Fig 12.
Result Graph of A Beginner 2

Fig 13.

Fig 13.
Result Graph of A Beginner 3

Fig 14.

Fig 14.
Result Graph of 4 Middle-level Testers

Table 1.

Base Damage of Weapon

Index Category Weapon Body Damage Head Damage
0 AR AKM 48 120
1 Groza 48 120
2 M16A4 41 102.5
3 M416 41 102.5
4 SCAR-L 41 102.5
5 SR Mini 14 44 110
6 Mk14EBR 60 150
7 SKS 55 137.5
8 AWM 132 330
9 Kar98 72 180
10 M24 84 210
11 VSS 35 87.5
12 SMG Micro UZI 23 57.5
13 Tommy Gun 38 95
14 UMP9 35 87.5
15 Vector 31 77.5
16 Shotguns S12K 22 600
17 S1897 25 600
18 S686 25 600
19 LMG M249 44 110
20 Pistols P18C(Glock) 19 47.5
21 P1911 35 87.5
22 P92 29 72.5
23 R1895 46 115

Table 2.

Defense Damage Reduction Rate

Defense without defense Level 1 Level 2 Level3
Reduction rate 0% 30% 40% 55%

Table 3.

Maximum effective range of weapon

Index Weapon Range Index Weapon Range
0 AKM 400 mid 12 Micro UZI 200 short
1 Groza 400 mid 13 Tommy Gun 200 short
2 M16A4 500 mid 14 UMP9 300 short
3 M416 600 long 15 Vector 50 short
4 SCAR-L 600 long 16 S12K 25 short
5 Mini 14 600 long 17 S1897 25 short
6 Mk14EBR 800 long 18 S686 25 short
7 SKS 800 long 19 M249 500 mid
8 AWM 1000 long 20 P18C(Glock) 25 short
9 Kar98 600 long 21 P1911 25 short
10 M24 800 long 22 P92 25 short
11 VSS 100 short 23 R1895 25 short

Table 4.

Part of Training Data

no User_Weapon Enemy_Weapon User_Body_Protect Enemy_Body_Protect User_Head_Protect Enemy_Head_Protect distance ground result
1 AKM M24 Level 3 Level 3 Level 3 Level 3 short bad avoid battle
2 AWM M249 Level 0 Level 1 Level 0 Level 1 long good do battle
3 Mk14EBR Mk14EBR Level 3 Level 3 Level 1 Level 1 long good do battle




















999 AKM M16A4 Level 3 Level 0 Level 2 Level 1 long bad do battle
1000 Groza AWM Level 2 Level 0 Level 0 Level 2 long bad avoid battle

Table 5.

Transformation of Weapon data

Before After Before After
0 0.01 12 0.51
1 0.05 13 0.55
2 0.09 14 0.59
3 0.13 15 0.63
4 0.17 16 0.67
5 0.21 17 0.71
6 0.26 18 0.76
7 0.30 19 0.80
8 0.34 20 0.84
9 0.38 21 0.88
10 0.42 22 0.92
11 0.46 23 0.96

Table 6.

Results of Six of Beginner-level Testers

Tester 1   Tester 2
Apply no Battle Avoid Rank Apply no Battle Avoid Rank
Before 1 1 5 72   Before 1 1 0 97
2 0 6 63   2 0 3 86
3 0 2 65   3 1 0 76
4 1 0 89   4 0 1 55
5 1 4 50   5 0 4 67
After 6 2 6 54   After 6 1 2 89
7 3 3 45   7 2 0 71
8 2 1 74   8 1 0 60
9 2 1 62   9 0 4 57
10 1 2 24   10 1 0 73
Tester 3   Tester 4
Apply no Battle Avoid Rank Apply no Battle Avoid Rank
Before 1 0 5 45   Before 1 1 2 88
2 1 0 83   2 0 2 84
3 1 0 98   3 1 0 74
4 1 2 66   4 1 1 82
5 1 3 72   5 2 1 72
After 6 1 0 78   After 6 1 2 80
7 2 0 53   7 2 0 78
8 1 1 67   8 2 1 76
9 1 2 63   9 1 2 63
10 1 1 58   10 1 4 60
Tester 5   Tester 6
Apply no Battle Avoid Rank Apply no Battle Avoid Rank
Before 1 0 2 90   Before 1 1 5 75
2 0 2 62   2 0 6 70
3 0 3 82   3 1 0 79
4 1 2 83   4 1 2 74
5 1 1 72   5 0 1 77
After 6 1 1 72   After 6 0 1 74
7 2 4 60   7 0 1 74
8 2 1 62   8 2 4 56
9 0 1 75   9 2 1 69
10 2 2 60   10 3 3 53
Tester 7   Tester 8
Apply no Battle Avoid Rank Apply no Battle Avoid Rank
Before 1 1 1 83   Before 1 0 3 89
2 1 1 85   2 0 3 84
3 1 0 82   3 0 2 79
4 2 2 80   4 1 3 79
5 0 3 82   5 1 2 76
After 6 1 2 61   After 6 0 2 66
7 1 2 77   7 1 2 72
8 1 3 63   8 2 1 70
9 2 1 62   9 1 1 65
10 2 1 59   10 1 2 66

Table 7.

Results of 4 Middle-level Testers

Tester 1   Tester 2
Apply no Battle Avoid Rank Apply no Battle Avoid Rank
Before 1 3 2 55   Before 1 2 2 60
2 2 2 54   2 1 4 59
3 3 4 57   3 1 1 63
4 2 1 49   4 2 3 66
5 1 4 50   5 3 5 54
After 6 2 4 44   After 6 2 3 43
7 2 3 48   7 1 3 46
8 1 3 54   8 2 2 50
9 3 0 43   9 3 3 40
10 4 1 40   10 2 4 42
Tester 3   Tester 4
Apply no Battle Avoid Rank Apply no Battle Avoid Rank
Before 1 2 4 55   Before 1 2 3 52
2 3 3 44   2 3 3 51
3 5 1 52   3 3 1 60
4 2 2 50   4 2 3 55
5 1 3 49   5 4 2 49
After 6 2 2 45   After 6 0 4 52
7 3 2 42   7 3 2 51
8 3 2 44   8 0 3 47
9 2 4 50   9 3 3 52
10 1 5 41   10 2 4 50