我提前为我的整体" noobness道歉。"这是我关于堆栈溢出的第一个问题,我对Qt和游戏编辑器编程也很陌生。也就是说,我觉得我的编程技巧不会太落后。
我一直在寻找这样的问题两天,无论是在本网站内外,都找不到一个问题。这可能是因为我不知道正确的词语来描述我正在寻找的东西。
我开始用Qt构建一个简单的游戏编辑器和引擎。请不要回答#34;你真的想制作一个游戏编辑器/引擎"或者"不要"。我有理由为什么我确信这就是我想要创造的东西。我的问题与"导出到可执行文件"或"构建"编辑所具有的功能。我一直试图绕过它,但我不知道自己怎么会开始做这项工作。据我所知,它可能是一行代码,也可能是一万行代码。
有人可以请我指出正确的方向,我需要做什么样的编程来完成这项工作?如果它很难并涉及我不知道的概念,那实际上是件好事,因为这对我来说意味着更多的学习。我只需要一些方向。
谢谢!
答案 0 :(得分:1)
在实践中,游戏编辑器不会将游戏构建为可执行文件,它们只是将游戏脚本和资源打包成已经实现的游戏可执行文件可以读取的格式。游戏编辑器不是由游戏编辑器创建的,它是按常规实现的。
话虽如此,您可能希望将游戏脚本编译为本机 - 在这种情况下,您必须将已编译的已使用的包与游戏捆绑在一起,并从子进程调用它以将脚本代码编译为共享库插件,您可以可以在游戏引擎中动态加载和使用。这里没有任何魔力,无论是游戏还是其他任何应用,它都是相同的基本内容。
简而言之,游戏编辑器不会构建可执行文件 - 编译器会这样做。除非您想要,除了游戏引擎之外,还可以创建自己的C ++编译器;)
答案 1 :(得分:0)
独自“如果困难并涉及我不知道的概念”就足以关闭这个问题了。好像我们知道你知道什么,不知道......
游戏编辑器通常与实际游戏构建过程分开,后者创建可执行文件作为最终产品。这是因为将生产链的所有部分整合到一个软件中的整体复杂性。
那就是说你可以将编辑器“连接”到你必须使用的构建工具以生成可执行文件。有一些例子,如Unity SDK(包括Unity Engine,Unity Editor等)。
这种一般做法的一个很大的例外是Adventure Game Studio,这是不久前开源的。我相信AGS特别使用.NET
和C#
。它几乎是一体化软件包,包括一个内置工具,用于从其自定义语言生成可执行文件并向其添加引擎。虽然这类软件的复杂性可能令人生畏,但这似乎正是您所寻找的。如果它太多,您当然可以简单地尝试将外部构建工具无缝添加到编辑器中。 Qt Creator
就是一个很好的例子,大概有99%的IDE出现在这里 - 编辑器只提供了与不是部分的构建工具进行交互的界面。
最后但并非最不重要的是,您必须考虑将来需要的维护。在编辑器中集成构建基础结构最初可能看起来不错,但是如果要在编辑器或同一建筑物基础结构中替换相对较大的代码块,甚至在两者中都会发生什么?我的建议是创建编辑器,只需为现有的构建工具添加一个接口机制,可以轻松更改,而不会破坏编辑器的代码或代表您的构建工具集的代码。