DOI QR코드

DOI QR Code

Mobile Shooting Game with Intuitive UI and Recommendation function

직관적 UI와 추천 기능을 가진 모바일 슈팅 게임

  • 김준수 (한성대학교 컴퓨터공학부) ;
  • 정구일 (한성대학교 컴퓨터공학부) ;
  • 윤석준 (한성대학교 컴퓨터공학부) ;
  • 정인환 (한성대학교 컴퓨터공학부) ;
  • 이재문 (한성대학교 컴퓨터공학부) ;
  • 황기태 (한성대학교 컴퓨터공학부)
  • Received : 2023.07.18
  • Accepted : 2023.10.06
  • Published : 2023.10.31

Abstract

Mobile shooting games are a representative example of PC games being transferred as they are. In the most mobile shooting games, joystick-like UI used in PC games have been moved to touch buttons, but the display is small, so the user's fingers cover the game screen, which is inconvenient. In mobile shooting games, in order to overcome the limitations of the small display and increase the immersion of the game, this paper introduces a user interface that integrates character movement and aiming, and intuitive UIs such as display rotation, shaking, and vibration. In addition, by analyzing the match process for each round, the character's insufficient abilities are identified and synergies to supplement the abilities are recommended in order to add fun to the game. This paper proved that the proposed goals are achieved by actually designing and implementing a mobile shooting game with the proposed functions on an Android smartphone.

모바일 슈팅 게임은 PC 게임이 그대로 옮겨진 대표적인 사례이다. 현재 대부분의 모바일 슈팅 게임에서 PC 게임에 사용되었던 조이스틱과 같은 UI가 터치버튼으로 옮겨졌지만, 모바일 장치의 디스플레이가 작기 때문에 사용자의 손가락이 게임 스크린을 가리는 불편함이 그대로 나타나고 있다. 본 논문은 모바일 슈팅 게임에 있어, 작은 디스플레이의 한계를 극복하고 게임의 몰입감을 높이기 위해, 캐릭터 이동과 조준을 통합한 UI와 디스플레이 회전, 흔들기, 진동 등의 직관적 UI를 도입한다. 또한 라운드마다 지난 경기를 분석하여 캐릭터의 부족한 능력을 파악하고 능력을 보충할 시너지를 추천하여 게임의 재미를 더한다. 본 논문은 이러한 기능을 가진 모바일 슈팅 게임을 안드로이드 스마트폰에서 실제로 설계하고 구현하여 논문에서 제시한 목적들이 성취됨을 증명하였다.

Keywords

Ⅰ. 서론

모바일 장치의 성능 향상으로 고성능 3D 게임의 원활한 구동이 가능해짐으로 인해 모바일 장치들을 위한 게임들이 속속 등장하였고[1,2,3], 한편 PC 게임들도 그대로 모바일 환경으로 출시되어 PC 게임에 익숙한 사용자들이 모바일에서도 동일한 게임을 즐길 수 있게 되었다[4].

하지만, PC 게임이 모바일 장치로 그대로 옮겨질 때 UI에 어려움이 있다. PC에서 사용되는 키보드나 마우스, 혹은 조이스틱이 모바일 장치에 없기 때문에, 이들을 게임 그래픽에 출력되는 터치스크린 위에 버튼으로 두게되었고, 이에 따라 사용자의 손가락이 게임 그래픽의 화면을 가리는 불편함이 존재한다. 이것은 사용자의 조작 실수 가능성을 높이는 부작용을 일으킨다.

한편, PC에서 모바일로 옮겨진 대표적인 사례가 배틀그라운드, 콜 오브 듀티, 레인보우 식스 등이다. 현재 출시된 많은 모바일 슈팅 게임은 PC 슈팅 게임이 그대로 옮겨진 형태로서, 많은 버튼들이 터치스크린을 가리고 있으며, 버튼만으로 게임이 구동되는 등 UI가 매우 단순한 형태이다[5,6].

본 연구는 기존의 모바일 슈팅 게임이 가진 UI의 단순성을 극복한 새로운 모바일 슈팅 게임을 제안하고 구현한다. 본 논문의 구체적인 목적은 다음과 같다.

