직업계수표

겜조뉴스

copyright 2009(c) GAMECHOSUN

게임조선 네트워크

주요 서비스 메뉴 펼치기

커뮤니티 펼치기

게임조선

[기자수첩] 카톡 확인하고 왔더니 튕긴 게임, 백그라운드와 포어그라운드

작성일 : 2018.08.07

 

백그라운드 실행 = 본 이미지의 게임은 해당 기사와 관련이 없습니다

 

피처폰에서 스마트폰으로 넘어오면서 우리 일상에서부터 사회에 이르기까지 많은 변화가 생겼는데 게임 산업도 큰 영향을 받았다.

 

콘솔과 PC온라인게임 중심에서 변방이었던 모바일게임이 대세가 되며 현재 게임 시장에서 가장 뜨거운 곳은 모바일게임 부문이다.

 

모바일게임은 스마트폰과 태블릿 PC, PC 앱플레이어 등을 기반으로 발전하고 있는 가운데 그 가운데 가장 빈번하고 자주 사용되는 디바이스는 단연 스마트폰이다.

 

스마트폰은 '게임기'이기 이전 전화기이자 모바일메신저, 여러 애플리케이션(이하 앱) 등을 사용하는 기기인 만큼 게임을 하다가 백그라운드를 자주 활용하는 경우가 많을 수밖에 없다.

 

게임 도중 화면을 이탈했다가 특정 활동을 하고 게임으로 복귀했을 때 대다수가 한 번쯤은 게임으로 원활하게 복귀하지 않고 강제 종료되는 '튕김' 현상을 경험해봤을 것으로 보인다.

 

그런데 이러한 현상에서 게임마다 차이를 보였다. 어느 게임은 꽤 오랜 접속을 유지할 수 있는가 하면 또 다른 게임은 백그라운드로 이동 자체가 게임이 먹통이 돼버리는 경우도 있는 것. 관련해 기자는 '왜'라는 의문점이 들었고 이와 관련해 발생 원인과 개선을 할 수 있는지에 대한 여부를 복수의 게임 개발사에 문의해봤다.

 

먼저 복수의 게임을 서비스 중인 A게임사는 용어 정의부터 설명해줬다. A사는 Foreground(포어그라운드)와 Background(백그라운드)로 구분했다. 포어그라운드는 내가 실행하고 있는 앱이 화면에 보이는 상태를 뜻하고 백그라운드는 화면에 보이던 앱이 다른 앱의 실행으로 인해 내려간 상태(실제 꺼지지는 않았지만 화면에 보이지 않는 상태)라고 정의했다.

 

튕김 현상에 대해서는 게임 서버와 싱크 문제, 앱별 화면 해상도 조정, 코드 구현 상의 문제로 구분했다.

 

게임이 백그라운드로 내리는 경우 포어그라운드에서 진행하던 게임 서버와의 통신이 완료되지 않은 채 종료됨으로 충돌이 발생할 수 있다고 설명했다. 특히 반드시 수행돼야 하는 통신이 수행되지 못할 경우 충돌해 튕김현상이 발생할 가능성은 커진다.

 

백그라운드에서 포어그라운드로 전환시 지연 현상도 있다 = 게임조선 촬영

 

또 백그라운드로 내렸다가 한참 시간이 지난 후에 포어그라운드로 돌아왔을 때 백그라운드로 내려간 상태로 주고받던 데이터가 한꺼번에 실행되면서 지연 현상이나 충돌이 발생할 수 있다고. 이는 화면에 보여지고 있는 앱에 최대한 자원을 제공하는 OS의 정책에 따른 것이라 했다.

 

그 외 모바일 OS에서 카카오톡이나 문자 등 새로운 앱을 실행하기 위한 자원이 충분하지 못한 경우 백그라운드로 내려가 있는 게임을 강제 종료한다.

 

또한 앱들은 서로 다른 해상도를 사용할 수 있는데 앱 간 전환인 경우에 변경된 화면 정책에 따라 전체를 새로 그려져야 하므로 지연 현상이 생길 수 있다.

 

끝으로 모바일 앱이 백그라운드와 포어그라운드 전환 시에 별도로 프로그래머가 구현해줘야 할 내용이 있는데 다양한 상황에서 이 전환이 되는 것의 모든 경우에 대한 테스트가 힘들기 때문에 코드 구현상 결함을 잘 발견하지 못하는 경우가 있을 수 있다.

 

예를 들어 상점에서 백그라운드←→포어그라운드 전환을 하면 문제가 없으나 PVP에서는 전환 시에는 문제가 될 여지가 있다.

 

마찬가지로 다수의 게임을 서비스하는 B사는 게임 중 백그라운드로 내렸다가 일정 시간(1~5분 정도) 이후 접속을 종료하게 된다고 설명했다. 이를 세션 시간이라고 하는데 게임에 접속한 캐릭터가 아무런 행동이 일어나지 않을 때 즉시 사망할 수 있기 때문에 일시적으로 접속을 차단한다는 것.

또한 네트워크 단절을 통해서 해킹이나 복사 이슈가 발생할 수 있어 대부분의 경우 접속을 일시 차단한다고 덧붙였다.

 

MMORPG를 서비스하는 C사는 튕김 현상에 대해 개발사마다 서버 설정에 따른 차이인데 백그라운드로 나갔을 때 서버를 차단하는 경우와 계속 연결하는 경우로 보면 된다고 했다. C사의 게임은 후자의 경우로 최소 시간에 대한 설정할 계획이라 덧붙였다.

 

횡스크롤RPG를 개발한 D사는 A사의 답변처럼 프로그램 실행 자원에서 백그라운드에 있는 게임을 강제로 종료시키는 현상이며 특정 경우를 제외하고 대부분은 일정 시간 활동이 없을 경우 서버에서 접속을 끊는다고 했다. 그런데 D사의 게임의 경우 게임 내 팝업이 떠있는 경우 꽤 오랜 접속을 유지할 수 있는데 이는 (개발사에서 몰랐던) 버그라 했다.


 
턴제RPG를 개발한 E사의 게임은 백그라운드에서도 게임 접속이 꽤 오랜 시간 유지되는 편인데 오히려 이러한 부분을 전혀 인지 못하고 있었다.

 

종합해보면 OS의 기능에서 자원이 부족할 경우 백그라운드에서 실행 중인 앱을 종료시키고 게임에 따라 백그라운드 전환 시 서버 접속을 완전히 차단하거나 일정 시간을 유지시키는 경우로 나뉘었다.

 

이 모두가 스마트폰이 게임기이기 이전 전화기 이자 다양한 앱을 실행시키기 위한 기기이기 때문인데 요즘 게임은 덩치도 크고 로딩도 길어 재접속에 대한 부담이 있는 편이다 보니 이용자들은 그래도 간단하고 짧은 활동에는 보안상 큰 문제가 없다면 게임 접속이 유지됐으면 하는 바람이 있을 법하다.

 

[이관우 기자 temz@chosun.com] [gamechosun.co.kr]

ⓒ기사의 저작권은 게임조선에 있습니다. 허락없이 무단으로 기사 내용 전제 및 다운로드 링크배포를 금지합니다.

이관우 기자의

SNS
공유

댓글 0