iPhone에서 간단한 겜을 만들까 검색했더니 기존 Cocoa Obj-C 버전의 Cocos2d 게임라이브러리를 iPhone용으로 공개했네요.

다음에서 라이브러리를 다운 받아볼 수 있습니다.

라이센스 문제?
일단 Cocos2d for iPhone은 기존의 LGPL을 따른다고 하네요. 소스 공개해야겠죠? 
그런데 이런 문구가 있더군요.

cocos2d for iPhone license:
---------------------------

cocos2d for iPhone was originally licensed under the GNU LGPL v3 license.
But since it is impossible to distribute 3rd party dynamic libraries
for the iPhone, this license extends the GNU LGPL v3 license by allowing you: 
  a) to use cocos2d for iPhone as a static library
  b) to include all or part of the cocos2d for iPhone sources inside your project

This means that if you do a) and/or b) you are NOT forced to release your 
source code under the GNU LGPL v3 license.

즉, 기본적으로는 LGPL v3이긴 한데 3rd party 동적 라이브러리로 배포하기 어렵기 때문에, 정적 라이브러리 식으로 사용하거나, 프로젝트에 그냥 소스의 일부 또는 전부를 포함하여 컴파일하면 LGPL의 규제를 벗어날 수 있다고 하네요.

엡스토어에 올려도 될까?
또 찾아보던 중 다음과 같은 글들이 있더군요.


They've already allowed games using it on the app store Chuck the Ball and Sophos Tongue are both cocos2d.
이미 엡스토어 Chuck the Ball과 Sophos Tongue라는 게임이 올라와 있네요.

한 술 더 떠서 아래 링크에는 위 라이브러리를 사용하여 올린 게임들이 있다고 하네요.


그럼 어떤걸 만들 수 있을까?

다음은 홈페이지에서 자랑하고 있는 기능 목록입니다.

Main features


그렇군요. 꽤 되는거 같네요. ㅋㅋ
다음은 간단한 기능 목록 유투브 입니다.


뭔가 좋은 기능을 많이 제공 하네요.

시작하려면 튜토리얼이 필요해

아래 사이트는 간단한 튜토리얼 입니다.

그리고 몇가지 팁이 있는 블로그도 있네요.


스켈릭톤 코드도 있군요!

실행해 보면 간단한 게임이 나옵니다. (게임이긴 한건가... ㄷㄷㄷ; )
그냥 마우스 클릭하면 그쪽으로 움직이고 공으로 가면 끝..;


그래도 게임의 메뉴와 이정도의 스켈릭톤 코드면 뭐든 만들 수 있을거 같네요.
그런데 이 소스는 약간 예전 버전의 cocos2d버전을 사용한 거 같네요.
현재 버전 0.7 으로 포팅하는데 약간 손이 갑니다.. 다음 포스팅 때 얘기를 할까 합니다.

일단 현재 버전의 데모를 돌려보도록 하죠.

백문이불여일행

Cocos2d for iPhone을 아래 사이트에서 다운로드 받습니다.
현재 버전은 0.7이네요.

맥은 똑똑해서 다운받은 tar.gz 더블클릭하면 그냥 내용이 보입니다.

폴더에서 xcode프로젝트 파일을 더블클릭합니다.

엄청 많이 있네요.
TestCocos2는 제가 만든겁니다; 무시..;;
일단 test2 그룹을 제외하면 라이브러리 관련 그룹이라고 보시면 됩니다.
중요한 것은 Targets라는 현재 프로젝트를 설정하는 것인데요.

메뉴에 Project/Set Active Target과 Set Active Executable을 원하는 놈으로 설정합니다.

그리고 당연히 무조건 애플키 + R 을 하면 Compile & Debug Run이 됩니다.
만일 안되면 일단 라이브러리가 생성안되서 그런걸 수 있으니 cocos2d 를 target으로 하고 컴파일 해주세요. 그럼 .a 라이브러리 생깁니다.
만일 네트웍 기능 쓰는 데모면 cocosLive라이브러리 target설정 후 컴파일해야하고 물리엔진 쓰면 Chipmunk라이브러리도 미리 컴파일해서 마련해야 합니다. 


+ Recent posts