게임 산업에서 전통적인 게임 개발은 자체 엔진을 사전에 개발하여 게임 콘텐츠를 완성하는 방식이었다. 이로 인해 게임을 개발할 때마다 자체 게임엔진을 개발하는 비용부담이 크다는 단점을 가지고 있다. 또한, 게임 콘텐츠와 게임엔진이 독립적인 형태로 개발이 되어야 하지만 게임엔진이 사전에 마련되지 않으면 게임 콘텐츠가 개발되지 않는 문제점을 갖는다. 이러한 문제점을 해결하기 위해 최근 게임 산업에서는 게임엔진 구현에 집중하기보다는 게임 콘텐츠 생산성을 높이는 방법인 상용 엔진의 라이선스를 구매하여 개발하는 방식을 선택하고 있다. 본 논문에서는 컴포넌트 기반 시스템(Component-Based System)이고 시장 점유율이 가장 높은 게임엔진인 유니티와 언리얼 엔진을 대상으로 두 엔진의 구조, 에디터 인터페이스, 그리고 지원하는 개발 언어를 비교하여 각 게임엔진이 가진 특징들을 분석한다. 특히, FPS(First-Person Shooter) 게임의 구현을 통해 두 엔진에서의 플레이어 구성과 이벤트 처리 방식의 차이를 비교 설명하였다.
게임 산업에서 전통적인 게임 개발은 자체 엔진을 사전에 개발하여 게임 콘텐츠를 완성하는 방식이었다. 이로 인해 게임을 개발할 때마다 자체 게임엔진을 개발하는 비용부담이 크다는 단점을 가지고 있다. 또한, 게임 콘텐츠와 게임엔진이 독립적인 형태로 개발이 되어야 하지만 게임엔진이 사전에 마련되지 않으면 게임 콘텐츠가 개발되지 않는 문제점을 갖는다. 이러한 문제점을 해결하기 위해 최근 게임 산업에서는 게임엔진 구현에 집중하기보다는 게임 콘텐츠 생산성을 높이는 방법인 상용 엔진의 라이선스를 구매하여 개발하는 방식을 선택하고 있다. 본 논문에서는 컴포넌트 기반 시스템(Component-Based System)이고 시장 점유율이 가장 높은 게임엔진인 유니티와 언리얼 엔진을 대상으로 두 엔진의 구조, 에디터 인터페이스, 그리고 지원하는 개발 언어를 비교하여 각 게임엔진이 가진 특징들을 분석한다. 특히, FPS(First-Person Shooter) 게임의 구현을 통해 두 엔진에서의 플레이어 구성과 이벤트 처리 방식의 차이를 비교 설명하였다.
In the game industry, traditional game development way was to develop a game engine in advance before developing game content. This has the disadvantage is the high cost of developing the game engine. Further, there is a problem that the game content are not developed unless the game engine is prepa...
In the game industry, traditional game development way was to develop a game engine in advance before developing game content. This has the disadvantage is the high cost of developing the game engine. Further, there is a problem that the game content are not developed unless the game engine is prepared in advance. In order to solve these problems, the game industry has recently selected a method of purchasing a license for a commercial engine, which is a method for improving the game content development productivity, rather than concentrating on game engine development. In this paper, we describe a game object and the structure in Unity and Unreal Engine 4. We compared the editor interface and the supported development languages in the two game engines. We also implemented a First-Person Shooter game to compare how the player's configuration and event handling differ from the two game engines.
In the game industry, traditional game development way was to develop a game engine in advance before developing game content. This has the disadvantage is the high cost of developing the game engine. Further, there is a problem that the game content are not developed unless the game engine is prepared in advance. In order to solve these problems, the game industry has recently selected a method of purchasing a license for a commercial engine, which is a method for improving the game content development productivity, rather than concentrating on game engine development. In this paper, we describe a game object and the structure in Unity and Unreal Engine 4. We compared the editor interface and the supported development languages in the two game engines. We also implemented a First-Person Shooter game to compare how the player's configuration and event handling differ from the two game engines.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 주된 게임엔진인 유니티(Unity)와 언리얼 엔진 4(UE4; Unreal Engine 4)를 대상으로 두 엔진의 구조에 관해서 설명한다[3]. 그리고 게임 장르 중 하나인 FPS(First-Person Shooter) 게임을 구현하여 유니티와 언리얼 엔진에서의 플레이어 구성과 이벤트 처리 방식에 대해 비교함으로써 각 엔진의 특징들을 파악하고자 한다.
본 연구에서는 다양한 측면에서 두 게임엔진을 비교 설명하고, 간단한 FPS 게임제작을 통해 두 게임엔진의 특징들을 구체적으로 비교함으로써, 게임을 개발하고자 하는 사용자들에게 다양한 사전 정보를 제공하고자 한다.
본 논문에서는 유니티와 언리얼 엔진의 사용자 인터페이스, 개발 언어, 라이선스 정책 및 게임 오브젝트 개념 및 구조에 관해 비교설명 하였다. 그리고 FPS 게임을 구현하여 플레이어의 구성과 이벤트 처리가 두 게임엔진에서 어떤 차이점을 갖는지 비교하였다.
제안 방법
현재 게임엔진과 관련하여 다양한 연구가 이뤄지고 있다. 이러한 연구에서는 게임엔진에 대한 의미와 구성 요소 그리고 기능에 관한 내용은 물론 게임엔진의 간단한 역사와 현대 게임엔진이 되기까지의 발전 과정하고 있으며[2], 상용 게임엔진을 게임 개발이 목적이 아닌 군사 훈련에 적합한 게임엔진을 비교하여 기술하고 있다[6].
다른 연구결과로는 데스크톱과 모바일 기기용 게임엔진을 비교 분석한 연구가 있다[3]. 해당 연구에서 유니티와 언리얼 엔진 4를 이용해 공식 튜토리얼을 기반으로 안드로이드용 슈팅 게임을 개발하여 두 가지 엔진을 비교 설명하였다.
유니티와 언리얼 엔진에서 같은 FPS 게임을 구현하면서 플레이어의 구현과 이벤트 처리가 두 게임엔진에서 어떤 차이점을 갖는지 비교한다. 게임을 구현하기 위해 Tommy Tran의 게임 콘텐츠[13]를 사용하였다.
본 논문에서는 유니티와 언리얼 엔진의 사용자 인터페이스, 개발 언어, 라이선스 정책 및 게임 오브젝트 개념 및 구조에 관해 비교설명 하였다. 그리고 FPS 게임을 구현하여 플레이어의 구성과 이벤트 처리가 두 게임엔진에서 어떤 차이점을 갖는지 비교하였다.
이론/모형
그리고 언리얼 엔진에도 메모리 관리가 존재한다. 언리얼 엔진의 메모리 관리 방식은 게임 오브젝트의 부모 클래스인 UObject 클래스에 참조 횟수 계산 방식의 메모리 제어 기법을 적용하였다. 그러므로 언리언 엔진 에서 생성되는 오브젝트는 프로그래머가 직접 제거하지 않아도 참조가 없을 때 자동으로 소멸한다.
유니티와 언리얼 엔진에서 같은 FPS 게임을 구현하면서 플레이어의 구현과 이벤트 처리가 두 게임엔진에서 어떤 차이점을 갖는지 비교한다. 게임을 구현하기 위해 Tommy Tran의 게임 콘텐츠[13]를 사용하였다. 같은 게임 콘텐츠를 사용하여 유니티와 언리얼 엔진에서 FPS를 구현한 결과가 Figure 5와 6이다.
성능/효과
두 게임엔진은 같은 컴포넌트 기반 시스템이라는 구조를 사용하고 있지만, 게임 오브젝트의 하위 구조에 있어, 유니티 엔진은 사용자 접근이 쉽도록 단순하지만, 언리얼 엔진은 많은 세부 컴포넌트로 나누어져 있음을 볼 수 있었다. 또한, 플레이어 구성의 경우 유니티는 캐릭터를 게임 오브젝트로 제공하지 않고 프리팹으로 제공한다.
후속연구
그뿐만 아니라 게임엔진을 선택하는 요소에 있어 전문 지식, 팀워크, 리소스 및 시간과 같이 다양한 요소가 있으며 상당히 복잡하기 때문이다[14]. 그렇지만 본 연구에서는 두 게임엔진의 구조와 구현 방식을 소개 및 비교함으로써 사용자에게 어떤 게임엔진이 더 적합한지에 대한 정보를 줄 수 있을 것이다. 그리고 본 연구가 앞으로 게임엔진과 게임 개발 분야 등에 활용될 수 있을 것으로 기대된다.
그렇지만 본 연구에서는 두 게임엔진의 구조와 구현 방식을 소개 및 비교함으로써 사용자에게 어떤 게임엔진이 더 적합한지에 대한 정보를 줄 수 있을 것이다. 그리고 본 연구가 앞으로 게임엔진과 게임 개발 분야 등에 활용될 수 있을 것으로 기대된다.
향후 연구에서는 NPC, 애니메이션, 인공지능에 대해 두 게임엔진의 구조와 구현 방식의 차이점에 대해 연구가 필요하다.
질의응답
핵심어
질문
논문에서 추출한 답변
유니티란 무엇인가?
유니티(Unity)[4]는 3D 및 2D 비디오 게임의 개발 환경을 제공하는 게임엔진이면서 3D 애니메이션, 건축 시각화, 가상현실 등 반응형 콘텐츠 제작을 위한 통합 저작 도구이다. 반면 언리얼 엔진(Unreal Engine)[5]은 미국의 에픽 게임즈에서 개발한 3차원 게임엔진이다.
현재 상용 게임엔진으로는 어떠한 것이 있는가?
현재 상용 게임엔진은 유니티, 언리얼, 크라이엔진, Cocos2d 등 다양하며 2D와 3D를 모두 지원하는 형태로 발전했다. 본 논문에서는 주된 게임엔진인 유니티(Unity)와 언리얼 엔진 4(UE4; Unreal Engine 4)를 대상으로 두 엔진의 구조에 관해서 설명한다[3].
블루프린트는 어떠한 단점을 가지고 있는가?
그래서 프로그래머보다 디자이너나 기획자가 주로 사용한다. 하지만 기능이 많거나 로직이 복잡해지면 텍스트 기반의 프로그래밍보다 효율성이 떨어진다는 단점을 가지고 있다. 그러므로 대부분 복잡하고 큰 기능을 프로그래머가 C++로 구현하고 이를 상속받아 디자이너나 기획자가 블루프린트로 구성한다.
참고문헌 (14)
IT DAILY, “The SW industry is looking beyond creative convergence.” http://www.itdaily.kr/news/articleView.html?idxno=92038. 2018.12.01.
P. Paul, S. Goon, and A. Bhattacharya, "History and Comparative Study of Moden Game Engines", International Journal of Advanced Computer and Mathematical Sciences 3, pp. 245-249, 2012.
Christopoulou, E., & Xinogalos, S. (2017). “Overview and Comparative Analysis of Game Engines for Desktop and Mobile Devices”, International Journal of Serious Games, 4(4), 2017. 10.17083/ijsg.v4i4.194
Mr. Stuart Armstrong, “Game Engine Review”, NORTH ATLANTIC TREATY ORGANIZATION, 2013.
Antonin ?mid, “Comparison of Unity and Unreal Engine”, Czech Technical University in Prague, 2017.
Unity blog, “UnityScript’s long ride off into the sunset.”, 2017.08.11 https://blogs.unity3d.com/kr/2017/08/11/unityscripts-long-ride-off-into-the-sunset/.
Nicolas Porter, “Component-based game object system”, Carleton University, 2012.
Raywenderlich, “How to Create a Simple FPS in Unreal Engine 4”https://www.raywenderlich.com/228-how-to-create-a-simple-fps-in-unreal-engine-4, 2018.01.18
10.5171/2012.418638 Petridis, P., Dunwell, I., Panzoli, D., Arnab, S., Protopsaltis, A., Hendrix, M. and Freitas, S., “Game Engines Selection Framework for High-Fidelity Serious Applications”, International Journal of Interactive Worlds, Vol 2012, 19 pages, 2012. 10.5171/2012.418638
이 논문을 인용한 문헌
저자의 다른 논문 :
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
활용도 분석정보
상세보기
다운로드
내보내기
활용도 Top5 논문
해당 논문의 주제분야에서 활용도가 높은 상위 5개 콘텐츠를 보여줍니다. 더보기 버튼을 클릭하시면 더 많은 관련자료를 살펴볼 수 있습니다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.