基于pygame构建的引擎

Nik*_*win 3 python pygame

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

谷歌搜索这个,我还没有找到任何似乎实际上接替pygame的大部分游戏设计.所以,我想知道是否有其他人使用任何基于pygame构建的引擎,并发现它很适合.我还计划将游戏和引擎作为开源发布,所以我想知道其他人做了多少,所以我应该做什么或整合到我的引擎中.

Jam*_*hon 6

Pygame本身就是SDL调用的Python包装器.我认为从本质上讲,你只需要包装一个包装器.

您总是可以构建自己的适配器API,但是您对Pygame的API有什么特别的不喜欢,以至于您觉得需要将它与代码分开?

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

编辑:
就像现在跟进一样,问题已经改变了.简短的回答,不,我不熟悉任何.您可能想查看独立游戏源论坛,这些人似乎相当知识.只需确保发布您在此处找到的任何答案.

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

如果您已经在Pygame中编写了RTS游戏,那么您当然可以将RTS引擎与游戏逻辑分开,它可能会通过分离问题来帮助您的整体设计.此外,它可能值得释放该引擎,以便其他想要在Pygame中编写RTS的人可以从中受益.