为什么国内的手游公司这么爱用 Lua 搞热更,国外的公司很少用?

136 天前
 drymonfidelia
7935 次点击
所在节点    游戏开发
48 条回复
encro
136 天前
@sunny352787

centos 那还得从红帽子开始说起。
nightwitch
136 天前
手游热更是刚需(不然 Apple / Google Play 重新发版的审核能等死人
国内外都一样,只能说国外手游玩少了
INCerry
136 天前
现在新项目手游热更用 lua 也开始少了,用 HybridCLR 的多起来了,直接 C#热更
coderzhangsan
136 天前
@sunny352787 centos 那完全是红帽子,当时服务器系统市场红帽子影响比较大,培养了一大堆红帽子运维工程师以及建立了相关培训认证体系,其社区免费版 centos 有这颗大树背书,推广起来就容易多了。
ScepterZ
136 天前
我发现我都想不出来有什么国外手游,在国内貌似没什么火的
iyiluo
136 天前
和 mybatis 差不多吧,都是大公司开始用,然后国内中小公司也沿用了
mxT52CRuqR6o5
136 天前
路径依赖+1 ,以前那个年代可没有 node.js 、quickjs ,当年没有太多的选择
lua 和 python 一样可以很容易调用 C ,而又比 python 轻,具体的历史可以看看知乎上的一些回答
https://www.zhihu.com/question/395593519
https://www.zhihu.com/question/21717567
CloveAndCurrant
136 天前
魔兽先用的,后来云风学了在大话西游用 lua ,就在国内带火了。不过现在有 quickjs 了,JavaScript 比 lua 是一个不错的选择。
Katrol
136 天前
路径依赖,而且用过 lua 热更都是久经考验了,游戏项目最重要的是稳定。就比如说做引擎、做图形的见到华为的设备都后怕,时不时都会碰到点毛病
kingzeus
136 天前
作为游戏开发人员来解释下:
1. 游戏开发中很早就在用脚本了,用什么语言实现的都有,主要是提供了动态能力,一个是方便策划动态配置,也可以减少大量的编译时间。
2. 之后随着互联网出现,游戏发行方式改变了,版本更新速度变快了,同时因为审核的不确定性,热更优先级就大大提高,所以脚本就越来越重要了

说回,为什么用 lua
1. lua runtime 非常小,执行效率高,支持嵌入,可以定制。对比其他脚本语言优势明显
2. 还有一个很重要的点,热更的代码和非热更代码要隔离开,试过 C#热更就知道了,同一种语言实现一不注意就混在一起了。lua 和原生代码直接在语言层面上隔离了

其他的都不是重点
areless
135 天前
不止你说的手游公司,lua 在运维领域一直很火。只是 NODEJS 带走了黏合层编写的一部分流量。lua 编写简单。有了 luajit 后,速度又很快。nginx 、PostgreSQL 、Redis 等等大部分主流服务组件都支持 lua 去扩展。openresty 更是把 lua 提升到了高并发 web 编程语言的地位。lua 实现的网关有 kong ,还有 lua 也占领了 waf 等一些列细分领域。你别看互联网上 PHP JAVA PYTHON 语言诸多,大部分流量都是 lua 小脚本在扛着。有部署在 CDN 的,有部署在各个模块组件里面。
SunsetShimmer
135 天前
Mutoo
135 天前
国外很火的 Roblox 里的所有游戏都是用 Lua 写的。他们还自己实现了一个 LuaU 方言
memorycancel
135 天前
游戏的商店像 Apple Store, 用网页套壳做热更,不用每次都审核(哪怕修改了一行代码都需要重新审核). 游戏同理
Yuanlaoer
135 天前
在过去的二十年前到三年前,除了魔兽世界和 Kong ,粗鄙的我并不知道还有哪里用 Lua 。楼上各位说的 Lua 的优点,麻烦您自己对比一下其他语言有没有类似的特性再说话。不少人都是在放 P ,不点名了。
就好比说,问为什么用 Java 的人多,答因为 Java 面向对象一样。
BppleMan
135 天前
lua 的运行时很小,lua 可以 jit ,虽然现在的 js 运行时也可以 jit ,但要溯源早期,lua 优先占领了这块领域,主要是较丰富的基础设施
me1onsoda
135 天前
用什么取决于哪个选型布道的多,看到网上哪个“大佬、大厂”用什么
areless
135 天前
cloudflare 似乎仍用 lua 默默扛流量。阿里那些 tengine 不知道还有没有跑着 lua 脚本。
lijiangang886
135 天前
路径依赖吧,有了成功的案例和经验教训为其背书,复用前人已验证的路线是更加稳妥的选择,即使这门语言就是拖史
caNoN2019
135 天前
@Yuanlaoer 十年前的 cocos2dx 手游时代,基本 lua 和 js 各半壁江山

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/1107143

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX