$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

논타겟팅 AOS 온라인 게임 설계 및 구현
Design and Implementation of the NonTargeting AOS Online Game 원문보기

한국게임학회 논문지 = Journal of Korea Game Society, v.14 no.5, 2014년, pp.25 - 34  

이형구 (한국산업기술대학교 게임공학과) ,  전익재 (한국산업기술대학교 게임공학과)

초록
AI-Helper 아이콘AI-Helper

본 연구에서는 2014년 게임시장에서 최고의 점유율을 보이고 있는 AOS 장르 온라인 게임의 한계점과 이를 해결하는 개선된 설계 사항과 구현 내용을 소개한다. 제안된 게임은 기존 AOS 장르의 형식을 바탕으로, TPS 시점의 논타겟팅 형식을 추가로 접목시켜 액션성을 강조하였고 그래픽, 애니메이션, 이펙트, 사운드 등을 적절히 조화하여 게임성을 향상 시켰다. 게임 서버는 IOCP 모델의 멀티 스레드로 제작되어 많은 클라이언트들을 수용할 수 있도록 하였다. 이에 관한 클라이언트와 서버의 기술적 설계 내용을 서술한다.

Abstract AI-Helper 아이콘AI-Helper

In this paper, the weak point of AOS jenre online game which occupies the majority of Korea game market of 2014 year is analyzed and to solve the problem, the enhanced design and implementation content is introduced. The proposed game is based on the custom AOS jenre format but has the TPS view and ...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

