为什么Lua在游戏编程中被广泛使用?
卢阿·冯云在20世纪90年代开发了游戏引擎,并建立了个人网站(冯云工作室),在游戏开发领域享有很高的声誉。网易的《大话西游II》是第一款在市场上获得成功的国产网游。所以后来国内游戏开发行业受此影响,采用了Lua。
《大话西游》使用的脚本语言是微软的JScript(JavaScript的一种方言),受系统IE版本的影响,维护不便,bug多,兼容性差。所以网易在2002年开发《大话西游2》的时候,决定在客户端嵌入其他脚本语言。当时项目的技术总监冯云认为有必要选择未知语言,让做外挂的人看不懂(大话西游被外挂月光宝盒打死了),于是选择了Lua 4.0。
现在2065 438+03 Lua等流行脚本语言Python和JavaScript分秋色:
语言规范简洁,运行时库小。它的创始人把Lua a称为一种穿过针眼的传递语言,他添加的任何语言特性都可以简单地用C API调用。
很容易创建一个受限的环境,C语言的一端可以控制任何暴露给Lua脚本的函数。我猜这也是选择Lua作为魔兽世界外挂语言的原因。
性能方面,虽然还是比Python快,但是不如V8 (Google的JavaScript实现)。