Tuesday, February 18, 2014

게임 엔진(AndEngine)을 이용한 안드로이드 앱 개발 (4)

Contents
지금은  '어떻게 구현할 것인가'를 고민해야 할 때
아! AndEngine이라는 것을 사용한다면서?
AndEngine의 설치와 활용(준비)






지금은 '어떻게 구현할 것인가'를 고민해야 할 때

앱의 대략적인 디자인을 마쳤다고 치고, 이제 앱을 소프트웨어 개발 측면에서 바라봐야 할 것입니다.

처음 비슷한 앱을 구현할 때엔 단순히 안드로이드에서 제공하는 기본적인 컨트롤을 이용해서만 구현했었습니다. 그런데, 선발 출장 명단을 그냥 텍스트로만 보여주는 게 영 재미가 없더라구요. 나도 밋밋한데 사용하는 사람들은 더 그러하겠다 싶었죠.  그래서, 이미지를 Drag and Drop 해서 운동장위에 포메이션을 배치하도록 수정해 보았습니다. 하지만 그것도 '썩' 괜찮긴 했으나 '쏙' 마음에 들진 않았어요. 화면의 해상도에 따라 고려해야 할 게 너무도 많아서 고민도 컸고요. 그래서 '게임처럼 만들어버리면 쉽겠네' 생각을 한 거죠.

그러다 찾은 게 AndEngine입니다.



아! AndEngine이라는 것을 사용한다면서?

AndEngine의 로고
이 게임 엔진이 가진 가장 큰 장점은 무료라는 것입니다. 심지어 소스코드까지 공개가 되어 있습니다. 그리고, 자바 기반으로 작성된 것이라 안드로이드 게임 앱을 작성하기엔 딱입니다.

물론, 단점도 있습니다. 그 중 가장 피부에 와 닿는 건, 변변한 참조 문서가 없다는 것입니다. 있다해도 대부분은 개인의 블로그이거나 이 엔진을 그래도 더 많이 사용한 사람들의 '아주 간단한' 튜토리얼 뿐이죠. '어떻게 동작하고, 어떻게 처리되길래'라는 궁금이나 의심을 갖는 순간 우리는 해당 클래스의 소스 코드를 살펴봐야 합니다. 이 엔진의 개발자는 문서화에 많은 시간을 할애하지도 않았습니다. (하지만, 소스 코드를 볼 수도 수정할 수도 있다는 건 아주 강력한 힘인 건 분명합니다)

안타까운 건, 호스팅 비용을 포함한 비용의 문제로 개발자가 추가 개발에 많은 어려움을 겪고 있다는 거예요. 업데이트도 더뎌진 상태이긴 합니다(아직까지 충분히 쓸만 하지만요). 이 엔진을 통해 수익을 얻은 사람이라면, 혹은 수익을 얻게 되신다면 지속적인 업데이트를 위해서라도 고려해보시면 좋겠네요. 많이 버셔서요.^^;


AndEngine에 대한 자세한 설명은 개발해 나가면서 하나씩, 조금씩 설명하거나 관련 자료를 연결해 드리도록 하고요. 먼저 우리가 미리 만들어 놓은 프로젝트가 이 라이브러리를 사용할 수 있게 해야겠죠.





AndEngine 사용을 위한 준비

예전에 AndEngine GLES2.0 설치과정에 대한 글을 올린 적이 있어요.(여기) 그 글도 참고하시면서 읽어보시면 될 겁니다

자바나 안드로이드 개발을 해보신 분은 알겠지만, 대부분의 라이브러리는 jar 형태로 제공이 되죠. 그래서 간단히 내가 작업하는 프로젝트에 추가시켜 사용할 수가 있었습니다. 하지만 AndEngine의 경우엔 jar로 제공되질 않습니다.(GLES1.0은 제공되었다고 하는데,, 전 GLES2.0만 써봐서 그때 내용은 모르겠어요. GLES2.0도 JAR로 따로 묶어 사용하는 사람을 보긴 했습니다만 굳이 그렇게 할 필요가 있나 싶기도 해요. 소스 코드를 찾아 읽어볼때도 많거든요. 문서화가 잘 되어있어서 그거보면서 하는 것도 아니고. 딱히 장점이 없을 것 같습니다)

AndEngine의 GIT Repository로부터 현재의 AndEngine,그리고 확장모듈 라이브러리 프로젝트를 통째로 내려 받아오면 됩니다.여기(https://github.com/nicolasgramlich/AndEngine)가서 직접 한 번 보시길 바라요.


Branch가 모두 세 종류인데, 현재 진행중인게 GLES2.0-AnchorCenter네요.



그리고, 예제와 몇 가지의 확장 모듈도 있습니다. 필요에 따라 사용할 수도 있겠네요.



우선 코어만 다운로드하겠습니다. GLES2.0-AnchorCenter로요...
Eclipse Indigo 버전 이후로는 Egit가 기본적으로 설치되어 있으니 New > import... 해서 아래와 같은 창을 엽니다. 그리고, Projects from Git를 선택하고 Next.




그리고, Git Repository의 URI를 입력하라고 하면, https://github.com/nicolasgramlich/AndEngine.git 를 입력하세요.




그리고 나서 branch를 선택해 줘야 합니다. 아까 말씀 드린데로 현재 개발이 진행중인 AnchorCenter 브랜치를 선택할께요.




다음으로 로컬에 저장할 위치를 (원하는 위치로) 지정해 주시면 됩니다.




마지막으로 다운로드한 프로젝트를 import 해주면, 이클립스 내에서 살펴볼 수 있게 됩니다.





Git Repository에 연결해서 다운로드 하고 이클립스에 import 하기까지를 아래에 파일로 추가 했어요.




현재는 코어만 다운로드했습니다. 하지만, 아까 다운로드 할 수 있던 것들 중 Example도 있었죠? 그 예제 프로젝트는 코어 말고도 extensions를 사용하고 있어요. 그래서 예제를 실제 폰에 올려서 실행도 시키고 코드를 살펴보고도 싶다면 extension 들을 설치해 줘야 합니다. 각각의 extension들도 URI와 Repository path만 제대로 입력해주면 동일한 방법으로 다운로드 할 수 있어요. 지금이 아니더라도 예제를 보면서 공부하고 싶다면 다운로드 해서 살펴보시길 바랍니다.

여기서는 굳이 다운로드 하진 않겠습니다. extension까지 사용할 일이 없을 거 같거든요. 나중에라도 필요하게 되면 별도로 다운로드 하겠습니다.





AndEngine을 라이브러리로 사용하기

이제 우리의 프로젝트가 다운로드한 AndEngine 라이브러리를 사용할 수 있도로 해줘야 겠네요. 현재 프로젝트의 properties를 보면 아래 처럼 아무런 외부 라이브러리를 참조하고 있지 않을 거예요.



Add 버튼을 눌러 AndEngine 라이브러리를 추가해 줍시다.





이제 준비는 끝난 거 같네요.





No comments:

Post a Comment