背景:
几个月来,我一直在用C++编写一个平台游戏。这款游戏目前完全是用C++编写的,不过我对使用Lua作为敌人AI的可能性很感兴趣,可能还有其他一些逻辑。然而,该项目是在没有Lua的情况下设计的,我已经为大部分AI编写了工作的C++代码。我希望Lua能够提高游戏的可扩展性,但不知道将现有的C++代码转换为Lua是否有意义。
问题:
什么时候,如果有的话,采取完全功能的C++代码并将其重构成像Lua这样的脚本语言是合适的吗?
这个问题故意有点模糊,所以可以自由地给出与给定背景无关的答案。
发布于 2010-06-13 19:38:51
脚本语言对于可能频繁变化或扩展的事情很有用,并且可以从速度上提供交易。
在核心库中使用脚本语言是没有意义的,因为它们是相对静态的(它们所做的只是一遍又一遍地处理东西),并且需要快速处理。但是对于像人工智能这样的事情来说,这是一个完美的想法。您可以在不重新编译的情况下调整AI,并且允许将来的更改非常好。一旦你上船,你可以预编译脚本语言并称它为好。
它也是扩展性的最佳选择。为你的游戏提供一个Lua接口,任何人都可以使用简单的语言编写插件,而不需要编译。你的Lua界面越充实,插件就越有表现力和功能。
如果您已经让所有东西都正常工作了,除非您打算改进它或允许扩展,否则我不认为有什么理由把它去掉;您已经完成了。这将是在你的下一个游戏引擎记住的东西。
尽管如此,如果你还没有完全完成,这是一种爱好/实践之类的事情,我建议你这样做。这将是您在游戏引擎中添加脚本功能的介绍。当你制造更大更复杂的引擎时,你就不需要担心新的东西了。
发布于 2010-06-13 22:12:58
什么时候,如果有的话,采用完全功能的C++代码并将其重构成像Lua这样的脚本语言是否合适?
很少。我在这里做过这样的事情:
。
前两颗子弹是任何人都能做到的。第三,需要一些经验。
https://stackoverflow.com/questions/3033583
复制相似问题