||||<table align=right><#1ea7be> '''{{{#white Cocos2d-x}}}''' || |||| [[파일:external/www.cocos2d-x.org/801?.png|width=200]] || ||<#e6e6e6> '''출시''' ||<(> [[2010년]] [[11월 29일]] || ||<#e6e6e6> '''유형''' ||<(> [[게임 엔진]] || ||<#e6e6e6> '''기반 언어''' ||<(> [[C++]], [[JavaScript]], [[Lua]],[br][[HTML]], [[Python]] || ||<#e6e6e6> '''요금''' ||<(> 무료 ([[MIT 라이선스]]) || ||||<#e6e6e6> [[http://cocos2d.org]] || [목차] == 개요 == Cocos2d는 오픈 소스 2D [[게임 엔진]]으로 대표적인 2d-x 버전을 비롯한 여러 가지 변종이 있다. == 역사 == Cocos2d는 [[Python]]으로 작성된 게임 엔진이다. 나중에 [[App Store|앱스토어]]가 설립되고 [[iPhone|아이폰]] 앱 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-[[Objective-C|ObjC]] (舊 Cocos2d-iPhone) * Cocos2d-[[XNA]] == Cocos2d-x == 기본적으로 [[Microsoft Windows|Windows]], [[macOS]], [[리눅스|Linux]], [[안드로이드(운영체제)|Android]], [[iOS]] 등 다양한 플랫폼을 지원하고 있다. 다만 PC쪽의 플랫폼에 대한 지원은 미비하며[* PC Platform 에서는 3.2버젼부터 지원되는 CocosGui의 VideoPlayer가 전혀 사용할 수 없도록 되어있으며, SimpleAudioEngine의 경우 볼륨 조절 같은 것들을 하나도 지원하지 않는다. 다만 이는 Cocos2d-x의 지속적인 성장에 힘입어 몇 년 사이에 급격히 좋아지긴 했다.] 상황이 이렇다 보니 PC로는 프로그램이 터지나 안터지나 확인하면서 디버깅만 하고, 정작 완성 빌드는 iOS나 Android로 내보내는 상황이다. === 마스코트 Grossini === [[파일:external/www.cocos2d-x.org/3985?.png]] [[https://www.youtube.com/watch?v=J78Yuh0EA6s|애니메이션]] [[유니티(게임 엔진)|Unity]]에 [[유니티짱]] 이 있다면 Cocos2d-x엔 이 아저씨가 있다. Cocos2d 폴더 '''/build/''' 경로에 있는 테크 데모(tech demo)격인 샘플 프로젝트를 여는 순간부터 가장 많이 보게 될, 명실상부한 Cocos의 마스코트. 자체 애니메이션도 있는데, 제자리 걷기를 하다가 목을 돌리는 괴상한 동작이다. 본래 목적은 SpriteAnimation 데모용이지만, 그 밖의 스프라이트가 필요한 곳들에 단골로 들어간다. === Cocos2d-x 기반의 게임들 === ||<(> ※ 나무위키에 문서가 만들어진 게임들만 기입해 주십시오. || 123-ABC-가나다 순으로 나열한다. * [[Arcaea]][[http://gall.dcinside.com/m/arcaea/4374|#]] * [[AFK 아레나]] * [[BADLAND]] * [[Geometry Dash]] * [[강철의 왈츠]] * [[더뮤지션]] * [[러브 아이돌 주식회사]] * [[리니지M]] * [[모두의마블]] * [[몬스터 스트라이크]] * [[밀크초코]] * [[별이 되어라!]] * [[살아남아라! 개복치]] * [[소멸도시]] * [[드래곤빌리지]] * [[드래곤빌리지2]] [* 개조된 드빌SDK를 사용한다] * [[드래곤빌리지M]] * [[아이러브커피]] * [[에픽세븐]] [* 유나 엔진으로 자체 개조] * [[요리차원]] * [[전함소녀]] * [[진 연희몽상 천하통일전]] * [[중년기사 김봉식]] * [[쿠키런]] * [[파이널 판타지 브레이브 엑스비어스]] * [[데이트 어 라이브: 다시 만난 정령]] === 진입 장벽 === 기본적으로 코코스를 제대로 활용하려면 [[자료구조]]와 [[알고리즘]]에 대한 대략적인 이해는 해야 하며, STL을 능숙히 사용하여야 하고, C++의 상속 같은 핵심 기술을 모두 알아야 한다. iOS의 경우 [[Objective-C]]나 [[Swift(프로그래밍 언어)|Swift]], 안드로이드의 경우 [[Java]] 라이브러리를 쉽게 갖다 쓸 수 있는 장점이 있으나 jni 사용법을 알아야 하는 문제가 있으며, 또 *.h나 *.cpp 파일을 자체적으로 열어서 코어 로직을 읽는 것이 습관화되어 있어야 한다. 프로젝트 세팅 등 수동으로 손봐줘야 하는 부분이 매우 많은 점도 커다란 진입장벽. 코드를 짜보기는커녕 프로젝트 세팅조차 못 하고 나가 떨어지는 경우가 부지기수이다. 여기에 한글 문서도 사실상 전무한 수준일 뿐 아니라, 영어 문서조차 적어 일본어나 중국어 사이트를 번역기로 보면서 버텨야 하는 경우가 많다. 가장 큰 이유는 [[언리얼 엔진]], [[유니티(게임 엔진)|유니티 엔진]]은 상업성을 두고 영업을 하는 반면, 코코스는 [[오픈 소스]] 프로젝트인 탓으로 보인다. 다만 경쟁에서 밀렸다곤 해도 현재도 메이저 게임사들에서 한두 개 정도의 프로젝트는 여전히 코코스로 만들고 있는 경우가 있고, 현업에서도 완전히 밀려난 상황은 아니다. 언리얼 · 유니티 두 엔진보다는 훨씬 적지만, 체감상 3위권을 유지하고는 있다. 이는 C++에 익숙한 중견 프로그래머들의 경우 기존 워크플로우를 비교적 그대로 유지할 수 있는 코코스로 개발을 하는것이 차라리 더 효율적이기 때문이다. === Cocos2dx 3.0 === 공식 트위터에서 2020년 10월 15일, Cocos2dx 3.0 버전을 출시하겠다고 밝혔다. === 관련 커뮤니티 === * [[http://cafe.naver.com/cocos2dxusers|Cocos2D-X 사용자 모임]] - 국내 Cocos2d-x 커뮤니티 가운데에선 가장 크고 많이 활성화되어 있다. * [[http://cafe.naver.com/cocos2dxdev|코코스 스터디 카페]] - 두 번째로 큰 코코스 커뮤니티. 정보 교환보다는 질문/답변의 비중이 크다. * [[http://cafe.naver.com/mcbugi|맥부기]] - 보통 Cocos2d-iPhone의 내용을 다룬다. [[분류:게임 개발 도구]]