제안 방법

  • UI는 CEGUI라이브러리[5]를 사용하였다. CEGUI라이브러리의 Editbox는 한글이 입력되지 않으므로 한/영 키를 누르면 Editbox에서 한글 입력이 가능하도록 바꾸어 한글 채팅이 가능하도록 했다.
  • DB는 MS-SQL을 사용하며, Windows내에 ODBC 관리자를 통해 SQL-Server에 액세스 하여 DB에 접근하도록 하였다. DB Query를 처리하기 위해서는 WorkerThread, TimerThread에서 발생한 Query 요구를 공유되는 메모리의 CircularQueue에 Push하고, DBThread에서는 순차적으로 Pop하여 DB서버에 Query를 전송해 DB access로 인한 서버의 응답 시간 대기 지연을 없애도록 하였다.
  • SkyX 라이브러리[4]를 이용해 하늘의 밤낮효과를 구현했고, 그에 따른 태양의 방향벡터를 계산하여 빛의 방향을 변경해주어 더욱 실감나는 날씨효과를 구현하였다.
  • 스킬의 사용은 스킬 고유 인덱스를 이용해 싱글 톤인 스킬 매니저 인스턴스에서 STL map에 저장된 스킬 정보를 find하고, 해당 스킬객체를 SkillHandler에 넘겨 처리 하게 된다. 논타겟팅 처리를 위해 공격 스킬은 6가지 타입으로 나뉘어 스킬 객체에 저장된 공격 범위와 사거리, 마나 소비, 쿨타임, 데미지 배수, 속도 등의 정보를 이용하여 계산 된다.
  • 본 게임은 윈도우 PC 플랫폼의 서버-클라이언트 구조를 가진 룸 기반의 게임으로서, 기존 AOS 장르에서 볼 수 없었던 보물 상자, 용병, 대출과 같은 새로운 컨텐츠와 TPS(Third Person Shooter)시점의 논타겟팅 액션을 통해서 게임성을 향상 시켰다.
  • 비동기적으로 발생한 I/O에서 수신 받은 데이터를 조립한 패킷과 PostQueueCompletionStatus 함수를 통해 넘겨받은 데이터는 여러개의 WorkerThread 마다 병렬적으로 처리를 하기 때문에 동기화를 통해 공유 메모리에 안전하게 접근하도록 하였다.
  • 사용자가 로그인을 시도하면 아이디와 패스워드를 DB에 Query를 전송해 결과를 리턴 받아 아이디 유효성과 기존에 이미 접속 된 유저인지를 판단한다. 접속이 가능한 유저라면 유저의 기본 정보를 리턴 받아 메모리상에 로드하고, 유저에게 전송한다.
  • 사운드 파일은 이펙트 사운드 모음 CD와 토치 라이트1 데이터 팩에서 wav 파일을 추출하고, fmod 라이브러리를 추가하여 게임에 적용하였다.
  • 카메라는 TPS (Third Person Shooting)시점으로 구현하여 캐릭터를 중심으로 회전 및 줌 인/아웃이 가능하도록 했다. 설정에 따라서 1인칭 시점, 쿼터뷰 시점(머리 위에서 일정 위치 앞을 바라보도록 함)으로 변경 할 수 있도록 개발 했다.
  • 유저의 hp, exp, 머니 등과 같이 중요한 유저 정보는 여러 스레드에서 동시에 공유 자원에 접근할 수 있고 이들 중 하나가 write할 때 발생하는 data race 현상의 문제를 해결하기 위해서 atomic 한 연산을 하도록 Interlocked API를 사용하였다.
  • 이를 개선하기 위해 본 게임은 TPS시점의 논타겟팅 전투 형식과 대출 콘텐츠, 보물 상자 등을 넣어서 좀 더 동적인 게임의 진행을 할 수 있도록 하였다. 플레이어의 숙련된 컨트롤을 통해 수치에 불과한 능력치를 뛰어 넘는, 결과를 알 수 없는 전투를 할 수 있으며, 전략적인 대출을 통해 아이템을 구입하여 상태팀과의 능력치 격차를 줄여 나갈 수도 있으며, 맵 중간 중간에 생성되는 보물 상자를 먼저 선취하여 보상 효과를 가질 수도 있도록 하였다.
  • 이펙트 파일은 Particle Universe[10] 툴을 사용 하여 스크립트로 만들어졌고, Ogre엔진과 연동되는 라이브러리를 추가하여 적용 시켰다. 샘플 스크립트 파일과 그 외 파티클 리소스는 툴을 제작한 회사에서 판매하는 데이터팩을 라이센스 비용을 지불 하고 구입하여, 일부 변형 시켜서 게임에 적용 하였다.
  • 카메라는 TPS (Third Person Shooting)시점으로 구현하여 캐릭터를 중심으로 회전 및 줌 인/아웃이 가능하도록 했다. 설정에 따라서 1인칭 시점, 쿼터뷰 시점(머리 위에서 일정 위치 앞을 바라보도록 함)으로 변경 할 수 있도록 개발 했다.
  • 카메라로부터 캐릭터 방향으로 Ray를 발사하여 다른 오브젝트가 있으면 캐릭터가 가려져 보이지 않으므로 해당 오브젝트의 알파 값을 50%로 수정해서 반투명하게 보이도록 했다. 반투명하게 된 오브젝트의 포인터를 가지고 있다가 Ray에 걸리지 않게 되면 알파 값을 복원해 반투명 효과를 해제하도록 했다.
  • 캐릭터와 오브젝트간의 충돌은 캐릭터의 이전위치에서 움직인 후의 위치로 Ray를 발사하여 직선상에 물체가 있으면 충돌이라 판정하여 움직일 수 없도록 했다. 지형과는 단순 높이만을 계산해서 갈수 있는 곳인지 없는 곳인지 판단한다.
  • 이를 개선하기 위해 본 게임은 TPS시점의 논타겟팅 전투 형식과 대출 콘텐츠, 보물 상자 등을 넣어서 좀 더 동적인 게임의 진행을 할 수 있도록 하였다. 플레이어의 숙련된 컨트롤을 통해 수치에 불과한 능력치를 뛰어 넘는, 결과를 알 수 없는 전투를 할 수 있으며, 전략적인 대출을 통해 아이템을 구입하여 상태팀과의 능력치 격차를 줄여 나갈 수도 있으며, 맵 중간 중간에 생성되는 보물 상자를 먼저 선취하여 보상 효과를 가질 수도 있도록 하였다.

대상 데이터

  • 게임 캐릭터는 3ds Max 2013을 이용하여 제작 하였다. 사용자 캐릭터는 제작기간과 게임성능을 감안해 폴리곤 5천개 전후로 제작하였고 게임내에서 다수 생성되는 몬스터의 경우 3천개 전후의 폴리곤을 사용하였다.
  • 게임 캐릭터는 3ds Max 2013을 이용하여 제작 하였다. 사용자 캐릭터는 제작기간과 게임성능을 감안해 폴리곤 5천개 전후로 제작하였고 게임내에서 다수 생성되는 몬스터의 경우 3천개 전후의 폴리곤을 사용하였다.
  • 이펙트 파일은 Particle Universe[10] 툴을 사용 하여 스크립트로 만들어졌고, Ogre엔진과 연동되는 라이브러리를 추가하여 적용 시켰다. 샘플 스크립트 파일과 그 외 파티클 리소스는 툴을 제작한 회사에서 판매하는 데이터팩을 라이센스 비용을 지불 하고 구입하여, 일부 변형 시켜서 게임에 적용 하였다.

