안드로이드 게임 sdk 소개 (by wono77)

 

안녕하세요, 하얀별(블랙독)입니다.

 

안드로이드 초창기부터 게임을 만들고 싶어서 오픈 게임 sdk가 있나 하고 찾아 다녔었습니다. 게임을 만들어보고 싶은 방황은 대학교 1학년 때부터 해서 아직까지도 계속 되고 있네요. 안드로이드 게임 sdk를 찾는 제 주 관점은 ndk, jni를 사용하지 않고 순수 java로만 된 엔진을 찾자 입니다. 물론 유료 sdk에는 유니티 같은 것이 있습니다만, 제가 찾는 건 무료 오픈 소스입니다.

 

2년전에 처음 관심이 있던건 rokon이었는데, 요즘은 프로젝트가 중단된 듯 하네요.

 

최근에 여유가 좀 생겨서 다시 검색을 하다보니 주로 눈이 가는것 2d sdk는 3개가 있었는데, AndEngine, libGDX, cocos2d-x, AndEngine 이렇게 3개입니다. (3d 게임 프로그래밍은 3d 랜더링을 직접할 자신이 없어서 패쓰합니다. 3d 안드로이드 게임 sdk는 jmonkeyengine라는 게 좋아 보이네요. http://code.google.com/p/jmonkeyengine/ ) 이 중 AndEngine은 샘플을 설치해서 보면 꽤 구미가 당깁니다. libGDX는 마리오 제흐너의 책을 사서 가볍게 훑어 본적이 있었는데, 메가점프와 유사한 jumper 예제가 있더군요. 그런데 소스에 손을 대볼려니 어디서 부터 해야하는 것인지 어렵더군요.  공식사이트에 가서 살펴보니, 샘플들이 거의 c를 사용하고 있는것 같습니다.

cocos2d-x는 아이폰과 동시에 개발할때 쉽다는 장점이 있을것 같습니다.

 

이것들을 살펴보면서 역시 게임 개발은 안드로이드를 한다고 해도 c를 동시에 해야만 하는가하고 처음의 관점을 접게 되는군요. 3가지 sdk 중 AndEngine에 한번 집중해볼까 합니다. 저도 설치하고 공부하면서 강좌 형식으로 문서를 한번 정리해보겠습니다.

 

3가지 안드로이드 게임 sdk의 내용과 링크를 간략하게 소개드립니다. 안드로이드 게임 프로그래밍을 하실 생각이라면, 아래 sdk들을 살펴보시고 자신에게 가장 맞는 sdk를 고르시면 되겠습니다.

 

* AndEngine

- 공식사이트 http://www.andengine.org/

- example : http://code.google.com/p/andengineexamples/

- box2D extention: http://code.google.com/p/andenginephysicsbox2dextension/

- github의 소스 : https://github.com/nicolasgramlich/AndEngine

- 안드로이드펍의 정리글 : http://www.androidpub.com/2052035 (ndk 설치하고 진행한것 같은데 이분처럼 설치 할 필요는 없을듯합니다. 이분이 정리한 링크가 좋아보임)

- 삭신님의 AndEngine 강좌 (AndEngine.jar 생성하기 http://saksin.tistory.com/m/post/view/id/903 을 시작으로 좋은 강좌가 있습니다.)

- 샘플: 아래 QRCode를 통해 샘플을 해보면 화려하게 차려놓은 밥상에 입이 쩍 벌어집니다. 메뉴 터치를 통한 객체이동, 센서를 통한 이동, 가속도 물리엔진, 배경 스크롤, 맵배경에서의 스프라이트 이동과 충돌 등 이 안에 제가 원하는 종합 선물 세트가 있더군요.

 

[ 샘플의 마켓 qrcode ]

폰에서는 이 QRCode를 인식해서 설치하지 마시고, 마켓에서 "AndEngine"로 검색해서 설치하시는것이 편합니다.

  

* libGDX

마리오 제흐너(저서: http://book.naver.com/bookdb/book_detail.nhn?bid=6738102)가 만든 sdk입니다.

마리오 제흐너의 저서 "안드로이드 게임 프로그래밍"에서는 c를 사용하고 있지 않지만, 공식사이트에 들어가서 샘플들을 보면 c로 개발하고 있습니다.

- 공식사이트 : http://libgdx.badlogicgames.com/

- 라이브러리 다운: http://code.google.com/p/libgdx/

- 애돌이님의 강좌

1) libGDX 시작하기 : http://edoli.tistory.com/entry/LibGDX-LibGDX-시작하기

2) libGDX 효과내기 : http://edoli.tistory.com/entry/Libgdx-PostProcessing-멋있는-효과-낼-수-있는-라이브러리

 

* cocos2d-x, cocos2d-android

아이폰 게임 개발에 주로 쓰이는 cocos2d의 안드로이드용입니다.

 

cocos2d-x는  아이폰의 cocos2d를 라이브러리로 사용해서 메인 코드를 c로 작성하는 방식을 사용합니다. 틀만 java로 되어 있고 주요 소스는 c로 구현하셔야 합니다. 외국의 많은 개발자들이 현재 안드로이드에서 cocos2d를 사용하려면 cocos2d-x를 사용하고 있는 듯 합니다.

 

cocos2d-android는 cocos2d를 자바용으로 포팅해서, 모든 개발이 자바로 가능한듯한데, 현재 프로젝트가 종료된듯 합니다.

 

그래서 cocos2d-x 샘플들을 보면 adnroid용을 위해서 java 부분은 거의 틀만 만들고, 실제 구현은 classes란 부분에서 c로 개발하는 형태입니다. cocos2d-x 에 능통해지면 안드로이드와 아이폰 양쪽 게임 개발을 동시에 빠르게 할 수 있는 장점이 있을 듯 합니다.

 

- 튜토리얼 & 가이드리스트: http://stackoverflow.com/questions/10711047/the-completest-cocos2d-x-tutorial-guide-list

- 라이브러리: http://code.google.com/p/cocos2d-android/

- 쿡지님의 cocos2d-x 강좌 : http://cookzy.tistory.com/category/프로그래밍/Cocos2dX

- 터치이벤트 예제 소스: http://devthink.tistory.com/21

- 설치부터 실행까지 : http://grosh.tistory.com/152

- cocos2d-android, cocos2d-x 어떤것을 사용할 것인가? :

http://stackoverflow.com/questions/8483877/cocos2d-x-vs-cocos2d-android-for-an-android-game 

 

* rokon

- 정식페이지 :  http://code.google.com/p/rokon/ - 프로젝트 중단

 

* 3d 안드로이드 게임 sdk

- jmonkeyEngine

공식사이트: http://jmonkeyengine.org/ 

소스 : http://code.google.com/p/jmonkeyengine/ 

 

* 참조글

sdk들 소개 : http://blog.naver.com/jungbostyle?Redirect=Log&logNo=130110864588

슈팅게임에서의 배경 스크롤(안드로사이드) : http://www.androidside.com/bbs/board.php?bo_table=422&wr_id=11&page=2

 

이와 같이 세계적으로 많이 사용하는 안드로이드의 게임 sdk에는 어떤 것이 있는지 한번 살펴보았습니다. 저는 이 중, 예제가 잘 정리되어 있는 AndEngine을 선택해보았습니다. AndEngine을 공부해보면서 강의 형식으로 한번 정리해 보겠습니다.

 

* [ 블랙독의 "AndEngine으로 배우는 안드로이드 게임 프로그래밍"

- 나도 이제 안드로이드 게임개발자!! 강좌 리스트 ]

AndEngine 6강 - 충돌 구현 : http://blog.naver.com/wono77/140176342020

AndEngine 5강 - 점프 구현 : http://blog.naver.com/wono77/140174350342

AndEngine 4강 - 터치, 이미지 출력/해제, 폰트 변경 : http://blog.naver.com/wono77/140173160582

AndEngine 3강 - Examples(예제) 실행하기 : http://blog.naver.com/wono77/140172587747
AndEngine 2강 - 샘플 프로젝트 생성 : http://blog.naver.com/wono77/140172586342
AndEngine 1강 - andengine.jar 생성하기: http://blog.naver.com/wono77/140172582693
안드로이드 게임 sdk 소개 : http://blog.naver.com/wono77/140172218034

 

 안드엔진 까페( http://andengine.co.kr)로 놀러 오세요~~~!!

 

도움이 되셨다면 댓글 살짝 남겨주시는 당신은 센스쟁이~^^*

안녕하세요. 블랙독입니다. ^-^
제가 운영하는 데브모바일(http://devmobile.co.kr), 데브게임즈(http://devgames.co.kr)에도 놀러오세요~