跨平台独立开发
几年前,如果您使用C和C ++的某些子集编写并使用了足够多的平台抽象(通过SDL或其他方式),则可以在独立的平台上运行的每个平台上运行-Linux,Windows,各种版本的Mac OS ,诸如BeOS之类的晦涩难懂的内容,以及GP2X和死亡后Dreamcast之类的开放式控制台。如果您在某个时候获得了一个封闭平台的合同,那么您也可以通过“最少”的代码更改将游戏移植到该平台上。 今天,独立开发人员必须使用XNA才能安装Xbox 360(以及即将推出的Windows Phone)。不得使用XNA在Windows以外的其他任何地方工作;直到最近不得不在Android上使用Java;Flash无法在手机上运行,HTML5无法在IE上运行。与DirectX vs. OpenGL或Windows vs. Unix不同,这些是对您编写代码所用的核心语言的更改,并且基本上没有编写编译器就无法改写。您可以将一些游戏逻辑移到脚本中并包括一个解释器-除非您不能这样做,因为iPhone SDK不允许这样做,并且由于没有人允许JIT而导致性能下降。 那么,如果您想要一款真正的跨平台便携式游戏,甚至只是大量的引擎和逻辑代码,该怎么办? 这是不是一个问题,因为平台从根本上存在分歧-尝试使用任何共享代码同时针对iPhone和Xbox 360定位是不值得的,因为这样的游戏会很糟糕吗?(我觉得这不太可能。我很容易看到想要在Windows Mobile手机和Android或Xbox 360和iPad之间共享游戏。)现在接口如此高级,以至于移植时间可以忽略不计吗?(我可能认为这适用于业务应用程序,但不适用于对性能有严格要求的游戏。) 将来会变得更加明显吗?分裂会在某种程度上还是仍然在厂商线下吗?我们是否都将依靠Flash或Unity等高级中间件来完成跨平台的任何工作? tl; dr-移植有问题吗,将来会成为更大的问题吗?如果是的话,我们如何解决呢?