Cocos2d

문서:코코스에서 넘어옴

역사 raw
대문 랜덤 문서 최근 토론
1. 개요2. 역사3. Cocos2d-x
3.1. 마스코트 Grossini3.2. Cocos2d-x 기반의 게임들3.3. 진입 장벽3.4. Cocos2dx 3.03.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

파일:external/www.cocos2d-x.org/3985?.png
애니메이션

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

3.2. Cocos2d-x 기반의 게임들

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] 유나 엔진으로 자체 개조[4] 개조된 드빌SDK를 사용한다[5] 유나 엔진으로 자체 개조