게임엔진/Cocos2D-X

Cocos2d-x에 대하여

ShovelingLife 2022. 10. 30. 12:08

Cocos2d-x 2010 7월에 시작된 프로젝트로 멀티 플랫폼을 지원하는 게임 엔진이다. Zynga, Glu, GREE, DeNA, Konami, TinyCo, Gamevil, HandyGames, Renren Games, 4399, HappyElements, SDO, Kingsoft 등 모바일 업계에서 이미 많이 사용하고 있다. Cocos2d-x는 무료 라이선스로 제공되며 하나의 소스를 다양한 플랫폼에 맞추어 퍼블리싱할 수 있다는 장점이 있다. 즉 오브젝티브-C와 자바를 몰라도 아이폰과 안드로이드 플랫폼에 퍼블리싱할 수 있다.

Figure  2 ‑ 1  Cocos2d-x  로고

처음에 Cocos2d는 파이썬을 이용하는 엔진으로 개발되었다. 이것을 Cocos2d-iPhone 엔진으로 개발하면서 오브젝티브-C 언어를 이용해 아이폰 게임을 개발할 수 있게 되었다.  Cocos2d-iPhone 엔진의 기능을 C++ 언어를 사용하여 멀티 플랫폼 환경으로 개발할 수 있게 확장한 것이 Cocos2d-x이.

Figure  2 ‑ 2  Cocos2d  관계도

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 퍼즐 게임(우리집드래곤뽀삐) (hanbit.co.kr)