이론/모형

  • 게임이 시작되면 플레이어는 시야를 관리하여, 자신의 시야 내에 들어 온 유저에 대해서만 각종 공격 연산과 로직 처리, 패킷 전송을 하기 때문에 시야 동기화는 자주 실행되는 만큼 그에 따른 부하가 크기에 RWLock[8]을 사용하였다.
  • 게임 상태를 관리 할 수 있도록 유한 상태 기계(FSM) 구조로 이루어져있다. 네트워크 스레드는 IOCP(Input Output Completion Port) 모델을 사용했다. 서버로부터 받은 메시지를 네트워크 스레드에서 Queue에 Push하고 메인 스레드에서 매 루프 마다 Queue에 메시지가 있는지 없는지 체크 하여 메시지가 있으면 처리하고 해당 메시지를 Queue에서 Pop 한다.
  • 제안되는 게임은 AOS장르 형식을 기본으로 한다. 맵은 하나의 월드 형식이 아닌 각각의 룸 기반으로 이루어져 플레이어가 선택한 룸에 접속을 하여 최대 6명의 플레이어가 매 게임마다 전사, 궁수, 마법사 중 하나를 선택하여 최대 3:3으로 팀을 구성하여 게임을 시작할 수 있다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
AOS 장르의 장점은? AOS 장르는 쉬운 접근성과 빠른 진행으로 한게임에 30분 이내의 시간을 소요 하여, 틈틈이 여유 시간에 집중해서 즐길 수 있다는 장점과 더불어 기존 MMORPG와 유사한 전투 방식에 팀원 간의 협력을 통한 전략적 플레이로 게이머들에게 흥미를 유발할 충분한 요소를 가지고 있다고 볼수 있다.
타겟팅 방식의 단점은 무엇인가? 공격대상만 선택해놓으면 확실한 타격이 가능하다는 점과 자동적으로 공격할수 있어 비교적 쉬운 조작이 가능하다. 하지만 조작 패턴이 너무 단조롭고 쉽기 때문에 금세 지루해지는 단점이 있다.
논타겟팅 게임을 설계함에 있어서 가장 고려했던 사항은 무엇인가? 논타겟팅 게임을 설계함에 있어서 가장 고려했던 사항은 공격의 타격 판정여부를 어떻게 결정할 지를 정하는 것이었다. 단순히 공격을 가했을 때 해당 범위 안에 있으면 바로 데미지를 입히는 경우, 공격 방향으로 나아가는 공격일 경우에는 먼저 맞는 개체와 나중에 맞는 개체 간의 시간차 판정 등을 고려해야되는 경우, 유지되는 시간이 긴 공격의 경우 사용 시점에는 범위 안에 없더라도 나중에 이동을 해서 들어온 경우 등의 복잡한 상황이 있기 때문에 고려해야 할 사항이 많았다.
질의응답 정보가 도움이 되었나요?

참고문헌 (10)

  1. John Gaudiosi, "Riot Games' League Of Legends Officially Becomes Most Played PC Game In The World", Forbes, July 11, 2012 

  2. Cyphers home, cyphers.nexon.com, neople 

  3. Dong-Seong Choi, "A Study on the Creative Game Design Framework", Journal of Korea Game Society, Vol.11, No.4, pp. 49-60, 2011 

  4. Xavier Verguin Gonzalez, "SkyX : Sky and weather simulation", Ver. 0.4.0, Hydrax & SkyX at Paradise Studios, 2014 

  5. Qingfeng Wu, Huailin Dong, Tianmao Xu, "Research on 3D Visualization Framework via CEGUI in OGRE Engine",Journal of Convergence Information Technology, Vol.7, No.19, pp.538-545, 2012 

  6. Zhong-Yong Che, Sang-Chul Kim, "A Game Placement Method Considering Load Balancing between Game Servers in a Game Server Cluster", Journal of Korea Game Society, Vol.12, No.3, pp. 49-58, 2012 

  7. Jong-Gwan Choi, Hye-Young Kim, Won-Sik Woo, "A Study of a Game User Oriented Load Balancing Scheme on MMORPG", Journal of Korea Game Society, Vol.12, No.3, pp. 69-76, 2012 

  8. Nicole Hamilton, "Single-writer Multi-Reader lock for Win98", comp.progamming.threads, 19 October, 1999 

  9. Niall Douglas, "User Mode Memory Page Allocation", Int. Symposium on Memory Management, June 4-5, 2011 

  10. Particle Universe, http://www.fxpression.com/ 

저자의 다른 논문 :

관련 콘텐츠

오픈액세스(OA) 유형

FREE

Free Access. 출판사/학술단체 등이 허락한 무료 공개 사이트를 통해 자유로운 이용이 가능한 논문

이 논문과 함께 이용한 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로