Lua云风在九十年代就开发游戏引擎并建设个人网站(云风工作室),在游戏开发领域声望高。网易《大话西游II》是首个在市场上取得成功的国产网络游戏。所以后来国内游戏开发行业纷纷受此影响采用Lua。
《大话西游》用的脚本语言是微软的JScript(JavaScript的一种方言),维护不便bug多,受系统IE版本的影响兼容性差。所以2002年网易开发《大话西游II》时,决定在客户端内嵌别的脚本语言。当时该项目技术负责人云风认为要挑不出名的语言,让做外挂的人搞不懂(《大话西游》一代被外挂《月光宝盒》搞死了),于是就选择了Lua 4.0。
现在,2013年,Lua和其他流行脚本语言Python、JavaScript各分秋色:
语言规范精简、运行时库小。其创始人称Lua是穿过针孔的语言(Passing a Language through the Eye of a Needle),他加入的任何语言特性都能用C API简单的调用。
易于创建受限环境,C语言一端可以控制暴露给Lua脚本的任何功能。我猜这也是《魔兽世界》的插件语言选用Lua的原因。
性能方面,虽然仍然比Python快,但不如V8(谷歌的JavaScript实现)。
是被主程序所调用的一种脚本,如同javascrip,是游戏程序运行机制的一部分,决定游戏的部分功能。
Lua是一个小巧的脚本语言。是巴西里约热内卢天主教大学里的一个研究小组,由RobertoIerusalimschy、WaldemarCeles和 LuizHenriquedeFigueiredo所组成并于1993年开发。其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,在很多操作系统和平台上都可以编译和运行。
lua是一种脚本语言,但是用它可以完成很多的事情,比如游戏里面游戏配置(其实就是一些游戏的数据,比如level1的某个英雄的能力值应该是多少, level2的英雄又是多少之类的),游戏里面的逻辑(比如用某种武器,伤害到了某个英雄,对英雄的伤害值是多少,当英雄的HP用完后,又会怎样?).
但是这种语言,不能"独当一面",它只能通过和其他语言一起,才可以发挥它的作用,它的结构是通过:
C++-> Lua-> C++->游戏底层(从而展现给玩家一些画面,一些声音).
上面就是一些简单的回答,有不清楚的地方可以多交流.
上一篇:lol最新游戏安全知识答题
下一篇:lua写游戏ui知识点