gpt4 book ai didi

python - 游戏交叉编译打包

转载 作者:太空狗 更新时间:2023-10-30 00:25:42 28 4
gpt4 key购买 nike

我和一些 friend 想开发一款游戏。任何语言都可以。我用 C 编程多年,但以前从未写过游戏。我们中的一个人对 SDL 有一点了解。这也是学习 Python+pygame 的一个很好的借口。

我们希望我们的游戏是“独立的”。所谓独立,我的意思是大多数用户(至少是 Linux、Mac 和 Windows)不需要手动下载和安装除软件包之外的任何其他东西。如果安装自动处理缺少的依赖项就可以了。如果包包含二进制文件,我们希望能够使用 Linux 的交叉编译生成它们。

我们应该如何打包和构建项目,哪种语言最适合?

最佳答案

如果您以前没有编写过游戏程序,我建议您从 Python 和 Pygame 开始。如果您已经是一名程序员,Python 本身非常容易学习,因此这对您来说不会有太大的飞跃。

使用 Pygame,您几乎不需要花时间编写“胶水”或处理窗口管理和声音设置等平凡的低级细节——您几乎可以立即开始编写游戏逻辑,而且您很快就会 向左和向右发送。更重要的是,运行您的游戏原型(prototype)将非常容易,这样您就可以开始试验机制 - 我在几个小时内编写了一个简单的小型横向卷轴平台游戏。

性能

Python 与 Pygame 的性能对于简单的游戏来说通常是不错的,尽管“平滑滚动”的游戏可能表现不佳,尤其是在 Linux 上(根据我的经验,至少 - pygame.display.update() 在 Linux 上每帧花费 15-30 毫秒,在 Windows 上使用便宜的 Intel 显卡花费 4-5 毫秒,尽管这是两年前的事了,而且 Linux Intel 驱动程序最近有所改进)。此外,如果您有大量物理/数学代码 Psyco可以为您带来巨大的加速(在某些情况下为 20% - 200%),尽管您将在 x86 计算机上仅限于 32 位 Python。

一旦你搞定了大部分游戏逻辑,如果性能仍然不能令人满意,你可以切换到 C 和 SDL。由于您已经编写了游戏逻辑,因此您只需专注于直接处理 SDL。即使这样也应该相当简单 - Pygame 内部使用 SDL,因此翻译应该相对简单。

OpenGL

不幸的是,以上内容仅在您编写 2D 游戏时适用 - Pygame 基本上无法为您提供 OpenGL 帮助。但是,我推荐使用 OpenGL 开始游戏编程。一开始可能很难理解,所以您会同时遇到两个问题 - 首先,您要弄清楚如何获得游戏逻辑/物理/AI/等。工作,然后你就很难理解 OpenGL。最终学习 OpenGL 是值得的,但不是从头开始 - 最好从基础开始,然后从那里开始。

跨平台注意事项

就跨平台问题而言 - py2exe (适用于 Windows)和 py2app (对于 Mac)允许您构建包含您的依赖项(包括 Python 解释器和 Pygame)的单个可执行文件;但是,我认为您无法从 Linux 环境构建可执行文件(您可能必须能够借用 Windows/Mac 计算机几分钟)。对于 Linux,您可能只需分发一个将 Pygame 列为依赖项的 .deb(必要时将 Psyco 列为推荐或建议)。

关于python - 游戏交叉编译打包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2401599/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com