Cocos2d-x는 2010년 7월에 시작된 프로젝트로 멀티 플랫폼을 지원하는 게임 엔진이다. Zynga, Glu, GREE, DeNA, Konami, TinyCo, Gamevil, HandyGames, Renren Games, 4399, HappyElements, SDO, Kingsoft 등 모바일 업계에서 이미 많이 사용하고 있다. Cocos2d-x는 무료 라이선스로 제공되며 하나의 소스를 다양한 플랫폼에 맞추어 퍼블리싱할 수 있다는 장점이 있다. 즉 오브젝티브-C와 자바를 몰라도 아이폰과 안드로이드 플랫폼에 퍼블리싱할 수 있다.
처음에 Cocos2d는 파이썬을 이용하는 엔진으로 개발되었다. 이것을 Cocos2d-iPhone 엔진으로 개발하면서 오브젝티브-C 언어를 이용해 아이폰 게임을 개발할 수 있게 되었다. 이 Cocos2d-iPhone 엔진의 기능을 C++ 언어를 사용하여 멀티 플랫폼 환경으로 개발할 수 있게 확장한 것이 Cocos2d-x이다.
Cocos2d-x를 사용하는 이유
모바일 플랫폼 환경에서 애플리케이션이나 게임을 개발할 때에는, 사용하는 플랫폼에 따라 지원하는 언어가 각각 다르다. iOS는 오브젝티브-C를, 안드로이드는 자바를 사용하며, 현재 모바일 시장은 이 두 가지 플랫폼이 대부분을 차지하고 있다. iOS와 안드로이드 모두에서 게임을 출시하려면 두 가지 언어로 개발해야 한다. 이러한 어려움을 극복하기 위해 하나의 언어로 제작되어 두 가지 플랫폼에 모두 적용시킬 수 있게 만들어진 엔진이 바로 Cocos2d-x다.
C++ 언어로 제작하여 iOS에서 사용할 수 있는 IPA 파일을 생성할 수도 있고, 안드로이드에서 사용하는 APK 파일도 생성할 수 있다. 즉, 하나의 소스를 여러 플랫폼에 적용할 수 있다는 것이다. 이는 개발 비용을 줄이고, 유지보수 면에서도 두 종류의 소스 파일을 관리할 필요 없이 하나의 소스만을 관리하면 되므로 효율을 높여준다.
또 게임에서 사용하는 여러 기능을 게임 엔진에 포함된 리소스를 활용하여 쉽게 구현할 수 있다. 모든 클레스를 처음부터 직접 개발하여 사용한다면 엄청난 개발 기간과 노력이 들어가겠지만, Cocos2d-x는 이러한 부분을 엔진 자체에서 지원하므로 간단하고 쉽게 여러 기능을 구현할 수 있다.
Cocos2d-x는 무료로 제공되는 오픈소스로서 자유롭게 소스를 확인하고 자신이 원하는 방향으로 수정할 수도 있으며, 많이 사용되는 유니티 엔진과 비교하여 성능이 빠르다. 그리고 대부분의 유명한 서드파티 툴도 함께 사용할 수 있다.
Cocos2d-x는 이름 그대로 2D용 게임 개발 엔진으로 2D 게임을 제작하는 데 많은 도움을 준다. 게다가 오픈소스를 기반으로 무료로 사용할 수 있다. 2013년 Cocos2d-x의 창업자인 왕저王哲의 말에 따르면 중국의 모바일 게임 업계에서는 약 70% 정도가Cocos2d-x를 이용하여 게임을 개발하고 있다. 국내에서 많이 사용되고 있는 유니티 엔진과 비교해보면 완전 무료라는 점과 좀 더 저사양의 기기에서도 사용할 수 있다는 장점이 두드러진다.
가장 많이 사용하는 게임 엔진인 유니티3D와 비교하여 장점과 단점을 비교.
구분 | 주요 개발 언어 | 가격 | 지원 | 오픈소스 | 성능 | 용량 | 2D 게임 개발 | 3D 게임 개발 |
Cocos2d-x | C++ | 무료 | 무료로서 지원이 느림 | O | 빠름 | 적음 | 2D 게임 개발에 용이함 | 3D 게임 개발에 필요한 부분에 대한 클래스 지원이 미흡 |
유니티 | C# | 유료(유니티5 모바일 기준 약 500만 원) | 유료(모바일 빌드)로서 지원이 확실함 | X | 느림 | 큼 | 개발은 가능하나 엔진이 무겁기에 용량이 크고 성능이 느림 | 3D 게임 개발에 용이함 |
간략히 요약하면 Cocos2d-x는 무료이며 2D 게임 개발에 최적화되어 있다. 유니티는 유료이며 지원을 확실히 받을 수 있으나 2D 게임 개발보단 3D 게임 개발에 최적화되어 있다.
Cocos2d-x를 이용하여 만들어진 게임들
Cocos2d-x로 개발하여 출시된 게임은 굉장히 많다. 국내 게임 중에는 대표적으로 <모두의마블>, <제노니아5>, <쿠키런>, <다함께 퐁퐁퐁> 등이 있다. 다음 그림과 같이 수많은 게임이 Cocos2d-x로 개발되었다.
'게임엔진 > Cocos2D-X' 카테고리의 다른 글
[Cocos] 이미지 삽입하는 방법 (0) | 2022.11.01 |
---|---|
[Cocos] 설치 방법 (0) | 2022.11.01 |