첫째, PC 슈팅 게임을 그대로 옮겨온 모바일 슈팅 게임의 UI와 달리, 1개의 버튼만으로 캐릭터 위치 조작과 총 조준을 동시에 할 수 있는 게임 UI를 제안하고 구현한다. 둘째, 슈팅 게임의 단순 버튼 입력의 한계를 넘어 터치스크린을 가리지 않으면서도 재미를 더하고 게임 몰입감을 높이기 위해 화면 회전, 흔들기, 진동 등 직관적 UI를 도입한다. 셋째, 게임 사용자들, 특히 초보 사용자들에게 다양한 재미를 주기 위해, 각 라운드마다 이전 라운드를 분석하여 캐릭터에 보강할 능력을 추천하는 기능을 도입한다.

Ⅱ. 설계 및 구현

1. 모바일 슈팅 게임 개요

본 논문에서 제안하고 구현하는 모바일 슈팅 게임은 1:1 게임으로, 5판 3승제, 한 판(라운드)이 2분 내에 끝나는 짧은 게임으로 설계 구현한다.

가. 무기와 스탯

무기의 종류는 권총, 자동소총, 대포, 저격총이고 이중에서 한 개 선택 가능하다. 총알은 무제한이고, 연사가능성, 파괴 범위, 정교성 등에서 서로 다른 특징을 가진다.

스탯(stat)[7]은 캐릭터의 능력을 계량화한 것으로 본 게임에서는 체력, 방어력, 속도, 회피, 공격력, 연사력, 차분, 탄속, 특화, 사거리, 탄창수, 재장전 등 12가지로 설계하였으며, 스탯 값은 0에서 255사이의 실수 값이고 255에 가까울수록 강함을 뜻한다. 여기서 ‘차분’은 조준 능력으로 클수록 정확해짐을 나타내며, ‘특화’는 무기의 특수한 능력을 나타내는 것으로 권총 경우에는 사격 시 이동 속도 증가, 자동소총 경우에는 발사 수 증가, 대포의 경우에는 탄환 터지는 범위 증가, 저격총의 경우에는 정조준 시 공격력 증가를 나타낸다.

나. 시너지

시너지(synergy)는 여러 스탯의 능력을 합친 캐릭터의 행동과 능력 특성을 뜻하는 것으로, 이 게임에서는 표 1과 같이 총 18가지의 시너지를 제공하며, 게임 사용자는 이들 중에서 선택하여 캐릭터의 능력을 보강하거나 변경한다. 시너지는 커먼, 언커먼, 레어의 3개의 그룹으로 분류하며, 매 라운드 시작 시 사용자는 18가지의 시너지 중에서 6개를 선택한다. 첫 라운드에는 사용자가 임의로 6개를 선택하지만, 2번째 라운드부터는 본 논문에서 설계 구현된 추천 시스템에 의해 추천된다.

표 1. 게임에 사용된 시너지

OTNBBE_2023_v23n5_191_t0001.png 이미지

Table 1. Synergies used in this game

다. 게임 종료

캐릭터의 수명은 HP(Health Point)로 다루어지며, 상대방의 투사체에 맞으면 감소된다. HP가 0이 되면 라운드가 종료된다. 게임 시작 후 2분이 지나면 HP가 0인 캐릭터가 없더라도 라운드가 종료되고, HP가 높은 캐릭터를 승리로 판정한다. 3개의 라운드를 먼저 이긴 사용자가 승자가 되며 게임이 종료된다.

2. 시스템 구성

본 논문에서 설계 구현한 모바일 슈팅 게임의 시스템은 그림 1과 같은 서버-클라이언트 구조이다. 클라이언트는 안드로이드 모바일 장치에서 실행되며 게임 서버는 포톤 클라우드 서버[8.9]를 활용한다. 클라이언트에는 포톤 서버와 통신하는 포톤 퓨전 라이브러리를 사용한다. 클라이언트의 사용자 입력은 포톤 퓨전 라이브러리를 통해 서버를 거쳐 상대 클라이언트로 전달되어 두 클라이언트의 게임 진행 상황이 일치되도록 동기화된다.

OTNBBE_2023_v23n5_191_f0001.png 이미지

그림 1. 시스템 개요

Fig. 1. System View

본 논문의 슈팅 게임은 유니티 프레임워크[10]를 활용한다. 유니티는 단말기의 센서로부터 회전과 가속도를 읽어온다. 또한 터치스크린으로부터 사용자의 입력을 받고, 게임을 그래픽으로 출력하는 기능을 수행한다.

