Portal Setup

  1. 게임엔진

Unity3D를 사용할까 했으나 Cocos2D-x를 사용하기로 결정.

고민한 내용을 간략하게 정리하고자 한다.


우선 Cocos2D시리즈와 Unity3D를 비교

<Unity3D Cons>

  1. 비싸다.

시작은 무료이지만 연매출이 1억이 넘거나 Pro기능이 필요한 경우 Pro, iOS, Android 라이센스 모두 구매해야됨.

2. IDE 의존

강력한 WYSIWYG IDE가 있다는 것은 장점이지만, 반복되는 행동등을 코드에서 정의하려고 하면 복잡해진다.

<Unity3D Pros>

  1. 강력한 IDE

Cocos2D로 디버깅할때마다 생각나는 전체 Scene 및 GameObject가 보이는 강력한 IDE를 가지고 있다.

2. Tutorial 및 Documentation

초심자가 접근하기 편한 Tutorial, Sample Code, Documentation을 잘 관리하고 있다.

반면 오픈소스인 Cocos2D는 자주 새버전이 나오지만 Documentation은 나중에 업데이트되는 경우가 빈번하다.

특히 Major 업데이트가 되고 얼마 지나지 않았을때는 더욱 심각해진다.

Out Of Date인 Sample Code, Tutorial들이 인터넷에 산재하는 것도 문제.


Cocos2D-x vs JS

Cocos2D-x(CPP)는 Web Deploy가 안되고, 구식언어의 한계로 간단한 자료구조등을 사용할 때에도 복잡한 문법이 필요해서 생산성이 떨어짐.

최근 Auto Memory Management인 언어를 많이 사용해서 메모리 관리를 직접해야되는 것도 개인적으로는 부담됨.(Node계열은 Smart Pointer를 사용해서 메모리 관리를 하지 않아도 되지만, 직접 만든 Class, Structure, 외부 Library등은 문제가 됨).

따라서 개인적으로는 JS가 좋지만, 가장 큰 문제는 Documentation이 최악이다.

안 그래도 안 좋은 Cocos2D-x를 따라가며 대응하는 JS라서 최신버전은 Document가 없다고 봐도 된다.

Native Code에 접근할때 Bridge를 만들어야 되고, Debugging이 불편한 것은 부차적인 문제이다.


Document에 좌절하고 Cocos2d-x CPP로 다시 회귀..

Like what you read? Give Nemotoo a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.