Javascript로 html5게임과 Android랑 iOS 게임을 만들 수 있는 멀티플랫폼 게임개발툴입니다. 제가 웹게임을 만드려고 알아보고 있었는데, 이게 가장 적합한 것 같네요. 게다가 같은 소스코드로 그대로 Android, iOS도 같이 빌드할 수 있습니다.

Cocos2d-x인 경우에는 c++을 이용해서 멀티플랫폼을 지원하는데,Cocos2d-x를 잠깐 해봤을 때 c++은 대학교 때 이후로 해보질 않아서 조금 어려운 점이 많았습니다. string을 다루는 법부터 시작해서 헤더파일도 다루고 그러는 것이 익숙치 않더라구요(아...쉬운 문법 언어만 해와서ㅠ). 

그래서 사이트에 가서 찾아보니 Javascript로도 개발을 할 수 있는 제품도 있더군요. 그래서 살짝 맛보기를 해보니 클래스명은 x와 서로 비슷하며 사용법 또한 비슷한데, 이것을 Javascript로만 표현을 했습니다. 문법면에서는 훨씬 쉽게 개발할 수 있을 겁니다(물론 저는 웹개발이 주여서 그게 더 쉽게 느껴지지만, c++만 한사람은 x가 더 쉽겠죠?).

간단히 다운로드 셋팅을 한 번 해봅시다. 참고로 저는 맥 이용자입니다. 윈도우에서도 되는지는 잘 모르겠네요.

0. 준비물

Apache ANT : http://ant.apache.org/bindownload.cgi
Python2.7.6 : https://www.python.org/downloads/
AndroidSDK : https://developer.android.com/sdk/index.html?hl=sk
AndroidNDK : https://developer.android.com/tools/sdk/ndk/index.html
XCode : AppStore에서 받으삼.
WebStorm: 있으면 좋음. 없으면 그냥 에디터에서 편집해도 됨 ㅇㅇ

1. Cocos2d-JS 다운로드

http://cocos2d-x.org/download
위 사이트에서 받을 수 있습니다. Cocos2d-JS를 받습니다. 아직까지는 베타버전입니다. 곧 정식버전이 나오길 ㄷㄷ. 그리고 다운로드 사이트에서는 크게 3가지를 받을 수 있는데요. Cocos2d-x, Cocos2d-JS, CocoStudio입니다. Cocos2d-x와 Cocos2d-JS는 말그대로 C++개발, JS개발 툴이구요. CocoStudio는 게임 개발할 때 필요한 Scene, UI, Animation 등을 손쉽게 개발할 수 있는 툴입니다. 유니티를 개발할 때에도 유니티개발툴에서 애니메이션, UI를 개발하는데 그것과 비슷한 것이라고 보면 됩니다.

그리고 개발하기 위해서는 웹에디터가 하나 필요한데요. 여기서 추천하는 것은 WebStorm입니다. 웹스톰이 확실히 자바스크립트 코딩할 때에는 갑이거든요. 자바스크립트 디버깅도 할 수 있고, 코드힌트 에러도 제일 잘 잡는 에디터에요. 웹개발에도 갑이고 꽤 좋은 에디터에요. 여기서 만든 에디터들은 다 좋아요. 

2. 환경 설정

환경설정은 Python으로 구현이 되어 있습니다. Cocos2d-JS압축을 풀면 setup.py파일이 나옵니다. 이걸 실행하면 NDK, Android SDK설정이 어디에 있냐고 물어보면서 그대로 대답하게 되면 그 값을 기반으로 .bash_profile에 환경변수와 패스를 저장해줍니다. NDK, SDK, ANT를 적당한 곳에 풀고 해당 패스를 물어보는 것에 적으면 알아서 .bash_profile에 넣어버립니다.
그러면 아래와 같이 자동으로 잡아줍니다.

# Add environment variable COCOS_CONSOLE_ROOT for cocos2d-x

export COCOS_CONSOLE_ROOT=/Volumes/d/mudchobo/cocos2d-js-v3.0-beta/tools/cocos2d-console/bin
export PATH=$COCOS_CONSOLE_ROOT:$PATH

# Add environment variable NDK_ROOT for cocos2d-x
export NDK_ROOT=/Volumes/d/mudchobo/android-ndk
export PATH=$NDK_ROOT:$PATH

# Add environment variable ANDROID_SDK_ROOT for cocos2d-x

export ANDROID_SDK_ROOT=/Volumes/d/mudchobo/android-sdk
export PATH=$ANDROID_SDK_ROOT:$PATH
export PATH=$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH

근데 보면 버그인지 모르겠지만 ANT_ROOT는 안잡아주더군요. 그래서 그냥 ANT_ROOT는 수동으로 추가했습니다. 

# ant root
export ANT_ROOT=/Volumes/d/mudchobo/apache-ant

