gpt4 book ai didi

dll - 游戏引擎作为 EXE,游戏作为 DLL?

转载 作者:行者123 更新时间:2023-12-05 06:46:31 26 4
gpt4 key购买 nike

大家好,我正在开始设计一个新的小游戏引擎,我假设游戏引擎是一个 DLL,然后为将使用这个 DLL 的游戏构建一个项目并输出一个 EXE 文件。

但后来我了解了最新的 ID Tech 游戏引擎以及它们如何以相反的方式进行操作。 ( http://fabiensanglard.net/doom3/index.php )

虽然并没有真正解释原因。我感觉它与模组有关,因为只有游戏(在本例中为 DLL)向公众开放了很长一段时间,而引擎 (EXE) 是封闭源代码。

但我想知道是否还有其他原因。

据我所知,DLL 项目应该包含所有可重用代码。正常的项目应该是应用程序,它会引用可重用的 DLL。这样您就可以在 DLL 项目中构建一个可用于任何其他 future 项目的框架。

我能想到的另一个唯一原因是,据我所知,只有 DLL 的名称记录在程序文件中,没有文本或数据,所以如果游戏可能比引擎大,它可能会使可执行文件的大小变小。

[编辑]

我想到了另一个原因:引擎是一个 EXE,所以它可以在没有游戏 DLL 的情况下使用吗?喜欢 CAD 或脚本等工具?

最佳答案

如果您在应用程序中使用库,例如一个游戏,然后你有一个带有 EXE 的应用程序,它有零个或多个自己的 DLL,使用一个有一个或多个 DLL 的库。

如果你有一个通用的环境加载元素来定制它的行为,从而使它成为一个特定的游戏,那么你有一个带有 EXE 和零个或多个 DLL 的环境,它使用配置来加载各种 DLL 和配置文件来确定它的行为.

很简单,您的应用程序中可能应该有两个以上的程序集。

例如一个(EXE)用于加载主要配置和模块并将它们全部连接起来,一个用于主 UI,一个用于图形,一个用于物理,一个用于 AI 等等。

关于dll - 游戏引擎作为 EXE,游戏作为 DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14992258/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com