3. 게임 조작 설계

가. 게임 요소와 입출력 도구

본 게임은 표 2에 나열된 8가지 요소들로 구성되며, 입출력 UI는 기본 UI와 직관적 UI의 2가지 유형으로 구분된다.

표 2. 게임 요소와 입출력 UI

OTNBBE_2023_v23n5_191_t0002.png 이미지

Table 2. Game components and user interfaces

기본 UI는 PC의 조이스틱 장치를 소프트웨어로 만든 가상 조이스틱과 4개의 터치 버튼, 그리고 단순한 스크린 터치이며, 직관적 UI는 스마트폰 흔들기, 진동, 그리고 스마트폰 회전 등이다.

나. 가상 조이스틱과 4개의 터치 버튼

그림 2는 가상 조이스틱과 4개의 버튼을 보여준다. 가상 조이스틱은 어디든 사용자가 화면에 터치한 위치에 출력된다. 그러므로 사용자가 손가락 조작이 가장 편하다고 느끼는 위치에 가상 조이스틱을 배치할 수 있다. 이 기능은 고정 위치에 출력되어 화면이 가려지는 기존 게임의 단점을 극복한다. 4개의 버튼은 다음과 같은 기능으로 구현된다.

OTNBBE_2023_v23n5_191_f0002.png 이미지

그림 2. 가상 조이스틱과 4개의 터치 버튼들

Fig. 2. Virtual joystick and 4 touch buttons

(1) 자동 공격 활성화 버튼

자동 공격을 활성화한다. 이 상태에서는, 조준이 완료되면 캐릭터가 자동으로 총알을 발사한다. 총알의 발사 주기는 연사력 스탯에 의해 결정된다. 자동 공격 비활성화 상태에서는, 조준이 완료되어도 캐릭터가 자동으로 총알을 발사하지 않고, 발사 버튼을 눌러야 총알이 발사된다.

(2) 재장전과 회피 버튼

재장전 버튼을 클릭하면 총알을 재장전하고, 회피 버튼을 클릭하면 캐릭터가 이동했던 마지막 방향으로 빠르게 이동하여 총알을 회피한다.

(3) 정조준 버튼

캐릭터가 사격 모드를 정조준으로 전환한다. 정조준 모드에서는 드래그를 통해 사격 위치를 조준할 수 있다. 드래그를 마치는 순간 해당 위치로 총알이 발사되고 정조준을 종료한다.

다. 이동과 조준의 결합

본 게임의 중요한 특징 중 하나가 이동과 조준을 하나의 UI로 결합하였다는 점이다. 그림 3과 같이 사용자의 캐릭터는 가상 조이스틱에 입력된 방향으로 움직이며 동시에 중앙에 위치한 조준점은 가상 조이스틱의 반대 방향으로 움직인다. 조준점은 중앙에서 일정 범위 이상으로 벗어날 수 없고, 가상 조이스틱의 입력이 없어지면 다시 중앙으로 이동한다.

OTNBBE_2023_v23n5_191_f0003.png 이미지

그림 3. 이동과 조준의 결합

Fig. 3. Combination of movement and aim

4. 직관적 UI

본 논문에서 도입한 직관적 UI는 게임에 대한 사용자의 몰입감을 높이고 게임 조작을 익히기 쉽고, 행하기 빠르게 한다.

가. 화면 회전

화면 회전 UI는 그림 4와 같이 사용자가 스마트폰을 기울여서 게임 내 주변 환경을 신속하게 관찰할 수 있게 한다. 이 기능은 추가적인 버튼으로 스크린을 가리지 않으며, 버튼 클릭 시간 소모와 번잡함을 해소하는 장점을 제공한다. 또한 사용자가 게임 내 세상을 촬영하는 느낌을 받게 되어, 몰입감이 높아진다. 그림 4(a)는 회전 전의 화면이고 그림 4(b)는 스마트폰을 기울일 때의 화면이다.

OTNBBE_2023_v23n5_191_f0004.png 이미지

그림 4. 화면 회전

Fig. 4. Display rotation

나. 흔들기

사용자가 스마트폰을 흔들면 캐릭터의 회피 지시가 발생하며, 캐릭터가 빠른 속도로 최근 움직이던 방향으로 이동하여 총알을 피한다.

