最近和几个朋友讨论怎样降低游戏开发难度,提高游戏开发速度以及可视化结构化的游戏开发方法
虚幻是在高级游戏开发工作流中做的比较好的一个,一整套可视化开发工具及强大的虚幻脚本让3D游戏的开发难度大大降低。其脚本可以方便的调用引擎中的native函数,当然也为游戏的特殊结构提供了诸如state的功能,处理状态,阻塞逻辑等只有游戏才有的复杂逻辑
可以说,虚幻为游戏而设计,又有成熟的商业游戏用例,因此虚幻是游戏开发的方向。
回看2D游戏开发,其实最方便,最系统化的还是使用Flash,或者Silverlight。这些工具都是提供了一套方便的IDE,可以可视化的做动画,并且与代码整合。
但是以上这些开发,都或多或少使用的是传统的过程式串行编码方式来描述一个并发执行事件的游戏,因此开发难度还是很大的。
回想起我专业里学过的PLC(可编程逻辑控制器),一堆可以控制的继电器的逻辑组合就可以做出各种复杂霓虹灯逻辑或者电梯逻辑等。
本人原来所在项目中负责一个任务系统。但是boss不允许用任何第三方库,无奈只能自己实现,一开始我就使用了触发器架构,每个对象都可以出发不同的触发器,然后是自己实现的简单脚本,用C++解析脚本来读入触发器。对于策划,可以很快速的构建一个任务,唯一的缺点,就是有点绕
使用触发器的地方还很多,暴雪的即时战略,基本都是用了触发器结构,星际争霸,魔兽争霸3。魔兽争霸3中的触发器可以说是遍地都是,无需编程,只需要按照系统给你提供的一些字段,比如说 当 矿 小于 XX 点时, 执行 撤离。这些游戏系统中的人物,都清一色的使用触发器。
虽然魔兽世界的代码没有泄漏,但是魔兽的服务器的模拟代码中描述的任务,就是用一堆数字的触发器在运行
因此,触发器对于提高游戏开发效率有很大的帮助,使用XML结合自己的系统,就可以写出一套结构化的基于触发器游戏系统。