unity是C#+lua,lua有很多插件xlua 和slua等等。
UE4是C++配合unlua。
网易服务器是自研服务端引擎,一般是lpc、python或者lua
现在游戏开发基本上都是多语言混用了。常用的是cpp, cshape, lua组合。运行性能上cpp>cshape>lua,开发效率则相反。因此会根据具体需求的稳定性、性能要求、开发周期等因素进行综合评估该需求适合使用什么开发语言。我说下移动游戏开发吧,移动游戏开发分为两大模块:游戏服务器开发,游戏客户端开发。游戏服务端开发据我了解以c++和java居多。游戏客户端又会细分成游戏引擎和游戏业务:游戏引擎方面以c++为主,游戏业务以c#和lua为主。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实现)。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)