3

我目前正在为 pygame 编写 RTS,并在 pygame 之上为常见的事情编写了许多模块,例如高效的碰撞检测、状态系统和更多特色精灵。现在在编写游戏时,除了 Rect 和 Surface,我几乎没有编写任何对 Pygame 本身的调用。

在谷歌上搜索时,我没有发现任何似乎实际上取代了 pygame 的大部分游戏设计。所以,我想知道是否有其他人使用过任何基于 pygame 构建的引擎并发现它很好用。我还计划将游戏和引擎作为开源发布,所以我想知道其他人做了多少,以及我应该做什么或集成到我的引擎中。

4

1 回答 1

6

Pygame 本身本质上是 SDL 调用的 Python 包装器。我认为本质上你只是在包装一个包装器。

您总是可以构建自己的适配器 API,但是您特别讨厌 Pygame 的 API 的哪些方面,以至于您觉得需要将其与代码分开?

我认为你的通用方法,比如自定义碰撞检测,可以分离到它自己的引擎模块中,基本上将它与你的游戏代码的其余部分分开,但本质上你只是用这种方法在 Pygame 上分层,而不是包装它。

编辑:
就像问题已经改变一样。简短的回答,不,我不熟悉。您可能想查看The Independent Gaming Source 论坛,这些人似乎知识渊博。只要确保您在此处发布您找到的任何答案。

长答案,可能是 Pygame 之间的“引擎”空间,它处理对 SDL 的调用,我认为一些额外的逻辑(如碰撞检测),以及游戏代码本身的空间太小,任何人都无法编写通用代码图书馆。本质上不同类型的游戏有不同的引擎要求,并且所有游戏类型共享的引擎的通用部分似乎由 Pygame 本身覆盖。

如果您在 Pygame 中编写了 RTS 游戏,那么您当然可以将 RTS 引擎与游戏逻辑分开,它可能会通过分离关注点来帮助您的整体设计。此外,可能值得发布该引擎部分,以便其他想要在 Pygame 中编写 RTS 的人可以从中受益。

于 2009-10-23T20:27:02.700 回答