다. 진동 피드백

기존의 슈팅 게임들은 캐릭터의 HP가 일정 이하로 떨어지면, 시야가 붉어지는 시각적인 자극이나 청각적인 자극으로 사용자에게 알려준다.

하지만 본 게임에서는 더 높은 몰입감을 위해 HP가 일정 이하로 떨어진 위험 감지 시와 캐릭터가 총알에 피격되었을 때, 스마트폰 진동 기능을 이용하여 촉각을 자극한다. 사용자는 게임을 진행하는 동안 촉각 자극으로부터 더 큰 긴장감을 갖고 게임에 몰입할 수 있다.

5. 추천

가. 추천 정의

게임 내에서 스탯은 체력, 방어력, 속도, 회피, 공격력, 연사력, 차분, 탄속, 특화, 사거리, 탄창 수, 재장전 등 12개의 요소로 구성되는 벡터이다. 캐릭터의 각 스탯은 사용자가 개별적으로 결정할 수 없고, 표 1의 시너지를 선택함으로써 결정된다. 어떤 스탯의 값을 올리는 것은 곧 어떤 시너지를 선택하느냐에 따라 달려있다.

본 논문에서의 추천은 다음과 같이 정의한다. 각 라운드의 끝에 캐릭터의 부족한 능력(스탯)들을 분석하고, 이 부족한 능력을 보충함에 있어 18개의 시너지들의 적합성을 순위로 매겨 제공하는 것이다. 사용자는 순위가 매겨진 18개의 시너지 중에서 6개를 선택하며, 이들에 의해 캐릭터의 12개 스탯 값이 변하게 된다.

나. 추천과 스탯 변화를 포함한 게임 흐름

본 논문에서 스탯은 12개의 원소로 구성된 벡터로 다루고, 18개의 각 시너지는 12개의 스탯에 대한 변화 값을 가지므로 시너지는 18x12의 2차원 벡터로 다루며 synVec로 부른다.

본 논문의 슈팅 게임이 진행되는 과정에서 추천의 과정을 포함하여 캐릭터가 가진 스탯 값의 변화 과정은 그림 5와 같다. 게임이 시작할 때 초기에 주어진 12개 스탯으로 구성된 벡터를 sVec라고 부르며, 각 스탯 값은 10으로 초기화한다.

OTNBBE_2023_v23n5_191_f0005.png 이미지

그림 5. 추천과 스탯 변화를 포함한 게임 흐름

Fig. 5. Game flow including recommendations and stat changes

(step1) 현재 라운드에서 사용할 스탯 벡터는 esVec라고 부른다. sVec에 6개의 시너지를 적용하여 esVec를 계산한다. 예를 들어 시너지 1을 현재 sVec에 적용하면 속도와 연사력 스탯을 3 증가하고, 공격력 스탯을 2 감소시킨다. 게임 시작 시에는 사용자가 임의로 6개의 시너지를 선택한다.

(game running) 그리고 게임이 진행된다. 본 논문에서 구현된 슈팅 게임은 게임이 진행되는 동안 표 3과 같은 6개의 행동에 대한 카운트 값을 저장한다. 표 3은 6개의 행동과 카운트의 샘플을 보여준다. 게임 구현에서 행동들은 6개의 값을 가진 actionVec으로 다룬다.

(step2) 라운드가 종료되면, actionVec를 참고하여 보강해야 할 스탯을 파악하고, 각 스탯마다 보강의 중요성을 나타내는 가중치 벡터, weightVec를 결정한다. weightVec의 크기는 스탯 벡터의 크기와 동일한 12개이며 0~1사이의 실수이다. 1에 가까울수록 보강의 필요성이 높음을 나타낸다.

표 3. 행동과 카운트 사례

OTNBBE_2023_v23n5_191_t0003.png 이미지

Table 3. Sample of Action and Counter​​​​​​​

(step3) weightVec을 결정한 후, weightVec과 synVec을 벡터 곱을 수행하여 18개의 원소로 구성된 벡터, synRankVec를 만든다. 이 벡터의 각 원소 값은 해당 시너지를 선택하였을 때, weightVec의 필요 보강력을 만족시키는 정도를 나타낸다. 값이 클수록 보강력이 크다. synRankVec은 사용자에게 주어진다.

