为c++游戏引擎建立一个增量开发环境
Setting up an incremental development enviroment for c++ game engine
假设我用c++编写了一个游戏引擎。它是诸如adPlayer(Vec3f位置,Model playerModel)、addExplosion(Vec3f位置,Size explosionSize)之类的函数。
现在,可以在某种测试类中调用这些函数,然后可以编译并运行projcet。这需要很长时间。
理想的情况是有一些基本的文本编辑器,我可以在其中键入这些函数,按ctrl+u,然后通过这种方式调用游戏引擎的预编译函数。例如,它不会重新编译游戏引擎。
如何做到这一点?
通常您会将引擎编译到.dll中,并将其链接到您的项目。然后,如果你只想使用函数,你可以直接链接函数,而不必编译它。
如果您询问设计迭代,您可以创建一种数据格式,该格式将被读入并转换为场景图中的实体。你需要使用工厂模式。您可以使用序列化库,其中每个对象都知道如何读取/写入/持久化自己。
通过使用表示游戏状态"快照"的数据格式,您可以从游戏和编辑器中读取/保存它。稍后,您可以通过在运行时期间重新读取数据的功能,对正在运行的游戏实例进行设计更改
现在看来,您可能有硬编码/混合的客户端代码和引擎代码,这可能很难分离。
如果您询问编译,那么您将希望编译到库(.dll或static.lib/.so)。然后根据引擎库编译客户端/特定代码。它们应该在单独的项目中。
相关文章:
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 创建一个包含 c++ 默认值的环境文件
- Visual Studio 2017 C++,如何定义一个"环境变量"'Additional Library Directory'?
- C++ - 我需要一个宏或环境变量来检测我何时在 Windows 上运行 bazel
- C++将时间从一个环境转换为另一个环境
- 一个班级可以接受仅由外部环境使用其属性
- 暂停和恢复多线程环境中另一个线程的线程C++技术建议
- Rcpp:从全局环境调用一个R函数,并在C++代码中使用它
- 可以推荐哪一个免费的IDE for C++,带有简单的GUI开发环境(Windows)
- 是否有一个函数用于遍历POSIX环境变量
- 为c++游戏引擎建立一个增量开发环境
- JNI 中的 Java 线程C++仅使用一个内核的环境.Arm 处理器和 Ubuntu
- 创建一个可以在 Windows 环境中的现有生成文件项目上运行的 clang 工具
- 用 C++ 编写一个简单的 Linux 桌面环境
- 我可以定义一个环境变量并在条件编译中使用它吗?
- 使用环境变量在c++中打开一个文件
- 一个很好的c++编程环境,适用于Mac OS X
- C++,Visual Studio:有可能创建一个可执行文件来设置环境变量,然后执行吗
- 环境变量在一个char*中,说明如何将其转换为std::字符串
- 如何将两个Makefile(每个生成的脚本都设置了特定的环境变量)合并到一个Makefile中