게임 개발/Cocos2d-x 18

cocos2d-x 3.17 이상에서 빌드 목록 작성 android.mk 대신 CMakeLists.txt 사용

얼마전 안드로이드 스튜디오가 3.3 으로 정식 업데이트 되었지요. 6개월정도 방치해 두었다가 다시 꺼내든 두개의 cocos2d-x 프로젝트 두개... 빌드하려고 하니 에러가 나면서 빌드가 되지 않습니다. 기존 프로젝트 하나는 cocos2d-x 3.16 버전, 또 하나는 더 오래된 버전으로 개발했었죠. 이유는... NDK 가 업데이트 되면서 더이상 gcc 를 지원하지 않습니다. 그래서 gradle.build 를 수정했더니... 안드로이드 스튜디오가 무한 인덱싱 빠집니다. ㅡ,.ㅡ 그냥 cocos2d-x 최신 버전으로 업데이트 하기로 합니다. 이번에도... 역시나 여기저기 바뀐 것들이 많아서 새로 프로젝트 생성하는게 빠르다고 결론이 났습니다. 현재 cocos2d-x 최신 버전은 3.17.1 이며, 일부 경고..

cocos2d-x 3.16 에서 구글 인앱빌링 AIDL 추가

개발 환경맥OS X High Sierra / Android Studio 3.1 / cocos2d-x 3.16 지금 cocos2d-x (버전 3.16) 을 사용하여 게임 개발 작업을 하면서, 인앱 빌링을 사용하기 위해 작업중입니다. 구글의 공식문서를 통해 인앱 빌링을 추가하려고 하니, AIDL을 프로젝트에 추가해야 한다고 합니다. https://developer.android.com/google/play/billing/billing_integrate.html 먼저, 현 시점 구글의 한글 문서 (https://developer.android.com/google/play/billing/billing_integrate.html)는 사용할 수 없습니다. 지금 사용하고 있는 안드로이드 스튜디오 3.1의 SDK Ma..

cocos2d-x 3.16 NDK r16 armeabi deprecated 에러

cocos2d-x 3.16 버전을 사용하고 있습니다. 오늘자 기준으로 안드로이드 스튜디오에서 NDK를 설치하니, r16 버전이 설치가 됩니다. 여기서 프로젝트를 생성하고, 안드로이드 스튜디오에서 빌드하면, Error:(81) Android NDK: Application targets deprecated ABI(s): armeabi 이라는 에러가 발생합니다. 이 에러가 발생해도, 실행이 되긴 합니디만, 이 에러 다음줄에 보면 다음부터는 이 ABI를 지원하지 않을것이라는 경고가 있으니 그대로 사용하기가 좀 꺼려집니다. 어차피 대부분 안드로이드 기기는 ARM계열에서 사용하니 (특별히 ARM기기를 사용하지 않는 분들은 알아서 설정 하시시라 생각 됩니다.), NDK 디폴트로 빌드 되도록 약간의 수정을 하면, 이 ..

Sprite3D 지원하는 Cocos2d-x v3.2 정식 버전 발표

2014년 7월 19일자로 cocos2d-x.org에, Cocos2d-x 3.2 정식 릴리즈가 업로드 되었습니다. 이번 버전에서는 3.1에서 추가되기 시작한 3D 모델에, 3D 스켈레톤 애니메이션을 지원하는 것이 눈에 띄는군요. 소개글 서두에 이번 버전의 특징을 잘 요약 하는 것 같습니다. v3.2부터, 여러분은 3D 스켈레탈 애니메이션과 함께 3D 캐릭터를 만들 수 있습니다. 여러분은 여러분의 cocos2d-x 게임에 iOS와 안드로이드 둘 다 게임 컨트롤러를 붙일 수 있습니다. 그리고 Lua와 JavaScript 코딩을 지원하는 새로운 Code IDE를 소개합니다. 이번 버전의 특징은,- 새로운 3D 애니메이션의 지원으로 2.5D 게임이나 간단한 3D 게임을 제작할 수 있을것.- iOS와 안드로이드를..

Cocos2d-x v3.0 정식 버전 발표

드디어, 오늘날짜(2014/2/24)로 Cocos2d-x v3.0 의 정식버전이 발표되었습니다. 그동안 긴 알파와 베타, RC를 거쳐 드디어 발표되었네요. 자세한 내용은, Cocos2d-x.org의 뉴스페이지의 http://cocos2d-x.org/news/215 에서 살펴볼 수 있습니다. 이전 3.0RC2에 비해서 몇가지 버그들이 수정되었고, 약간의 기능추가가 있었던것 같습니다. 자세한 변경 로그는 https://github.com/cocos2d/cocos2d-x/blob/cocos2d-x-3.0/CHANGELOG 에서 확인 할 수 있습니다. 또한 릴리즈 노트를 보면, 이번 3.0 버전의 많은 특징들을 살펴 볼 수 있습니다. 릴리즈 노트는 https://github.com/cocos2d/cocos2d-..

Cocos2d-x 에서 iOS와 안드로이드 배경음악 종류 분리

