Skip to content

게임개발 엔진 감상

자체제작 엔진 또는 Direct 3D

DOS시절에는 거의 대부분 다 엔진을 자체제작해서 개발했었으니까 논외로 하고, Win32부터는 DDraw 에서 Direct 3D를 대부분 썼다. 내가 원하는 것을 개발하기는 오히려 더 쉽다. 보통 내 경우에는 캐주얼 게임이나 2D RPG를 만드는게 전부이기 때문에, 자체 개발 게임 엔진으로도 충분히 게임 개발이 가능하고 오히려 더 개발이 빠르다. 단점은 3D게임으로 넘어가면 난이도가 급상승하고, 결제 시스템이나 광고 시스템을 넣는 것이 번거롭다. 또한 확장성이 낮아서 게임엔진 하나 만들어서 여러 종류의 게임을 만드는것이 쉽지 않다. 또한 윈도우에서만 돌아가는 단점이 있다.

Irrlight / Ogre 3D

Win32 시절에 공개 엔진중 가장 유명했던 양대산맥이다. 3D 게임 개발용으로 만들어진 엔진인데, 지정된 포맷이 딱 있어서 딱 비슷한 3D 게임들을 만들기는 쉽고 좋았다. 3D게임이 대세였던 그 당시에 그래서 유명했던것 같은데, 커스터마이징이 어려웠다. 특히 나처럼 2D 게임만 좋아하는 사람들이 쓰기에는 그 용도가 맞지 않아 조금 쓰다가 치워버렸다.

cocos2d-x

원래 iOS용 게임엔진인 cocos2d 엔진을 C++를 이용해서 멀티플랫폼으로 만든 브랜치이다. 유니티 엔진이 대중화 되기 전에는 매우 유명한 엔진이었고, cocos2d-x로 만든 게임 중에서 내가 아는 유명한 게임은 Geometry Dash가 있다. 워낙에 유명했고 널리 퍼졌었기 때문에 광고 플랫폼이나 결제 플랫폼 탑재도 어렵지 않았다. 해당 플랫폼들이 cocos2d-x를 지원했기 때문이다. 추후에 유니티와 비슷한 방식의 Cocos-Studio라는 통합 툴이 나왔는데 워낙 버그가 많다고 소문이 나서 크게 대중화 되지 못했다. 단점은 크게 없는데 코딩해야 하는 양이 유니티에 비해 상대적으로 많다는 것이 단점이라면 단점이라고 할 수 있겠다.

LibGDX

Java용 게임 엔진이다. 내가 LibGDX를 공부한 이유는, 당시에 JetBrain사의 IDE인 IntelliJ IDEA가 워낙 좋다고 소문이 나서 한번 써봤다. 그런데 정말 마감도 좋고 버그도 못봤고 여러가지로 훌륭한 IDE였다. IntelliJ IDEA의 기본 언어가 Java였고, Java는 이미 어느정도 할 줄 알았기에, Java로 게임 개발하는것도 나쁘지 않다는 생각이 들었었다. 구글링을 해보니 그때 Java용 게임엔진 1위는 LibGDX였고, 바로 설치해서 사용해봤다. Java라는 언어 자체가 훌륭했기에 게임을 만드는데도 아무 부족함 없이 술술술 잘 만들 수 있었다. 역시 단점은 cocos2d-x 와 마찬가지로 날코딩 해야하는 양이 많았다. 그 외에는 특히 단점은 없었던 것 같고 cocos2d-x도 그렇고 LibGDX도 그렇고 게임을 하나 완성하는데는 전혀 문제가 없는 훌륭한 엔진/라이브러리 이다.

Unity 3D

보통 유니티에 한번 발을 담그면 다른 엔진/프레임워크/라이브러리 로 넘어가기가 쉽지 않은데, 툴 자체가 가지고 있는 기능이 매우 강력하고 이미 준비되어있는 것들이 너무 많기 때문이다. cocos2d-x나 LibGDX처럼 라이브러리의 형태가 아니기 때문에 코딩해야 하는 양도 상대적으로 매우 적다. 자체적으로 클라우드 레파지토리나 빌드, Collaborate 시스템도 매우 잘 구축되어있다. 원래 게임엔진 툴 안에서 스크립트 형태로 코딩하는 방식은 언리얼이 사용하고 있는 방식이었는데, 언리얼은 당시 유료였고 유니티는 무료로 배포하면서 인디게임 / 모바일게임 시장에서는 언리얼을 완전히 압도해버렸다. 솔직히 개발하는 즐거움을 따지지 않고 오로지 게임의 완성, 협업, 효율을 따진다면 무조건 Unity가 답이다. 단점이라고 한다면 날코딩 하는 라이브러리에 비해서 확실히 게임의 퍼포먼스가 느리다. 유니티로 만든 일반 게임들과 Clash of Clans를 보면 알 수 있다. Clash of Clans는 자체개발한 엔진으로 만든 것으로 알고 있는데, 게임을 해보면 확실히 퍼포먼스가 빠르다.

언리얼 엔진

언리얼은 GUI를 개발자가 만든것 처럼 생겨먹은데다가 설치할때 CPU 100% 먹는거 보고 그냥 바로 지워버렸다.

Construct 3

게임엔진이긴 한데 코딩을 직접 하는게 아니라 Sheet 형태로 만들어서 게임을 만든다. 상업용 게임을 이 엔진으로 만들 일이 과연 있을까 싶긴 한데, 게임의 스크립트를 작성하는 Sheet가 나름 깔끔하게 잘 나오긴 한다. 아쉬운건 무료 계정의 경우는 Sheet 하나당 50칸 정도만 쓸 수 있는데 그건 너무 적은 것 같다.