안드로이드 게임 어플리케이션을 제작하려는 대학생입니다.
안녕하세요, 현재 대학교 졸업 작품을 위해 안드로이드 공부를 시작한 대학교 3학년 생입니다.
안드로이드로 온라인 게임 '포트리스'와 유사한 1:1 온라인 대전 포쏘기 게임을 만들려고 하는데요,
어떤 방법으로 게임을 만들지 고민 중입니다.
교수님께서는 Java로 연산 등 눈에 보이지 않는 처리를 하고, 안드로이드로는 UI라든지, 그래픽 처리만 하라고 하셨는데,
Java로 소스를 만들어서 안드로이드 프로젝트와 어떻게 연관을 지어야 게임을 만들 수 있는 건가요 ?
일단 현재 저의 상황입니다.
1 > C, C++, Java는 다 배웠는데 안드로이드는 처음이라 막막합니다.
2 > JDK, eclipse(classic)은 설치 완료했습니다.
3 > 현재 가지고 있는 책은 "한빛미디어/안드로이드 프로그래밍 정복(개정판 전꺼입니다.)/김상형",
"제이펍/안드로이드 게임 개발편/박승제" 입니다.
이제 질문입니다.
1 > Java와 안드로이드로 짠 소스를 어떻게 연관지어서 게임을 만들 수 있나요 ?
2 > 1번과 같이 외부/내부를 나누어 설계를 했을 경우, 유지 보수가 쉬울 것 같긴 합니다만, 제작에는 더 어려움이 있겠지요 ?
3 > 1번과 같이 Java와 안드로이드로 나눠서 프로그래밍했을 경우, 어느 정도를 Java로 구현하고 어느 정도를 안드로이드로 할 것인지는 알아서 결정해야 하나요 ?
4 > 만약 1번과 같이 하는 것을 추천하지 않는다면, 다른 좋은 방법을 추천해주실 수 있나요 ?
너무 말이 길었네요 ^^;;
고수님들의 주옥 같은 답변 열렬히 기다리고 있겠습니다. ㅠ _ㅠ




안드로이드 sdk 가 java 중심으로 되어 있기 때문에 sdk에서 개발시에는 java 와 안드로이드의 개념은 무의미 합니다.
만약 sdk + ndk 환경에서 하셨다면 연산부분을 C,C++ 로 UI 부분을 Java 로 하시고 C,C++ 소스를 ndk 빌드 하셔서..
jni 연결을 통해 Java 와 소통을 하면 위에 언급한 4가지의 이슈들이 상황에 맞아 떨어집니다.
1 C , C++ 과 안드로이드와의 연관성 -> Jni 를 통해 연동한다.
2. 내부/외부? -> native 환경에 맞는 C , C++ 로 하였기 때문에 연산속도가 빠른 장점을 취하여 연산속도 문제를 Java단에서 극복할 수 있다
3. 주로 UI 및 이벤트 핸들링 부분과 디바이스 연동(예를 들어 사운드 출력 , 터치이벤트제어 , 카메라 , 기타등등) 부분을 Java 로 하고 순수 연산 부분을 C,C++ 로 하는데 ndk r5에서는..
java 없이도 구현 가능하도록 ndk 환경을 지원하고 있음
4. .....