2009-10-23 15 views
3

我目前正在为pygame编写一个RTS,并且在pygame上面写了一些常见的东西模块,比如高效的碰撞检测,状态系统和更多特色的精灵。现在在编写游戏时,除了Rect和Surface之外,我几乎不写任何对Pygame本身的调用。构建在pygame上的引擎

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

+2

我想你可能会滥用术语包装这里。你实际上是在谈论一个在Pygame之上的游戏引擎吗? – 2009-10-23 20:35:12

+0

我认为你是正确的,我的意思是一个游戏引擎分层pygame而不是一个包装。我现在要编辑这个问题。 – Nikwin 2009-10-24 03:22:45

回答

6

那么Pygame本身就是SDL调用的Python包装器。我想实质上你只会包装一个包装。

你总是可以建立你自己的适配器API,但是你对pygame的API有什么特别的不喜欢,你觉得你需要将它与代码分开吗?我认为你的通用方法,如自定义碰撞检测,可以分离出它自己的引擎模块,基本上与游戏代码的其余部分分开,但基本上你只是用这种方法在Pygame上分层,不包装它。

编辑:
正如现在,这个问题已经改变了跟进。简短的回答,不,我不熟悉任何。你可能想看看The Independent Gaming Source forums,那些人看起来相当有知识。只要确保你在这里发现任何你找到的答案。很长的答案,Pygame可以处理SDL之间的“引擎”空间,我认为还有其他逻辑(比如碰撞检测),游戏代码本身对任何人来说都太小了为它编写一个通用库。基本上不同类型的游戏具有不同的引擎需求,并且在所有游戏类型中共享引擎的通用部分似乎都被Pygame本身所覆盖。

如果您已经在Pygame中编写了RTS游戏,那么您肯定可以将RTS引擎与您的游戏逻辑分离开来,这可能会通过分离问题来帮助您进行整体设计。另外,可能需要释放该引擎,以便其他想在Pygame中编写RTS的人可以从中受益。