Cocos2d-x

Cocos2d-x
개발Chukong Technologies(오픈 소스)
출시2010년 11월 29일
유형게임 엔진
기반 언어C++
요금무료 (MIT 라이선스)
cocos2d-x.org

1 개요

Objective-C로 개발된 Cocos2d를 C++로 언어를 바꾸어 개발된 게임 엔진이다.
2016년 10월 현재 최신 버전은 Cocos2d-x 3.13.1버전이며 기본적으로 Windows, Mac OS, Linux ,Android, iOS등 멀티 플랫폼을 지원하고 있다. 다만 아직까지 PC쪽의 플랫폼에 대한 지원은 미비하며[1]상황이 이렇다보니 PC 로는 프로그램이 터지나 안터지나 확인하는 디버깅용으로 개발하는데만 사용되고, 정작 완성 빌드는 iOS, Android 로 내뱉는 데 사용되고 있다

그래도 언어가 C++라는 점과 무료에 꾸준한 업데이트로 계속 사용되는 듯 하다.
이 엔진을 사용한 대표 작품으로는 쿠키런, 모두의 마블, 아이러브커피, 살아남아라! 개복치, Geometry Dash, 모두의 퍼즐펫이 있다.

기본적인 개발 언어는 C++이나 Lua,JavaScript[2]로도 개발이 가능하다.

2 경쟁에서 밀린 이유

코코스가 유니티언리얼 엔진에 비해 경쟁력을 잃는 가장 큰 이유는 게임엔진 주제에 타 게임엔진은 쉬운데 비해 코코스는 거진 네이티브 개발에 가까울정도로 너무나도 어려워서 진입하기가 어렵다. 기본적으로 코코스를 제대로 사용하려면 tree 자료구조에 대한 대략적인 이해는 가지고 있어야 하며, STL 을 능숙히 사용하여여 하고, C++ 의 상속과 같은 핵심 기술을 모두 알아야 한다. iOS의 경우 Objective-CSwift, 그리고 안드로이드는 자바의 라이브러리를 쉽게 갖다 쓸 수 있는 장점이 있지만 jni 의 사용법을 알아야 하는 문제가 있으며, h 나, cpp 파일을 자체적으로 열어서 코어로직을 읽어야 하는 것이 습관화 되어있어야 한다.

프로젝트 세팅 등 수동으로 손봐줘야 하는 부분이 너무나 많은 점도 커다란 진입장벽. 사실 이 부분이 더 짜증난다 하더라코드를 짜보기는 커녕 프로젝트 세팅조차 못하고 나가 떨어지는 경우가 부지기수이다.

여기에 한글 문서도 사실상 전무한 수준일 뿐 아니라, 영어 문서조차 적어 일본어나 중국어 사이트를 번역기로 보면서 버텨야 하는 경우가 많다.

가장 큰 이유는 유니티, 언리얼을 상업성을 가지고 영업을 하는 반면, 코코스는 무료로 영업이 없어서라고 보인다.
다만 경쟁에서 밀렸다곤 해도 현재도 메이저 게임사들에서 한두개정도의 프로젝트는 여전히 코코스로 잡고 있는 경우가 있고 현업에서도 완전히 밀려난 상황은 아니다.언리얼 - 유니티에 이어 두 엔진에 비해선 훨씬 적지만 체감상 3위권을 유지하고는 있다.이는 C++에 익숙한 중견 프로그래머들의 경우 오히려 기존의 워크플로우를 비교적 그대로 유지 가능한 코코스쪽으로 모바일 개발을 하는것이 더 효율적이여서 그런듯하다.

추가적으로 cocos2d-x 는 언리얼이나 유니티처럼 studio의 활용성이 현저히 낮기 때문이라고 보여진다. 스튜디오를 통해 마우스를이용해서 이것저것 만들 수 있게 해주는 언리얼이나 유니티 같은 경우 숙련도가 낮은 프로그래머라도 일단 약간의 결과물이라도 갖고 시작할 수 있기 때문이다.그래서 수준 미달의 프로그래머가 유니티 개발자에 좀 많다

2.1 마스코트 grossini

3985?.png
애니메이션

Unity3D유니티짱 이 있다면 cocos2d-x 엔 이 아저씨가 있다. Cocos2d폴더/build/ 경로에 있는 테크데모격인 샘플프로젝트를 여는순간부터 가장 많이 보게 될 명실상부한 Cocos 의 마스코트. 자체 애니메이션도 있는데, 제자리 걷기를 하다가 목을 돌리는 괴상한 동작이다. 본래 목적은 SpriteAnimation 테크데모용이지만, 그 외 스프라이트가 필요한 곳들에 단골로 들어간다.

3 cocos2d-x 기반의 게임들

나무위키에 페이지가 있는 게임들만 기입합니다.

4 기타

Cocos2D-X 사용자 모임. 국내 Coccos2d-x 커뮤니티중에선 가장 크고 활성화되어 있다.
[1]

코코스 스터디 카페 . 코코스 커뮤니티중에 두번째 규모인 커뮤니티. 정보보다는 질문과 답변의 비중이 크다.
[2]

맥부기. Cocos2d-iPhone 에 대한 개발을 주로 다룬다.

[3]
  1. PC Platform 에서는 3.2버젼부터 지원되는 CocosGui 의 VideoPlayer 가 전혀 사용할 수 없도록 되어있으며, SimpleAudioEngine 의 경우, 볼륨조절 같은 것들을 하나도 지원하지 않는다. 다만 이는 Cocos2d-x의 지속적인 성장에 힘입어 몇년 사이에 급격히 좋아지긴 했다.
  2. 다만, Lua나 JavaScript의 경우 Cocos2d-x에서 특정 플랫폼을 지원하지 않는다.