游戏中的Lua

lua作为一种脚本语言,可以快速地开发游戏的原型。提高游戏的开发效率。最熟悉不过的就是作为魔兽世界、博德之门、愤怒的小鸟等游戏的脚本语言。

但是,具体来说,lua在游戏中可以做什么呢?
在游戏中,lua可以用来完成下面这些工作:

● 编辑游戏的用户界面
● 定义、存储和管理基础游戏数据
● 管理实时游戏事件
● 创建和维护开发者友好的游戏存储和载入系统
● 编写游戏游戏的人工智能系统
● 创建功能原型,可以之后用高性能语言移植

编辑游戏界面

进行界面布局、管理用户输入并且输出游戏数据。提高了界面设计的灵活性,为程序员节省不少时间。

管理游戏数据

Lua可以让游戏存储系统更为简单,可以令Lua更方便地和数据库交互。方便按照需要修改、增加和缩减游戏数据。Lua本身并没有可以直接访问外部数据库的能力,但可以用C/C++开发访问数据库的组件,然后再利用LuaGlue函数整合该组件来达到目的。

处理游戏事件

其实就是利用luaC/C++交互,在C/C++开发的事件系统中,用Lua来接收和处理这些事件。

保存和读取游戏状态

利用Lua标准的输入/输出函数,编写一个函数来保存游戏数据到可执行的Lua脚本中是很好的方法。而且还可以利用脚本编译函数来为游戏数据加密。

游戏中的人工智能

这里说的人工智能不是那些对性能要求很好的算法。像路径寻找这些数据运算量很大的工作,计算机需要反复测试可能的路径来寻找最短或者最直接的路径,就需要用到C/C++这类底层语言来实现。但一些依赖有限的数据集合和参数的人工智能就更适合用Lua来编写了。

快速构建原型

Lua是构建可移植的核心游戏功能原型的不错工具。在游戏开发中,可以先用Lua构建出算法的结构,如果碰到有高性能需求的函数就可以用底层语言来实现。

动态加载调试

这也是脚本的一个普遍功能,只需要应用重新加载脚本,就可以完成修改,调试的时候不用再等系统“慢慢编译了”。

总结

Lua的优点是可以快速地编写简单的游戏模型,并快速验证和迭代想法。在游戏开发领域,LuaC/C++是一个功能十分强大的组合,使游戏开发更加随心所欲。


La lengua no tiene hueso, pero corta lo más grueso.