【问题标题】:Engines built on pygame基于 pygame 构建的引擎
【发布时间】:2009-10-23 20:22:03
【问题描述】:

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

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

【问题讨论】:

  • 我认为您可能在这里误用了术语包装器。您实际上是在谈论在 Pygame 之上分层的游戏引擎吗?
  • 我认为你是对的,我的意思是在 pygame 之上而不是包装器之上的游戏引擎。我现在将编辑问题。

标签: python pygame


【解决方案1】:

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

您总是可以构建自己的适配器 API,但是您非常不喜欢 Pygame 的 API 的哪些方面,以至于您觉得需要将其与代码分开?

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

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

长答案,可能是 Pygame 之间的“引擎”空间,它处理对 SDL 的调用,我认为还有一些额外的逻辑(如碰撞检测),而游戏代码本身对于任何人来说都太小了为它写一个通用库。本质上不同类型的游戏有不同的引擎要求,而所有游戏类型共享的引擎通用部分似乎都被 Pygame 本身所覆盖。

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

【讨论】:

    猜你喜欢
    • 2023-01-24
    • 2011-09-21
    • 2011-01-27
    • 1970-01-01
    • 2020-05-02
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多