博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
题外话:Lua脚本语言存在的意义
阅读量:5739 次
发布时间:2019-06-18

本文共 646 字,大约阅读时间需要 2 分钟。

纯属个人见解。
大致来说:
c/c++执行效率高,游戏中一些性能敏感的复杂计算需要用c/c++来实现,防止游戏卡顿和低帧率。这些复杂计算包括战斗逻辑,复杂AI,骨骼动画蒙皮骨骼点的坐标计算等等。
但c++是一种比较复杂的编程语言,开发效率较低。嘛,不过这不是主要问题,对于商业手游项目只用c++开发,是致命的。这一点在后边lua具体说明。
lua是脚本语言,执行效率不及c/c++,往往用来实现性能不敏感的游戏逻辑,比如窗口界面等等。另外lua语法简单,开发效率高,没有编程背景的策划花精力后也可以掌握,一部分商业端游项目的策划是需要使用lua来实现一些简单的窗口功能。
作为脚本语言,lua还有一个非常重要的特性:支持动态更新!
完全用c/c++实现的发布在苹果appstore上的手游项目,如果遇到bug,或者需要添加新的游戏功能,需要提交游戏包等待苹果审核,需要等待一周甚至更多的时间。如果是紧急游戏bug(在游戏开发过程中要完全规避bug几乎是不可能的),这一周的时间会造成非常巨大的损失。
我自己在做的项目,每周都会进行一次内容更新,完全用c++开发的项目是无法做到的。
另外lua的特性也可以做到诸如不停服的条件下完成服务器端的代码更新等等。
所以,通常的手游项目的解决方案是,用c++来实现一些底层的,性能敏感并且不需要经常更新的模块。用lua来实现需要经常更新的游戏逻辑。

转载于:https://www.cnblogs.com/luorende/p/6343716.html

你可能感兴趣的文章
HTTPie:一个不错的 HTTP 命令行客户端
查看>>
elfinder中通过DirectoryStream.Filter实现筛选隐藏目录(二)
查看>>
Java进阶篇(二)——抽象类、内部类
查看>>
chrome扩展应用实例
查看>>
Go web 教程
查看>>
网络测试与分析工具简介
查看>>
Sphinx中文分词详细安装配置及API调用实战
查看>>
PHP命令行脚本接收传入参数的三种方式
查看>>
iOS-JS交互 (WebViewJavascriptBridge)
查看>>
关于自身表的外键触发器实现
查看>>
django models 文件夹
查看>>
Python显示进度条的方法
查看>>
JavaScript事件详解-Zepto的事件实现(二)【新增fastclick阅读笔记】
查看>>
python文件备份脚本
查看>>
网络通信
查看>>
【脑图】《JavaScript 高级程序设计》之面向对象的程序设计
查看>>
Centos7 安装Redis
查看>>
leetcode-479-Largest Palindrome Product(找到两个乘数相乘得到的最大的回文数)
查看>>
MyBatis核心组件(配图详解&代码实现)
查看>>
部署模式 - 每个主机一个服务实例
查看>>