Android 게임 개발자로서 게임을 iPhone으로 크로스 플랫폼 화하려면 게임을 개발할 때 무엇을 명심해야합니까? 이 두 가지 모바일 플랫폼으로의 포팅에 대한 전략, 팁 등이 있습니까?
Android 게임 개발자로서 게임을 iPhone으로 크로스 플랫폼 화하려면 게임을 개발할 때 무엇을 명심해야합니까? 이 두 가지 모바일 플랫폼으로의 포팅에 대한 전략, 팁 등이 있습니까?
답변:
C / C ++로 작성하십시오. 이것이 가장 큰 일입니다. 두 플랫폼 모두 서로 다른 방식으로 C 및 C ++를 지원합니다. Android에서는 NDK를 사용하게됩니다. iPhone에서는 Objective-C 코드와 함께 컴파일 할 수 있습니다.
각 플랫폼마다 C / C ++ 코드를 중심으로 스캐 폴딩을 구축하는 데 시간을 투자해야합니다. 실제로 OS 특정 기능을 게임 코드에 연결하기 때문에이 영역에서 상당히 일반적이어야합니다. 크로스 플랫폼 프로젝트를 하나만 계획하거나 모든 프로젝트에 대해 바퀴를 재발 명하지 않는 경우가 아니라면이 영역에서 뛰어 넘지 마십시오.
OpenGL ES 사용 -두 플랫폼 모두 OpenGL ES를 지원합니다. 그것을 활용하십시오. 이렇게하면 다시 작성해야하는 코드의 양이 최소화됩니다. 각 플랫폼마다 약간의 차이가 있지만 전체 코드의 대부분은 두 가지 모두에서 작동합니다.
플랫폼 / 언어 별 API를 피하십시오. 말할 것도없이 진행되지만 Java에서 작업하는 동안 Java 컬렉션 클래스를 사용하는 것은 쉽습니다. 물론, 위의 첫 번째 규칙을 따른다면 Java를 많이하지 않을 것입니다. 다른 클래스로 포팅하려는 경우 Foundation 클래스가 iOS에있는 것처럼 좋은 방법은 반대입니다.
보시다시피 크로스 플랫폼으로 이동하면 걱정할 사항이 많이 있습니다. 소규모 인디 개발자라면 시간 가치가 없을 수도 있습니다. 여러 플랫폼을 대상으로 할 수 있도록 자신 만의 길을 실제로 만들고 싶은지 평가해야합니다. 보다 빠른 개발주기를 위해 각 플랫폼이 제공하는 것을 활용하는 것이 좋습니다.
행운을 빕니다!
Java> Objective-C에서 진행되는 과정은 상당히 고통 스럽습니다.
데이터 중심 데이터 중심
의 게임을 만드십시오. 나는 이것이 스스로를 의미한다고 생각하지만,이 방향은 당신이 완전히 다시 구현 해야하는 작업을 줄입니다.
높고 단단한
물건을 매우 작고 모듈화하십시오. 구성 요소를 쉽게 가져 와서 구현하고 테스트하고 반복 할 수 있으면 이식하기가 훨씬 쉬워지기 때문에 이것을 말합니다.
계약 업무
카드를 올바르게 재생하면이를 처리 할 수있는 사람을 알게 될 것입니다. iPhone 개발자와 가장 친한 친구라면 일부 박사를 구입할 수 있습니다. 코드를 마이그레이션하는 데 도움이됩니다.
멀티 플랫폼 엔진 사용
프로젝트가 이미 진행 중이라면 그다지 의미가 없습니다. 그러나 프로젝트를하려고한다면, 다른 플랫폼으로 포팅 될 것이라는 것을 절대적으로 알고 있다면, 기존 기술을 활용하여 세상을 통합하는 데 도움이 될 것입니다. Unity3D 는 Unity 3.0으로 Android를 지원할 예정입니다.
Conversion / shudder / Tool
그리고 내가 가장 좋아하는 권장 사항은 일종의 변환 도구를 사용하여 적어도 Java> C에서 모델을 변환 할 수 있다는 것입니다 ...하지만 ... 나는 그것을 보증하지 않습니다.
이 글타래에 2 센트를 더할 것입니다-다른 많은 사람들이 말한 것처럼 크로스 플랫폼 언어로 게임을 작성하는 것을 고려하십시오 ...하지만 C #을 고려하십시오! 그것은 관리되는 강력한 언어이며 C ++이 게임 개발을 도울 수없는 많은 훌륭한 기능을 제공합니다- 모든 종류의 플랫폼에서 실행되는 XNA와 비슷한 MonoGame으로 알려진 훌륭한 라이브러리 가 있습니다. 이 글을 쓰는 시점에서 버전 3.0부터는 본격적인 게임을 작성하고 모든 모바일 플랫폼으로 쉽게 포팅 할 수 있습니다.