Pygame 本身本质上是 SDL 调用的 Python 包装器。我认为本质上你只是在包装一个包装器。
您总是可以构建自己的适配器 API,但是您特别讨厌 Pygame 的 API 的哪些方面,以至于您觉得需要将其与代码分开?
我认为你的通用方法,比如自定义碰撞检测,可以分离到它自己的引擎模块中,基本上将它与你的游戏代码的其余部分分开,但本质上你只是用这种方法在 Pygame 上分层,而不是包装它。
编辑:
就像问题已经改变一样。简短的回答,不,我不熟悉。您可能想查看The Independent Gaming Source 论坛,这些人似乎知识渊博。只要确保您在此处发布您找到的任何答案。
长答案,可能是 Pygame 之间的“引擎”空间,它处理对 SDL 的调用,我认为一些额外的逻辑(如碰撞检测),以及游戏代码本身的空间太小,任何人都无法编写通用代码图书馆。本质上不同类型的游戏有不同的引擎要求,并且所有游戏类型共享的引擎的通用部分似乎由 Pygame 本身覆盖。
如果您在 Pygame 中编写了 RTS 游戏,那么您当然可以将 RTS 引擎与游戏逻辑分开,它可能会通过分离关注点来帮助您的整体设计。此外,可能值得发布该引擎部分,以便其他想要在 Pygame 中编写 RTS 的人可以从中受益。