IT강의/게임프로그래밍

게임 엔진의 정의 및 종류

샤핑 2021. 5. 6. 12:06
728x90
반응형

요즘 게임 좋아하는 사람들 많죠? 저 역시 게임을 좋아하다보니 자연스럽게 이런 글을 쓰게 되는군요 ㅎㅎ 따라서 이번 시간에는 게임 엔진을 정의해보고 종류를 살펴보려고 합니다.

게임 엔진은 게임 소프트웨어의 구성에 필요한 소프트웨어 구성 요소를 재사용할 수 있게 만든 것입니다. 게임 엔진은 다음과 같은 특징을 갖고 있습니다.

 

- 초보자들도 게임을 쉽게 만들 수 있도록 인터페이스를 제공합니다.
- 새부적인 효과(애니메이션 효과, 충돌 시 반응 등)를 코딩 처리 하지 않아도 됩니다.

- 게임 개발에 필요한 기능을 즉시 사용할 수 있도록 제공하여 개발의 단가와 복잡도를 줄여주고 제 일정에 복잡한 게임을 출시할 수 있게 해 줍니다.

- 게임 제작 뿐만 아니라 홍보용 데모, 건축 시각화, 훈련 시뮬레이션, 모델링 등에서도 사용됩니다.

 


그렇다면 게임 엔진은 어떤 것들이 있을까요? 사실 수는 엄청 많지만 여기서는 주요한 것들만 살펴보겠습니다.

게임 엔진의 종류는 아래와 같습니다.

 

 

(1) 유니티 (Unity3D)
- 용량이 적게 들고 부하가 적습니다. 
- 저사양 게임, 최적화된 게임을 만들기에 적합합니다.

- 저사양 노트북에서도 나름 구동이 가능합니다.
- 2D, 3D 모드를 모두 지원합니다.

- 내가 원하는 게임을 만들기에 적합합니다.

- 초보자들이 입문하기 가장 좋습니다.

- GUI가 존재하므로 수학적 지식이 없어도 나름 3D 게임을 만들 수 있습니다.
- 국내, 일본, 중국이 모바일 게임을 만들 때 주로 사용합니다.

- 사용 언어: C#
- 예시: 프렌즈마블, 하스스톤, 섀도우버스, 유희왕, 이터널, 궨트, VOEZ, 뱅드림, 프로세카, 구루미쿠, 데레스테, 밀리시타, 나나시스, 소녀전선, 벽람항로, 페그오, 프리코네 등

 

 

(2) 언리얼 (Unreal)
- 용량이 꽤 많이 들고 부하가 꽤 큽니다. (프로그램만 깔아도 10G가 넘고 RAM 거의 잡아먹어요 ㅠㅠ)

- 노트북에서는 거의 구동이 불가능하고 RAM 64GB, 용량 256GB의 데스크톱 컴퓨터에서 사용하는 것을 추천합니다.

- 고화질, 고사양 게임을 만들기에 적합합니다.
- 블록을 생성하고 연결하는 방식으로 프로그램을 짤 수 있는 '블루프린트' 방식을 제공하므로 프로그래밍 언어에 익숙하지 않은 사람들도 게임을 만들 수 있습니다.

- 프로젝트 생성 시 1차원 또는 3차원 시점에서 캐릭터를 조종할 수 있는 등 초반부터 기능을 후하게 제공해줍니다.

- GUI가 존재하므로 수학적 지식이 없어도 나름 3D 게임을 만들 수 있습니다.
- 사용 언어: C, C++, 블루프린트
- 예시: 베틀그라운드, 벽람항로 크로스웨이브, 트레비스 스트라이크 어게인, 노모어 히어로즈3 등

 

 

(3) 코코스 (Cocos2d, Cocos2dx)
- 게임 엔진 이라기 보다는 라이브러리에 가깝습니다. 유니티, 언리얼처럼 GUI가 없기 때문입니다.

- 2D 게임을 만들기에 적합합니다. 3D 게임도 만들 수 있으나 GUI가 없으므로 수학적 지식이 필요할 것 같습니다.
- Cocos2d는 iOS에서만 구동이 가능하지만 Cocos2dx는 iOS, 안드로이드 모두 구동 가능합니다. 따라서 Cocos2d의 단점을 보완한 것이 Cocos2dx 라고 할 수 있습니다.

- 사용 언어: C, Java
- 예시: 모두의마블, 쿠키런(구), Arcaea, 요리차원, 정령재림 등

 

 

(4) 코코스 크리에이터 (Cocos Creator)
- 코코스를 GUI화한 게임 엔진입니다.
- 최신 컴퓨터에서도 구동이 안되는 문제가 발생합니다. (실제 제가 산지 얼마 안된 맥북에다가 최신 버전을 깔았는데 구동 조차 안됐습니다 ㅠㅠ 아직 보완이 좀 더 필요한 것 같네요 ㅠ)
- 사용 언어: C, Java, JavaScript, TypeScript
- 예시: (저도 모르겠습니다 ㅠㅠ)

 

 

(5) 하복 (Havok)
- 게임 엔진 이라기 보다는 물리 엔진에 가깝습니다.
- 사용 언어: C, C++
- 예시: 젤다의 전설 브레스 오브 더 와일드 등 (이 외는 저도 모르겠습니다 ㅠㅠ)

 


(6) 자체 개발 엔진
- 회사 내에서 직접 개발한 게임 엔진입니다.
- 예시: 스쿠페스 등 (이 외는 저도 모르겠습니다 ㅠㅠ)

 

 

프로그램 개발에는 여러 가지의 방법이 있고 어떠한 것이 딱 정해지지는 않았다고 생각합니다. 다만 프로그램의 특징, 본인의 개발 환경과 여건에 따라 적절한 방법을 선택하는 것은 중요합니다. 따라서 제가 설명해준 내용들을 참고해서 어떤 게임 엔진을 사용해서 어떤 게임을 개발할지 올바른 선택을 해주셨으면 좋겠습니다.

728x90
반응형
LIST

'IT강의 > 게임프로그래밍' 카테고리의 다른 글

게임의 정의와 요소  (0) 2021.05.17