Cocos2d
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의 포크는 다음과 같다.
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-가나다 순으로 나열한다.
- Arcaea#
- AFK 아레나
- BADLAND
- Geometry Dash
- 강철의 왈츠
- 더뮤지션
- 러브 아이돌 주식회사
- 리니지M
- 모두의마블
- 몬스터 스트라이크
- 밀크초코
- 별이 되어라!
- 살아남아라! 개복치
- 소멸도시
- 드래곤빌리지
- 드래곤빌리지2 [2]
- 드래곤빌리지M
- 아이러브커피
- 에픽세븐 [3]
- 요리차원
- 전함소녀
- 진 연희몽상 천하통일전
- 중년기사 김봉식
- 쿠키런
- 파이널 판타지 브레이브 엑스비어스
- 데이트 어 라이브: 다시 만난 정령
3.3. 진입 장벽
기본적으로 코코스를 제대로 활용하려면 자료구조와 알고리즘에 대한 대략적인 이해는 해야 하며, STL을 능숙히 사용하여야 하고, C++의 상속 같은 핵심 기술을 모두 알아야 한다. iOS의 경우 Objective-C나 Swift, 안드로이드의 경우 Java 라이브러리를 쉽게 갖다 쓸 수 있는 장점이 있으나 jni 사용법을 알아야 하는 문제가 있으며, 또 *.h나 *.cpp 파일을 자체적으로 열어서 코어 로직을 읽는 것이 습관화되어 있어야 한다.
프로젝트 세팅 등 수동으로 손봐줘야 하는 부분이 매우 많은 점도 커다란 진입장벽. 코드를 짜보기는커녕 프로젝트 세팅조차 못 하고 나가 떨어지는 경우가 부지기수이다. 여기에 한글 문서도 사실상 전무한 수준일 뿐 아니라, 영어 문서조차 적어 일본어나 중국어 사이트를 번역기로 보면서 버텨야 하는 경우가 많다.
가장 큰 이유는 언리얼 엔진, 유니티 엔진은 상업성을 두고 영업을 하는 반면, 코코스는 오픈 소스 프로젝트인 탓으로 보인다. 다만 경쟁에서 밀렸다곤 해도 현재도 메이저 게임사들에서 한두 개 정도의 프로젝트는 여전히 코코스로 만들고 있는 경우가 있고, 현업에서도 완전히 밀려난 상황은 아니다. 언리얼 · 유니티 두 엔진보다는 훨씬 적지만, 체감상 3위권을 유지하고는 있다. 이는 C++에 익숙한 중견 프로그래머들의 경우 기존 워크플로우를 비교적 그대로 유지할 수 있는 코코스로 개발을 하는것이 차라리 더 효율적이기 때문이다.
3.4. Cocos2dx 3.0
공식 트위터에서 2020년 10월 15일, Cocos2dx 3.0 버전을 출시하겠다고 밝혔다.
3.5. 관련 커뮤니티
- Cocos2D-X 사용자 모임 - 국내 Cocos2d-x 커뮤니티 가운데에선 가장 크고 많이 활성화되어 있다.
- 코코스 스터디 카페 - 두 번째로 큰 코코스 커뮤니티. 정보 교환보다는 질문/답변의 비중이 크다.
- 맥부기 - 보통 Cocos2d-iPhone의 내용을 다룬다.
[1] PC Platform 에서는 3.2버젼부터 지원되는 CocosGui의 VideoPlayer가 전혀 사용할 수 없도록 되어있으며, SimpleAudioEngine의 경우 볼륨 조절 같은 것들을 하나도 지원하지 않는다. 다만 이는 Cocos2d-x의 지속적인 성장에 힘입어 몇 년 사이에 급격히 좋아지긴 했다.[2] 개조된 드빌SDK를 사용한다[3] 유나 엔진으로 자체 개조