返回行业情报

Second Life引入Luau脚本转型现代游戏平台

Second Life Wants Its 23-Year-Old World To Be a Modern Game Platform

Linden Lab为23年历史的Second Life引入Luau脚本语言与VS Code集成,支持实时多人环境迭代开发,并保留LSL共存。产品SVP Anya Kanevsky解释选择Luau而非C#/JS/WASM的技术原因,强调创作者保留约85%销售收入的成熟经济模式,旨在吸引Roblox等Lua背景开发者。

深度解读

Second Life真正的赌注不是让老世界变年轻,而是用Luau把Roblox那批被30%抽成和封闭生态困住的开发者,挖到一个70万月活但创作者能拿走85%收入的老平台上。

为什么是Luau而不是C#、JavaScript或WebAssembly

Anya Kanevsky给出的技术理由非常具体,值得逐条拆开看。Linden Lab评估了C#、JavaScript和WebAssembly,最终选了Luau,决定性因素不是语言本身的流行度,而是Second Life那套极其特殊的运行时约束:脚本必须能在成千上万个其他脚本旁边安全运行,必须能暂停和恢复,必须保留状态,甚至必须能随着物体跨区域移动或进入库存而在服务器之间迁移。

这四条要求几乎排除了所有主流游戏脚本方案。C#的运行时重量和沙箱模型不适合这种"每个脚本都是一个长期存活的、可迁移的实体"的场景;JavaScript的异步模型和状态持久化语义与Second Life的对象生命周期对不上;WebAssembly则更偏向计算密集型模块而非长期驻留的状态机。Luau的协程(coroutines)天然适配"暂停-恢复"语义,而Roblox在过去十年里已经把Luau打磨成了一个能在海量不可信脚本共存环境下稳定运行的工业级运行时——这恰恰是Linden Lab最需要的东西。

我们没有从"我们需要Lua"开始这个项目,而是拿一堆极不寻常的技术要求去筛选项,Luau最终在每一项上都最合适。

这句话的潜台词是:Luau不是被当作"流行语言"引进的,而是被当作一个已经被Roblox用极端规模验证过的沙箱运行时引进的。对Linden Lab来说,这是一次风险极低的技术采购。

700,000月活对Roblox,卖点不是规模而是抽成比例

Kanevsky自己把话说得很直白:Second Life的受众不比Roblox大,它确实不大。700,000月活放在Roblox的亿级日活面前几乎可以忽略。所以整个商业论证必须建立在另一个维度上——价值捕获率。

她给出的数字是创作者保留约85%的销售收入(在适用的提现费用之前),并明确点出"这与Roblox支付的比例相比相当有利"。Roblox的开发者分成长期被诟病为平台抽走大头,实际到手比例远低于表面数字。Second Life的Linden Dollar可以兑换真实货币,创作者保留知识产权,而且这套用户对用户的经济已经运转了二十多年。

所以呢?这意味着Linden Lab的目标客户画像非常清晰:不是想做下一个爆款的小团队,而是那些已经在Lua/Luau生态里有一定能力、但对平台抽成和IP控制不满的中小开发者。他们不需要一个更大的池子,他们需要一个每单位收入留存更高的池子。这是一个典型的"用经济模型差异化对抗规模劣势"的策略,和Substack对抗大型媒体平台、Patreon对抗广告模式的逻辑同构。

真正的产品创新在VS Code集成和实时迭代,不在语言本身

语言迁移只是表层。Kanevsky反复强调的是工作流的改变:Visual Studio Code集成让开发者能在专业IDE里管理代码,同时通过扩展直接连接Second Life世界里的对象和linksets,改动实时反映在运行中的多人环境里。她特别提到最近在客户端上的工作改善了Second Life与VS Code扩展之间的通信,包括对对象和linksets的实时探查。

这个"写—在真实多人环境里测—调整—再测"的循环,才是对现代独立开发者真正有吸引力的东西。传统游戏引擎的迭代循环需要构建、打包、部署,而Second Life的持久化世界本身就是运行时——你的测试环境就是生产环境,就是其他玩家正在活动的同一个空间。这个特性过去是Second Life的隐性优势,现在被VS Code集成显性化了。

但这里有个必须追问的问题:实时迭代在单人测试时是优势,在多人持久世界里就是风险。Kanevsky提到脚本要"安全地与成千上万个其他脚本并存",但没说的是,一个开发者在VS Code里按下保存的瞬间,改动直接作用于线上世界,这对状态迁移、回滚机制、权限隔离提出了极高要求。Linden Lab没有在采访中展开这部分,而这恰恰是从"能跑"到"能用于严肃项目"之间最容易被低估的工程门槛。

LSL不会被替换,共存策略暴露了迁移的真实难度

一个容易被忽略但极其关键的细节:Linden Scripting Language(LSL)继续被支持,而且Lua和LSL脚本可以共存,甚至存在于同一个对象内。Kanevsky把这包装成对现有创作者的"投资",但技术现实是,Second Life二十三年积累的存量内容几乎全部是LSL写的,任何硬切换都会摧毁整个内容生态。

共存策略是唯一可行的路径,但它也意味着Linden Lab要长期维护两套脚本运行时、两套内存模型、两套调试工具链,并且要保证它们在同一对象内的交互语义清晰。这是巨大的持续工程负担。对开发者的实际影响是:短期内你可以在新项目里用Luau,但一旦要和存量对象、存量脚本交互,你就得理解LSL的行为。所谓"降低门槛",降低的是从零开始的门槛,不是接入既有世界的门槛。

对行业的意义:老平台在用运行时现代化续命

把这件事放到更大的图景里看,Second Life的动作和一批"高龄"虚拟世界平台的处境高度相似:用户基数稳定但不再增长,内容生态深厚但工具链老化,面对Roblox、Fortnite Creative、UEFN这类新一代创作者平台的挤压,唯一的出路不是重建世界,而是把现代开发工具链嫁接进来。

Luau的选择尤其耐人寻味——它等于公开承认Roblox在过去十年里把Luau做成了事实上的行业标准沙箱脚本语言,以至于一个比Roblox早出生六年的平台要反过来采用它来吸引开发者。这对Roblox是某种意义上的背书,对Linden Lab则是一次务实的低头。

对从业者来说,最实际的信号是:如果你已经会Luau,你的技能可迁移的目标平台又多了一个,而且这个平台的分成结构明显更友好;但如果你期待的是"Second Life变成一个新游戏引擎",Kanevsky自己已经否定了这个预期——它不是要变成传统引擎,它是要让一个二十三年的持久世界变得可被现代工作流维护。这两件事之间的距离,比一次语言迁移要远得多。

其
行业动态Second LifeLuau游戏平台创作者经济Linden Lab