몇 년 전에 C와 C ++의 일부를 작성하고 충분한 수의 플랫폼 추상화를 사용하면 (SDL 등을 통해) 인디가 얻을 수있는 모든 플랫폼에서 실행할 수 있습니다-Linux, Windows, 다양한 버전의 Mac OS , BeOS와 같은 모호한 것들, GP2X 및 사후 드림 캐스트와 같은 개방형 콘솔. 어느 시점에서 폐쇄 플랫폼에 대한 계약을 체결 한 경우 "최소"코드 변경으로 해당 플랫폼으로 게임을 이식 할 수 있습니다.
오늘날 인디 개발자는 XNA를 사용하여 Xbox 360 (및 곧 출시 될 Windows 전화)을 사용해야합니다. XNA를 사용하여 Windows 이외의 다른 곳에서 작업해야합니다. 최근까지 Android에서 Java를 사용해야했습니다. 휴대 전화에서 플래시가 실행되지 않고 IE에서 HTML5가 작동하지 않습니다. 예를 들어 DirectX vs. OpenGL 또는 Windows vs. Unix와 달리, 이것은 코드를 작성하는 핵심 언어에 대한 변경 사항이며 기본적으로 컴파일러를 작성하지 않고서는 문서화 할 수 없습니다. 일부 게임 로직을 스크립트로 옮기고 인터프리터를 포함시킬 수 있습니다. iPhone SDK에서 허용하지 않기 때문에 할 수없는 경우를 제외하고 JIT를 허용하지 않기 때문에 성능이 저하됩니다.
따라서 실제로 크로스 플랫폼 휴대용 게임을 원하거나 엔진 및 로직 코드의 상당 부분을 원한다면 어떻게 할 수 있습니까?
플랫폼이 근본적으로 분기 되었기 때문에 이것이 문제가되지 않습니까? 그러한 게임이 나빠서 공유 코드를 사용하여 iPhone과 Xbox 360을 모두 대상으로 지정하는 것은 가치가 없습니다. (이것은 매우 드 find니다. Windows Mobile 전화와 Android 또는 Xbox 360과 iPad간에 게임을 공유하고 싶어하는 것을 쉽게 볼 수 있습니다.) 이제 이식 시간이 무시할 정도로 인터페이스가 너무 높습니까? (비즈니스 응용 프로그램에는 적합하지만 성능 요구 사항이 엄격한 게임에는 해당되지 않을 수 있습니다.)
앞으로 더 두드러 질 것입니까? 스플릿은 다소 비열한 방식으로 여전히 벤더 라인을 낮추는가? 플랫폼 또는 플랫폼 간 작업을 수행하기 위해 Flash 또는 Unity와 같은 고급 미들웨어에 의존할까요?
tl; dr-문제를 포팅하고 있습니까? 앞으로 더 큰 문제가 될 것입니까? 그렇다면 어떻게 해결할 수 있습니까?