3. 프로젝트 생성

source ~/.bash_profile을 해서 profile파일을 다시 읽던가 아니면 터미널을 껐다켜면 해당 패스와 환경변수가 잡혀있을 겁니다. 그러면 초간단 프로젝트를 생성할 수 있습니다. COCOS_CONSOLE_ROOT가 패스에 잡혀서 cocos를 실행할 수 있습니다. 얘가 프로젝트를 만들어 줍니다. 

만들고 싶은 경로 위치로 가서 아래와 같이 실행하면 바로 만들어 집니다.

cocos new MudchoboTest -l js

new는 프로젝트 생성하라는 것이고 다음은 프로젝트 명입니다. 다음 옵션은 -l은 언어를 선택하는 건데, js로 하라는 것입니다. 그러면 바로 생성이 됩니다.

4. 실행

바로 실행하면 최초 헬로우월드 게임이 나옵니다. 실행도 cocos로 하면 됩니다.

cocos run -p web|ios|android|mac

원소스로 4가지 플랫폼을 전부다 실행해볼 수 있습니다. 올인원 겁나 좋아하는데 딱 저한테 맞는 플랫폼이네요. web으로 띄우면 서버도 자체적으로 만들어서 띄웁니다. web은 따로 컴파일이 필요없고, ios와 android는 따로 컴파일 후에 실행하게 됩니다. 시간이 조금 걸리긴 합니다.


확인해보니 websocket(socket.io모듈도 지원)도 지원을 합니다. 나중에 시간될 때 웹소켓으로 멀티유저게임을 한 번 만들어봐야겠네요. 

참고문서
http://cocos2d-x.org/docs/manual/framework/html5/v2/cocos-console/en

 
Posted by 머드초보
,
 
이거 물건이네요^^
옛날에는 머리쓰는 게임을 좋아했는데, 나이가 들수록 쉽고 재미있는 게임을 더 찾게 되더라구요^^
어렸을 때 삼국지 같은 걸 하고 있었다니-_- 스타도 나이먹어서 못하겠어요 복잡해요!

마리오카트는 아주 어렸을 적에 슈퍼패미콤으로 했었던 기억이 나네요.
Wii버전은 한층 더 업그레이드가 되어서 전세계 친구들이랑도 할 수 있고, 새로운 모드도 생기고 완전히 바뀌었네요^^

사용자 삽입 이미지
시작하게 되면 아래와 같은 메뉴가 있습니다.
사용자 삽입 이미지
싱글플레이는 저같은 사람이 혼자하는거고(아..슬프네-_-), 멀티플레이는 집에서 리모콘 남는 걸로 같이 하는거고, Wi-Fi는 전세계에 있는 사람이랑 하는겁니다^^ 2명까지 있는 거보니 한대의 Wii에서 동시에 같이 2명이서 접속이 되나봅니다^^ 채널은 랭킹이나 친구가 접속해있는지 확인하는 것 같습니다^^

1. 싱글모드
그랑프리, 타임어택, VS, 배틀 4가지메뉴가 있네요.
사용자 삽입 이미지

왼쪽하단의 Wii Fit이 보이는군요-_-

그랑프리는 1등해서 컵을 따는거고, 타임어택은 혼자서 얼마나 빨리도는냐 하는거고, VS는 그냥 맵에서 겨루는거고, 배틀은 말그대로 팀끼리 배틀하는 겁니다-_-
사용자 삽입 이미지

풍선배틀~ 코인~ Wi-Fi에서 많이 하는 듯...

말그대로 쉽습니다. 풍선배틀은 처음에 시작할 때 풍선 3개 가지고 나오는데, 상대방꺼 많이 터뜨리면 이기는겁니다-_- 코인은 코인 많이 모으면 이기는겁니다-_- 저도 한판씩밖에 안해봐서 잘....-_- Wi-Fi가서 이게 뭐지 하면서 캐관광당했던....

사용자 삽입 이미지
카트는 더 멋있어졌네요^^ 돈 모아서 사고 그런건 없나봐요-_-
사용자 삽입 이미지
Wi-Fi들어가서 첫게임을 했는데, 1등해버렸어요 ㅠㅠ 히힛~ Wii의 단점은 게임하고 있는 사람들끼리 커뮤니케이션을 할 수 없어요-_- XBOX는 마이크로 대화를 할 수 있다지만, 이건뭐..-_- 묵묵히 게임만 해야하는 상황-_-

게임하는 장면은 사진으로 못찍었네요-_- 게임하면서 카메라를 들이댈 수 없어서-_-

마리오카트는 확실히 혼자하는 것보단 친구들이랑 하는 게 재미있을 것 같아요. 몬스터헌터도 나온다던데 국내에도 1년뒤에 나오는거 아닌가 모르겠네요 ^^
 
Posted by 머드초보
,