Cocos2d

 

'''Cocos2d-x'''
[image]
'''출시'''
2010년 11월 29일
'''유형'''
게임 엔진
'''기반 언어'''
C++, JavaScript, Lua,
HTML, Python
'''요금'''
무료 (MIT 라이선스)
http://cocos2d.org
1. 개요
2. 역사
3. Cocos2d-x
3.1. 마스코트 Grossini
3.2. Cocos2d-x 기반의 게임들
3.3. 진입 장벽
3.4. Cocos2dx 3.0
3.5. 관련 커뮤니티


1. 개요


Cocos2d는 오픈 소스 2D 게임 엔진으로 대표적인 2d-x 버전을 비롯한 여러 가지 변종이 있다.

2. 역사


Cocos2d는 Python으로 작성된 게임 엔진이다. 나중에 앱스토어가 설립되고 아이폰 앱 SDK가 배포되자 개발자 한 명인 Ricardo Quesada가 Cocos2d를 Objective-C로 재작성하여 Cocos2d-iPhone을 만들었고, 이것이 나중에 Cocos2d-x의 모태가 되었다.
그 뒤에 중국의 Zhe Wang이 Cocos2d를 포크하여 Cocos2d-x 프로젝트를 시작하였다. Cocos2d-x에서는 하나의 코드로 여러 개의 플랫폼을 대상으로 출력할 수 있었으며, 그 다음에 Ricardo Quesada는 Cocos2d-iPhone 프로젝트에 떠나 Cocos2d-x 프로젝트에 참여했다. 현재 활성화된 Cocos2d-x의 포크는 다음과 같다.
  • Cocos2d-x
  • Cocos2d-HTML5
  • Cocos2D-ObjC (舊 Cocos2d-iPhone)
  • Cocos2d-XNA

3. Cocos2d-x


기본적으로 Windows, macOS, Linux, Android, iOS 등 다양한 플랫폼을 지원하고 있다. 다만 PC쪽의 플랫폼에 대한 지원은 미비하며[1] 상황이 이렇다 보니 PC로는 프로그램이 터지나 안터지나 확인하면서 디버깅만 하고, 정작 완성 빌드는 iOS나 Android로 내보내는 상황이다.

3.1. 마스코트 Grossini


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

3.2. Cocos2d-x 기반의 게임들


※ 나무위키에 문서가 만들어진 게임들만 기입해 주십시오.
123-ABC-가나다 순으로 나열한다.

3.3. 진입 장벽


기본적으로 코코스를 제대로 활용하려면 자료구조알고리즘에 대한 대략적인 이해는 해야 하며, STL을 능숙히 사용하여야 하고, C++의 상속 같은 핵심 기술을 모두 알아야 한다. iOS의 경우 Objective-CSwift, 안드로이드의 경우 Java 라이브러리를 쉽게 갖다 쓸 수 있는 장점이 있으나 jni 사용법을 알아야 하는 문제가 있으며, 또 *.h나 *.cpp 파일을 자체적으로 열어서 코어 로직을 읽는 것이 습관화되어 있어야 한다.
프로젝트 세팅 등 수동으로 손봐줘야 하는 부분이 매우 많은 점도 커다란 진입장벽. 코드를 짜보기는커녕 프로젝트 세팅조차 못 하고 나가 떨어지는 경우가 부지기수이다. 여기에 한글 문서도 사실상 전무한 수준일 뿐 아니라, 영어 문서조차 적어 일본어나 중국어 사이트를 번역기로 보면서 버텨야 하는 경우가 많다.
가장 큰 이유는 언리얼 엔진, 유니티 엔진은 상업성을 두고 영업을 하는 반면, 코코스는 오픈 소스 프로젝트인 탓으로 보인다. 다만 경쟁에서 밀렸다곤 해도 현재도 메이저 게임사들에서 한두 개 정도의 프로젝트는 여전히 코코스로 만들고 있는 경우가 있고, 현업에서도 완전히 밀려난 상황은 아니다. 언리얼 · 유니티 두 엔진보다는 훨씬 적지만, 체감상 3위권을 유지하고는 있다. 이는 C++에 익숙한 중견 프로그래머들의 경우 기존 워크플로우를 비교적 그대로 유지할 수 있는 코코스로 개발을 하는것이 차라리 더 효율적이기 때문이다.

3.4. Cocos2dx 3.0


공식 트위터에서 2020년 10월 15일, Cocos2dx 3.0 버전을 출시하겠다고 밝혔다.

3.5. 관련 커뮤니티


  • 맥부기 - 보통 Cocos2d-iPhone의 내용을 다룬다.

[1] PC Platform 에서는 3.2버젼부터 지원되는 CocosGui의 VideoPlayer가 전혀 사용할 수 없도록 되어있으며, SimpleAudioEngine의 경우 볼륨 조절 같은 것들을 하나도 지원하지 않는다. 다만 이는 Cocos2d-x의 지속적인 성장에 힘입어 몇 년 사이에 급격히 좋아지긴 했다.[2] 개조된 드빌SDK를 사용한다[3] 유나 엔진으로 자체 개조