将C ++代码重构为使用脚本语言?
2010-6-13 19:30:29
收藏:0
阅读:141
评论:2
背景:
我已经在用C++编写一个平台游戏几个月了。目前,游戏完全以C++编写,但我对使用Lua来处理敌人AI和可能的其他逻辑感到着迷。不过,项目在设计时并不考虑Lua,我已经编写了大部分AI的工作C++代码。我希望Lua可以提高游戏的可扩展性,但不知道是否有必要将现有的C++代码转换为Lua。
问题:
何时,如果需要的话,将完全功能的C++代码重构为像Lua这样的脚本语言才是恰当的?
这个问题有意地有点模糊,所以可以自由给出与给定背景不相关的答案。
原文链接 https://stackoverflow.com/questions/3033583
点赞
stackoverflow用户41661
很少。 下面是我这样做的时候:
我想改变设计或添加功能,需要我重新审视C++代码。
我发现C++代码中不断变化的部分。
我相信通过从C++迁移到Lua,可以使代码变得五到十倍更小。
前两个是任何人都可以做的事情。第三个需要一些经验。
2010-06-13 22:12:58
评论区的留言会收到邮件通知哦~
推荐文章
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
脚本语言适用于可能经常更改或扩展的事物,并且可以容忍速度上的牺牲。
在核心库中使用脚本语言是没有意义的,因为它们相对静态(它们只是一遍又一遍地处理着东西)并且需要快速。但是对于 AI 等事物来说,它是个完美的想法。您可以在不重新编译的情况下调整 AI,并很好地允许未来的更改。一旦发布,您可以预编译脚本语言并使用它。
它也是最好的可扩展性。为您的游戏提供一个 Lua 接口,任何人都可以使用简单的语言编写插件,无需编译。您的 Lua 接口越充实,这些插件就越充满表现力和功能强大。
如果您已经让一切都运作良好,除非您想尝试改进它或允许扩展,否则我真的没有理由将其去除;您完成了。这将是您下一个游戏引擎要记住的事情。
也就是说,如果您还没有完全完成而这是一种爱好/实践的形式,我建议您这样做。这将成为您将脚本功能添加到游戏引擎中的入门经验。当您开始制作更大更复杂的引擎时,您就不需要担心任何新事物了。