【问题标题】:How to go about porting a Mac OSX game to Linux如何将 Mac OSX 游戏移植到 Linux
【发布时间】:2011-07-10 20:41:32
【问题描述】:

对于移植初学者如何开始这样的项目有任何专家建议吗?任何可能有用的移植指南或资源?常用战术?

我的想法是帮助使游戏跨平台兼容,但我不知道如何开始。该代码是开源的(任何感兴趣的人:https://github.com/prophile/xsera)。它看起来像是用 C++ 编写并使用 Lua 脚本。

【问题讨论】:

    标签: linux macos cross-platform porting


    【解决方案1】:

    我本来建议使用 SDL (the Simple DirectMedia Layer),这是一个很棒的跨平台游戏开发库,可帮助您处理输入事件、图形、音频等。但是,它看起来就像是您的游戏报告已经通过一个名为“Apollo”的游戏引擎基于 SDL,该引擎被设计为跨平台:

    Apollo 使用 SDL 和 OpenGL 来实现图形和跨平台兼容性,这意味着任何基于 Apollo 构建的游戏都可以在 Windows、Mac OS X 和 Linux 上运行。

    您是否尝试过联系作者询问 Linux 移植的进展情况,以及是否有什么特别的事情可以帮助您?听起来from the FAQ 好像正在进行一些这样的努力,你不想不必要地重复努力。

    在一个假设的更困难的情况下,您只有一堆编写的源代码,而没有关注其可能的可移植性,我想说将游戏从一个平台移植到另一个平台往往是一个迭代过程阅读源代码并对其进行刺激,直到它完成您想要的操作,包括:

    • 了解代码的某些部分(关键点!)
    • 试图让它编译
    • #ifdef删除你暂时不需要的部分
    • 用一些精简的跨平台库中的功能替换低级功能
    • 定期提交
    • 尽量避免破坏现有支持平台上的任何内容

    ...最好是先尝试让某些东西工作,这意味着即使是基本的构建系统也到位,等等。

    但是,由于原作者明确打算将此游戏移植到 Linux,它应该比这容易得多 - 容易程度在很大程度上取决于您的经验和掌握您不了解的系统的热情。

    【讨论】:

    • 实际上原作者是为 Classic Mac 写的,这个游戏是它的一个端口,但现在开发主要是在 Mac OSX 版本上进行(我询问了开发人员,游戏没有t 在 Linux 上测试过)。
    猜你喜欢
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多