2024年4月7日发(作者:国际网络加速器)
基于Lua引擎内嵌的魔兽争霸地图编辑器
作者:余津建 章均杰 周春良
来源:《经营管理者·中旬刊》2016年第12期
摘 要:魔兽争霸地图制作一直很受的地图制作者欢迎,但是由于它的开发时间长,功能
实现复杂无法完美的实现制作者的要求,而Lua引擎可以完美的解决这些难题,可以使游戏开
发者灵活的实现自己想要的功能,提升游戏运行效率。Lua引擎的debug系统也解决了游戏测
试的技术难题使地图维护变得更加容易。
关键词:Lua引擎 war3地图 优化
一、魔兽争霸地图编辑器概述
魔兽争霸地图编辑器英文名WarCraftⅢ World Editor(简称WE),是暴雪巨作《魔兽争
霸Ⅲ》所附带的功能强大的地图编辑器。受世界上很多地图制作者欢迎,产生了很多例如dota
等知名的游戏地图,但原生地图制作工程量较大,由于地图编辑面向过程的编辑,有许多系统
的东西却要重复性的编写极大的浪费了地图编写者的时间。魔兽争霸地图编辑器做出来的效果
图1如下:
图1 原war3DOTA地图
二、基于Lua引擎内嵌的魔兽争霸地图编辑器
而用Lua引擎技术作图完全可以解决这个问题,可以想象一下,倘若你的一张在魔兽的地
图,将来可以只要小小的改动便可以移植到新一代的编辑器上去,会是一件多么酷的事情。即
便是你打算在新制作一张地图,你现在所积累的经验、代码、函数、库,依然可以在新地图上
使用,这不也同样是件很酷的事情吗。
Lua的表其元素是很多的Key-Value对,如果尝试访问了一个表中并不存在的元素时,就
会触发Lua的一套查找机制,也是凭借这个机制,才能夠实现“面向对象”的。通过YDWE载
入lua代码之后,就可以转变过程性的制作变成实例化的对象设计。魔兽编辑器所用的jass语
言可以控制游戏和地图的进行,jass语言引用了许多C语言的东西,不容易面向对象开发开
发,而Lua引擎却可以解决这个问题,虽然我们很难重写Jass,但却可以轻松编写Lua,先把
Jass封装成Lua,然后再执行。使用自创的LUA游戏引擎技术和JASS编程语言,通过游戏对
战平台技术进行数据的链接和发送,使得多个玩家联网对战游戏。利用LUA游戏引擎与对战
平台的可扩展性链接技术(JassAPI),来实现游戏数据在对战平台上的写入和读取,并且实
现对战平台兼容性的扩展性功能。
图2 装备合成图
三、基于Lua引擎内嵌的魔兽争霸地图编辑器实例:
举个例子在以往魔兽编辑器中要想实现满物品拾取物品合成十分困难,而用lua引擎制作
则会简单的多,当然你要设计好整个物品对象,这是编写逻辑的前提,也就是物品对象底层,
到时候就可以寻找到单位身上的物品对象,可以一个个拿到它们的属性,根据即将得到的物品
对象合成公式自动和成为新的物品对象放在物品栏,就可以轻松地实现原来运用触发和计时器
的做法,把效率提升到一步到位。由于魔兽编辑器中的一些死板的机制无法更改。所以有在游
戏中的一些创新好玩的想法无法实现,即时是强行的让这些创新好玩的想法实现了,在实用当
中很难达到预期的效果或者会出现一些BUG。使用LUA作为游戏引擎的嵌入式脚本语言,以
此来实现游戏引擎的可配置性、可扩展性,使修改自由性大大增加,实际制作过程所制作的
debug系统也可以更快的找到产生问题的关键,相比以前的看现象分析错误,输出堆栈信息对
游戏测试的帮助极大。众所周知游戏测试的时间占游戏开发的大部分时间,而用了lua引擎技
术的测试效率提升,是对游戏开发很关键的优势。
四、结语
这一系列的优势,既节省了游戏开发者的开发时间,也为他们做新的游戏留下了大量的代
码库,也提升了下款游戏的开发效率,使得游戏开发变得更加方便,效率。促进了作图环境的
良性循环。
参考文献:
[1]钟令青.论即时战略游戏的平衡性[J].中国校外教育.2012.
[2]袁媛.人工智能与智能系统[J].甘肃科技.2006.
[3]张钹.智能模拟与人工智能系统[J].科学中国人,1996.
发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1712488865a2068803.html
评论列表(0条)