게임을 제작할때 BGM(배경음악)은 거의 필수라고 할 수 있을 것입니다. 모바일 게임을 제작할 때 BGM 파일 포맷을 어떤것을 사용하나요? MP3의 경우 톰슨멀티미디어가 특허 라이선스를 관리하고 있기 때문에 예전에 PC 게임 제작하는 업체들은 MP3대신에 OGG를 많이 사용하였습니다. 특허문제는 나중에 큰 문제가 될 수 있기 때문에 (MP3는 적극적으로 감시하는것으로 압니다) 주의 깊이 사용해야 할 것입니다. (종종 특허나 라이선스, 저작권등에 둔감하신 분들이 계시더군요.) iOS의 경우는 MP3를 그대로 BGM으로 사용하는 경우도 많은것 같습니다만, 안드로이드의 경우는 PC와 같이 특허를 피하기 위해 OGG를 쓰는것이 안전한것 같습니다. 여튼 특허 라이선스 문제로 들어가면 일이 복잡해 집니다. (예전에..

[Cocos2d-x] iOS 7이상에서 런치 이미지 페이드아웃 방지

어플리케이션을 개발 할 때, 일반적인 어플리케이션의 경우도 가끔 필요할 때가 있지만, 특히 게임의 경우 여러가지 이유로 런치 이미지(Launch Image, 또는 Splash Screen)를 필요한 만큼 보여주거나 커스터마이징 해야 할 필요가 있습니다. iOS의 경우는 기본적으로 Xcode에서 런치 이미지를 지정하여 프로그램이 실행될때 바로 해당 이미지가 나오게 되며, 프로그램 로딩이 끝나면 사라지게 됩니다. 그래서 Cocos2d-x의 사용자의 경우, 보통 런치 이미지를 연결해서 보여주기 위해 첫번째 씬을 런치 이미지가 나타나게 하고, 여기서 타이틀로 넘어가기 전에 필요한 처리를 하고 타이틀씬으로 넘어가는 과정을 거치게 되지요. 문제는 iOS 6까지는 아무런 문제가 없었지만, iOS 7부터는 똑똑한(?)..

Cocos2d-x 3.0 RC0 신규 프로젝트 만들기 (빌드 및 실행 포함)

3월15일자로 Cocos2d-x 3.0 RC0가 발표되었지요. 다운로드해보니, 또다시 프로젝트 생성방법이 베타버전과 달라졌습니다. (create_project.py가 없는듯 합니다) Cocos2d-x 공식 사이트에서는 이번 버전에 cocos consol 이라는 커맨드 라인 툴을 추가했다고 알려 줍니다. 설명에 의하면 이 툴의 비전은 "커맨드 라인툴은 당신이 당신의 게임을 생성하고, 실행하고, 퍼블리싱하고, 디버깅하고, 그외 여러가지를 할 수 있도록한다. 이것은 cocos2d에게 있어 스위스 아미 나이프(흔히들 말하는 맥가이버칼)이다."라고 거창(?)하게 적어 두었네요. 여튼, 중요한건 당장 프로젝트를 생성해야 하는데, 방법이 달라졌으니 어떻게 하는지 살펴보죠. 먼저, 벤더에서 밝힌 Cocos2d-x 3...

Cocos2d-x 3.0 RC0 출시 소식

오픈소스 게임엔진인 Cocos2d-x 3.0이 베타버전을 벗어나, 버전 3.0 RC0로 2014년 3월 15일에 출시되었습니다. 제작사측에서 발표한 이번 릴리즈의 주요 변화점은 아래와 같습니다. 성능향상을 위해 스프라이트 자동 컬링 기능이 추가 되었으며, 트랜스폼이 필요할때에만 일어나도록 업데이트 되었다고 합니다.cocos 라는 커맨드 라인 툴을 이용하여 게임 프로젝트를 생성하고 실행시킬수 있는 방법을 만들었다고 합니다.환병변수를 설정하는 setup.py가 추가 되었습니다.Label에서 쉐도우와 아웃라인을 커스터마이징 할 수 있게 되었으며,스케쥴러에서 std::function을 파라미터로 사용할 수 있게 되었고,iOS의 경우 arm64버전 빌드를 위한 Xcode 5.1을 지원합니다.자세한 소식은 Coco..

Adlib 에 구글플레이서비스의 애드몹 적용하기

아마 구글 애드몹 또는 애드립(www.adlibr.com)을 사용하시는 분들 많이 있을 것 같습니다. 어제 요즘 작업하고 있는 프로젝트에 구글 플레이의 게임 서비스들을 붙여보려고 어제 시도를 했었는데요, 구글 개발자사이트의 안내대로 게임 서비스를 적용하는 작업중, 아래와 같은 에러가 발생 하더군요. 빌드 자체에서는 에러가 났다 안났다 하는데 (이클립스가 참 이랬다 저랬다 하네요...), 실제로 실행을 시키려 하면 아래와 같은 에러가 반드시 나더군요. [2014-03-07 16:04:23 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/google/ads/AdRequest$ErrorCode;[2014-03-07 16:04:23 - p..