游戏服务器开发中,lua 的痛点有什么,为什么选择 Python 或者 go 呢?

59 天前
 DexLee

好奇,所以来了解一下

3670 次点击
所在节点    程序员
26 条回复
lizhenda
59 天前
lua 好用,只是不更新了,不过依然是首选的呀。
maocat
59 天前
lua 的痛点就是他的数组下标起始位是 1
DexLee
59 天前
@lizhenda 最新好像都是 5.5 版本了
GeruzoniAnsasu
59 天前
抽象能力很弱,所有逻辑得用字符串拼接和 table 来实现。虽说 table 很万能,但这个数据结构本身就是非常原始的。宿主得提供足够多足够强大的接口,让 lua 只写循环、判断、匹配,那就还算舒服。
crackidz
59 天前
缺点太多了吧,现在很多已经在用 TypeScript 了,甚至用 C#也不错啊
guanzhangzhang
59 天前
没有自带类,需要写法才能实现
Dorathea
59 天前
感觉问题是不是偏了?
你的问题有假设 Lua 有痛点, 但实际上或许是使用场景的不同(所有语言都有痛点, 只是场景是否适合)
Lua 在游戏服务器中, 我接触到的:
* 将 Lua 和 C/C++ 结合, 快速实现业务需求
* 一个单纯的工具语言
* 纯 Lua 的游戏服务器
作为 1, 2 项, Lua 是合格的, 第三个出现的频率相当低, 某种意义上就不该这么用

没有自带类, 抽象能力弱, 等等...
这些我认为本来就不是 Lua 这个脚本语言的目标, 如果有这些需求, 我不会去用 Lua, 其他语言可以实现得更好
或者说实际上语言发展到现在, 太卷了, 那些 Lua 没有的 feature 并不是 Lua 不努力, 不好
donaldturinglee
59 天前
单 lua 拿出来对比 py 和 go 不行吧。实际上 lua 可能还是做一些需要热更新的场景然后集成到 c++/c 里面
geekvcn
59 天前
lua 世界最大的开源社区是魔兽世界插件,这就是最大的痛点。然后才是嵌入式和各种游戏引擎脚本,游戏服务器脚本
yplam
59 天前
主要是轻量高性能,以及历史原因吧,新项目感觉可以选 wasm
feixiangcode
59 天前
lua 这门语言,写个小脚本问题不大,要是需要几个人十几个相互配合的项目,还是挺难的。
LanLiang
59 天前
lua 一般是在游戏服务器中作为动态脚本使用
AV1
59 天前
如果一定要选 lua ,我也会选择 TypeScriptToLua🐶
sunny352787
59 天前
你预设的问题不对,不是 lua 被 python 或者 go 替换了,而是 C/C++被 python 和 go 替换了,lua 在服务端只是作为嵌入式脚本写逻辑,本身并不能搭建完整的服务端,至少没见过人纯用 lua 实现服务端的。
nevermoreluo
59 天前
弱弱的问下,哪里或者说业界大厂谁选 py 了。。。。
xuhuanzy
59 天前
@lizhenda 前两周刚更了 lua5.5, 只是维护慢不是没人维护
Immortal
59 天前
问的没有上下文其实挺难回答.
之前在游戏公司客户端和服务端用的都是 Lua,也运行得很好.
DexLee
59 天前
@nevermoreluo 貌似网易 python 多,腾讯 go 多
bronyakaka
59 天前
@nevermoreluo 都是引擎的脚本
nevermoreluo
58 天前
@bronyakaka 我知道引擎的脚本,但是 py 的 binding 实现比 lua 的开销高吧,lua 嵌入已经有很大的基础了,感觉 py 没那么大的优势,不过往 ai 靠的话也不好说?
所以我才问有谁家这么搞了,比较好奇。

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

https://www.v2ex.com/t/1148164

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

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

© 2021 V2EX