游戏测试 人生苦短,还有 Lua...等

陈子昂 · October 03, 2019 · Last by 陈子昂 replied at October 07, 2019 · 850 hits

Lua通过游戏产业大放了异彩,慢慢被认识。笔者已经有3年左右没用Lua开发工具了,在上一次要翻到8年前了,这个文章正好也说下自己对这块的浅显看法。

Lua-游戏

游戏应用面
Lua是多面手,在网络游戏,数据结构,正反序列化数据,客户端UI插件逻辑,还包含客户端主逻辑,服务器部分逻辑,调度处理,研发工具,任务脚本等等。
单机游戏 除了上面网络部分的以外,其他包含,更是负责了一些辅助功能的开发,比如CG转换等。
Lua也给脚本策划和中期的技术测试提供了不少机会,脚本策划做着做着又学门java或者C++转服务端的也不少。
服务端框架
云风 skynet

计算机科学
可以说核心面根据图像学载体特性用更低级的语言和Lua做胶水。而对于一门语言来说,都可以实现大部分你能想到的功能,差异只是在团队人员属性,决定了开发时间和语言熟悉度,在往下就是考虑照顾到IO密集或者CPU密集,还有一些特殊领域的特性比如时间序列和语言创造性。最后还有不同城市对于语言选择是有差异的,分析后发现很有意思,可以自行了解。
在未来上云趋势的学习角度来看,要深入掌握go语言,选择Python/C++去学习go,会比Python/Lua去学习go要慢,当然一分投入一分收获。
Lua和C++之间通过虚拟栈有天然优势,一些框架来说只需要用Lua完成C++之间的交互就行,这个对于前后端一起玩的人来说,投入Lua比啃完C++2个版本要舒心不少。

Lua通用面

通用面
应用在方方面面,方方有安全杀毒,数据收集分析,人工智能, 面面有转换不同平台的使用IOS,安卓,支持C#,Java,C,C++,Python,Go等语言 也是一门值得投入的语言。

1.BAT里面的T对Lua也有不少投入,地址如下
著名的xLua在腾讯内部不光只有游戏部门使用(已开源) xLua
另外一个基于腾讯xLua扩展的高星的框架 高星框架 Lua/C++

2.BAT中的A在中期就把Lua解释器引入到Nginx中,淘宝的Openresty就是一个例子,应该还有其他,但对阿里系的不清楚。
根据上文Lua恰好是从上到中间都是比较兼容的,甚至在移动端前端开发方面也有优势.LuaViewSDK

3.百度也有这里就不讲述了。后面还出现了一些基于Lua源码做重新编译修改的uLua.

杂谈
Lua开发出来的文件较小,在目前年代已经不太在意这个了,但是用Lua或者一门语言一招鲜吃遍天,也是不可能的。
优点:Lua没有Java和Python一样大而全的库,也可以很便利的处理文件转换和解析。

不同语言有对应的特性,是否需要舍近求远,这点也是团队对于某个Lua有关工作技术栈选型的一项核查标准。
覆盖面上,Lua也适合写网络,Libuv in Lua就不如in Nodejs.

总结

Lua是可以学习到可读和可写二个层面的语言,如果一大部分逻辑是用Lua的游戏产业,可以把Lua作为主力开发语言,也可以做为读懂后翻译成基础逻辑,在用其他语言去开发。

基础语言速成 这里就不讲了,后面有时间可以对Lua table专门讲讲应用场景,可以推荐2本书。
游戏产业 可以看一本很厚的书 《魔兽世界编程宝典》
其他产业 可以看 Programming in Lua 你懂的。

学习时会发现的差异性
1.数组存储是从1开始,取下标也是1开始,所以没有0的概念。
2.OOP很早会接触到元,元是必要性的,向python完全不用元也可以写。

像函数返回解构和声明式调用散落在其他语言中,所以Lua做为第一门语言也是不错的选择,后面学别的也有一定的亲切感和便于快速入门。
人生苦短,不光有Python,尤其一个企业里面只有2个人用Python也是一个很蛋疼的事,还不如用Lua了。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 1 条回复 时间 点赞

Lua开发工具有很多,比如IDEA的插件,如果在学习期想简洁点,可以用notepad++,前提要安装好lua解析器,在 cmd下可以输入lua出现对应版本信息。
在notepad++上按F5,输入

cmd /k lua "$(FULL_CURRENT_PATH)" & PAUSE & EXIT

然后保存一个名字和设置一个快捷方式,然后在当前页面上的lua文件就会被运行,允许模块化的,写lua很容易一直写一直爽,好久没写,国庆写了不少。

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up