为c++游戏引擎建立一个增量开发环境

Setting up an incremental development enviroment for c++ game engine

本文关键字:一个 环境 开发 游戏 c++ 引擎 建立      更新时间:2023-10-16

假设我用c++编写了一个游戏引擎。它是诸如adPlayer(Vec3f位置,Model playerModel)、addExplosion(Vec3f位置,Size explosionSize)之类的函数。

现在,可以在某种测试类中调用这些函数,然后可以编译并运行projcet。这需要很长时间。

理想的情况是有一些基本的文本编辑器,我可以在其中键入这些函数,按ctrl+u,然后通过这种方式调用游戏引擎的预编译函数。例如,它不会重新编译游戏引擎。

如何做到这一点?

通常您会将引擎编译到.dll中,并将其链接到您的项目。然后,如果你只想使用函数,你可以直接链接函数,而不必编译它。

如果您询问设计迭代,您可以创建一种数据格式,该格式将被读入并转换为场景图中的实体。你需要使用工厂模式。您可以使用序列化库,其中每个对象都知道如何读取/写入/持久化自己。

通过使用表示游戏状态"快照"的数据格式,您可以从游戏和编辑器中读取/保存它。稍后,您可以通过在运行时期间重新读取数据的功能,对正在运行的游戏实例进行设计更改

现在看来,您可能有硬编码/混合的客户端代码和引擎代码,这可能很难分离。

如果您询问编译,那么您将希望编译到库(.dll或static.lib/.so)。然后根据引擎库编译客户端/特定代码。它们应该在单独的项目中。