SDL - 跨平台开发

5

我将在接下来的几个月参加一个小型游戏比赛。比赛要求提交的作品能够在Linux上编译(在比赛运行/评估之前会进行编译)。我将使用SDL和C++进行开发。我之前只在Windows上进行过开发,并且我已经习惯了Visual Studio所提供的好处。我希望能够在Windows上使用VS进行开发,然后在开发的后期将其迁移到Linux上。除了确保SDL已经安装在Linux机器上之外,我还可以在开发过程中做些什么使这个过程更容易呢?此外,比赛规则明确要求:

它必须在开放平台上工作(我们强烈建议确保您的程序在现代GNU/Linux版本上运行,因为所有评委都可以访问)。

我认为在Ubuntu上编译/运行(我已经有一个家庭服务器)就足够了吧?

2个回答

5
您的问题有些开放式,但我的第一个建议是从一开始就使用适当的跨平台构建系统,例如CMake。我建议不要在最后时刻“迁移”到Linux;您可能会面临紧张的时间表(也许会遇到您没有预料到的问题)。因此,对(可工作的)Linux版本进行连续构建将有助于减轻您的担忧。
此外,如果游戏仅在Linux下运行,为什么不在虚拟机中安装Ubuntu,并熟悉其中一个开发环境,如kdevelop或qtcreator?与您正在开发的平台直接接触难道不会使事情变得更容易吗?

我认为最终“迁移到”Linux不是一个好主意。支持多个平台并不容易,而且在工作过程中发现差异更容易。 - Max Frai
理想情况下,我希望它能在Windows上运行。比赛规定可以在Windows上运行,但至少要在Linux上运行/编译才能供评委使用。由于我对此很陌生,所以我认为只是将我的代码移植到Linux机器上并在那里重新编译非常困难,如果不是天真的话?我的意思是,我还希望其他朋友在提交之前帮助测试游戏,或者至少玩一下,他们都会运行不同版本的Windows。忽略这一点,从一开始就全部在Linux中完成是否最好? - will
@will 我认为你不能简单地移动代码并重新编译。也许我太悲观了,但这里肯定会有一些平台特定的差异,你应该从一开始就考虑到这些差异。另一方面,跨平台开发是不错的选择。然而,我对于游戏开发中的平台无关工具包没有全面的了解。也许其他的帖子发布者可以在这方面提供帮助? - Gnosophilon

1
我正在开发游戏,就像你一样。我建议你使用SFML库来实现这个目的。它不是很大,非常适合入门。
在那里,你可以使用:
  • 2D渲染器(OpenGL)
  • 字体
  • 计时器
  • 图像/精灵包装器
  • 后期效果/着色器
  • 声音
  • 网络
this页面上,你可以找到一些入门示例。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接