불과 몇 년 전만 하더라도 많은 사람들이 2D 게임을 만들 때, 코코스(Cocos2d-x)와 유니티(Unity) 중 무엇을 선택할지 고민했다.
그러나 현재 2021년에는 그 둘의 격차는 많이 벌어진 상태다.
2D 게임 영역에서는 사실상 유니티의 독주 체제고, 그나마 코코스가 차지하고있던 지분은 고도(Godot) 엔진이 차지하는 듯하다.
물론 기존에 코코스로 만든 게임들의 업데이트는 이뤄지고 있지만 신규 코코스 게임은 점점 줄어들고 있다.
그동안 유니티는 사용자가 버전 관리에 부담을 느낄 정도로 꾸준한 업데이트를 해왔지만, 코코스는 그 속도를 따라오지 못했다.
코코스는 오픈 소스 라이브러리다. 단순하게 따지면 방대한 크기의 코드 덩어리에 불과하다.
그에 비해 유니티는 '게임을 만들어주는 편집기' 프로그램이다.
(코코스에서도 Cocos Studio라는 툴을 내놓은 적이 있지만 몇 년 지나지 않아 지원을 중단했다.)
그래서 둘은 접근성과 생산성에 있어서 태생적으로 차이가 있다.
그리고 2018년 3월 코코스 크리에이터(Cocos Creator) V1.9.0 이 릴리즈 됐다.
코코스 크리에이터를 통해 만든 게임을 Facebook Instant Games에 쉽게 출시할 수 있다고 하며
HTML5 규격의 게임을 만드는 엔진 시장에서 코코스의 점유율이 절반을 차지한다고 한다. (2021년에는 더 올라갔을 것이다.)
유니티는 멀티 플랫폼 빌드에 최적화돼있고, 유니티로 만든 게임의 타겟 시장은 주로 PC(스팀)와 콘솔, 모바일 스토어(IOS/Android)다.
코코스 크리에이터는 HTML5 빌드에 최적화돼있고, 주 타겟 시장은 페이스북이나 위챗과 같은 SNS의 웹 브라우저다.
유니티에서도 WebGL 빌드 옵션을 통해 뽑은 게임을 웹 브라우저에서 실행할 수 있다.
그 원리는 C#으로 작성된 런타임 코드를 자체적으로 JavaScript로 컴파일하고, 렌더링은 WebGL의 API로 대체하는 것이다.
하지만 이 과정에서 생기는 문제들이 있다.
PC에서는 최신 버전의 브라우저에서만 지원이 되며 모바일 웹 브라우저에서는 지원이 안된다.
또한 성능이 크게 줄어든다. 유니티 엔진 내부에서는 스레드를 통해 성능을 관리하는데 자바 스크립트는 스레드 지원이 없기 때문이다.
코코스 크리에이터는 자바 스크립트와 타입 스크립트로 코드를 작성할 수 있다. 별도로 언어의 변환 과정을 거치지 않고 컴파일한다.
그렇기 때문에 성능과 안정성을 유지할 수 있다. 유니티의 WebGL 빌드보다는 확실히 뛰어나다.
코코스 크리에이터의 장단점
이제 막 코코스 크리에이터를 써보기 시작했기 때문에 이 장단점은 생각이 바뀔 때마다 수정할 예정
장점
- 툴이 매우 가볍다. 컴파일 속도와 빌드 속도가 유니티와 비교가 안될 정도로 빠르다.
단점
- 다른 게임엔진들의 기반 언어가 C 계열이라 C++, C#을 중점적으로 배운 사람에겐 자바스크립트가 낯설게 느껴진다.
- 에디터의 기능이나 제공하는 API들이 유니티보다 많이 부족하다.
- 레퍼런스가 매우 적다. 한국어 포스팅도 거의 없다.
- 버그가 너무 많다.
'Cocos Creator' 카테고리의 다른 글
[예제 게임] GameScene #2 (UI 배치, 클릭 이벤트, 스코어 갱신) (0) | 2021.06.01 |
---|---|
[예제 게임] GameScene #1 (오브젝트 풀링) (0) | 2021.06.01 |
[예제 게임] 씬 전환과 버튼 클릭 이벤트 (0) | 2021.05.31 |
[예제 게임] TitleScene 만들기 (해상도와 UI) (0) | 2021.05.31 |
개발 환경 갖추기 (0) | 2021.05.28 |