重构C++代码以使用脚本语言?

Jus*_*ini 5 c++ lua refactoring

背景:

我一直在研究用C++编写的平台游戏几个月.该游戏目前完全用C++编写,尽管我对使用Lua用于敌人AI以及可能的其他逻辑的可能性很感兴趣.但是,该项目的设计没有考虑到Lua,我已经为大部分AI编写了可用的C++代码.我希望Lua可以提高游戏的可扩展性,但不知道将现有的C++代码转换为Lua是否有意义.

问题:

如果有的话,是否适合采用功能齐全的C++代码并将其重构为像Lua这样的脚本语言?

问题是故意有点模糊,所以请随意给出与给定背景无关的答案.

GMa*_*ckG 6

脚本语言对于可能经常更改或扩展的内容非常有用,并且可以从速度上提供交易.

这是没有意义的使用在你的核心库的脚本语言,因为这些是相对静态的(他们做的是过程的东西一遍又一遍),而且要快.但对于像AI这样的东西,这是一个完美的想法.您可以在不重新编译的情况下调整AI,并且可以很好地允许将来的更改.发货后,您可以预编译脚本语言并将其称为好.

它也是最好的可扩展性.为您的游戏提供Lua界面,任何人都可以使用简单的语言编写插件,而无需编译.Lua界面越充实,这些插件就越有表现力和强大.

如果你已经把一切都搞定了,除非你打算尝试改进它或允许扩展,我真的没有理由把它剥离出去; 你完成了.对于您的下一个游戏引擎,请记住这一点.

也就是说,如果你还没完成,这是一种爱好/实践的事情,我建议你这样做.这将是您向游戏引擎添加脚本功能的介绍.当你开始制造更大更复杂的引擎时,你不必担心新的东西.