(step4) 사용자는 synRankVec을 참고하여 6개의 시너지를 선택한다. 그리고 다시 step1이 실행되면, 다음 라운드에서 캐릭터에게 적용될 스탯 esVec가 결정된다. step4에서 사용자가 6개의 시너지를 임의로 결정할 수 있지만, 추천 코드가 결정하여 사용자에게 제공할 수도 있는 등 다양하게 구현될 수 있다. 혹은 사용자는 추천된 synRankVec의 값을 무시한 채 첫 라운드처럼, 스스로 6개의 시너지를 선택하도록 구현할 수 있다.

6. 구현

그림 6은 게임의 실행 장면 중 일부이다.

OTNBBE_2023_v23n5_191_f0006.png 이미지

그림 6. 실행 과정 스크린 캡쳐

Fig. 6. Screen Shots of Game Running​​​​​​​

IⅤ. 결론

본 논문은 기존의 모바일 슈팅 게임과 차별화된 기능을 제안하고 구현하였다. 첫째, 기존 슈팅 게임에서 UI로 인해 게임 스크린이 가려지는 문제를 개선하기 위해, 터치 버튼의 개수를 줄이고 캐릭터의 이동과 조준을 하나로 통합하였으며, 터치 버튼의 위치를 쉽게 옮길 수 있게 하였다. 둘째, 디스플레이 회전, 흔들기, 진동 등의 직관적인 UI를 도입하여 사용자의 게임 몰입감을 높였으며, 셋째, 각 라운드마다 캐릭터 행동을 저장하고, 라운드 종료 시 캐릭터의 부족한 능력(스탯)을 분석하여 이를 보강할 수 있는 시너지를 추천하는 기능을 구현하여 게임에 재미를 더하였다. 본 논문에서 시도된 이 세 가지 기능들은 작은 디스플레이에서 실행되는 모바일 게임의 한계를 극복하고 게임 사용자들에게 다양한 재미를 주는 새로운 방향이라고 판단된다.

References

  1. Chehimi, F., Coulton, P. & Edwards, R. "Evolution of 3D mobile games development", Personal and Ubiquitous Computing, 2008, Vol. 12, pp. 19-25. https://doi.org/10.1007/s00779-006-0129-9.
  2. Wolfgang Hurst and Matthias Helder, "Mobile 3D graphics and virtual reality interaction", Proceedings of the 8th International Conference on Advances in Computer Entertainment Technology, 2011, No. 28, pp. 1-8. https://doi.org/10.1145/2071423.2071458
  3. F. Chehimi, P. Coulton and R. Edwards, "Evolution of 3D games on mobile phones", International Conference on Mobile Business, 2005, pp. 173-179. https://doi.org/ 10.1109/ICMB.2005.39.
  4. Dal Yong Jin, Florence Chee, and Seah Kim, "Transformative mobile game culture: A sociocultural analysis of Korean mobile gaming in the era of smartphones", International Journal of Cultural Studies, Vol. 18, Issue 4, 2015, pp. 413-429. https://doi.org/10.1177/1367877913507473.
  5. Jeong-Man Seo, Sang-Hoon Han, Ho Lee, "Implementation of Shooting game using collision detection algorithm of", Journal of the Korea Society of Computer and Information, Vol. 11. No. 3, 2006, pp. 187-192.
  6. Minjae Mun, Gyeore Yun, Chaeyong Park, Seungmoon Choi, ".Real-time Multimodal Audio-to-Tactile Conversion System for Playing or Watching Mobile Shooting Games". Journal of KIISE, Vol. 50, No. 3, 2023, pp. 228-242. https://doi.org/10.5626/JOK.2023.50.3.228
  7. https://namu.wiki/w/스탯
  8. https://www.photonengine.com
  9. Han-Moi Shim, Jin-Wook Bang, In-Ho Kim, "Implementation of Multi-games using Photon Server(Hide and Escape)", Proceedings of the Korean Society of Computer Information Conference, Vol. 30, No, 1, 2022, pp. 69-70.
  10. Jun LAI, Xi-liang CHEN, and Xue-zhen ZHANG. "Training an Agent for Third-person Shooter Game Using Unity ML-Agents", DEStech Transactions on Computer Science and Engineering, 2019. https://doi.org/10.12783/dtcse/icaic2019/29442.