论文部分内容阅读
近年来,随着市场上电子游戏的数量不断增长,种类不断增多,开发迭代周期越来越快,对游戏逻辑的开发效率和可维护性的要求也变得越来越高。随着众多游戏引擎的出现,游戏中渲染、物理、声音等部分的开发已经被极大地简化了,然而目前较为常用的游戏引擎大多没有成熟的游戏逻辑解决方案,这也使得游戏逻辑的开发难度大、复杂度高、可复用性差等问题进一步凸显出来。为了解决游戏逻辑开发过程遇到的上述问题,本文全面地进行了分析与设计,提出融合了状态机、时间轴与可视化编程语言三种工具的游戏逻辑引擎。通过将这三种目前最常用的游戏逻辑工具进行无缝的集成,该系统能方便快速地进行各种类型的游戏逻辑的开发,并能保证较高的可复用性及可维护性。本系统以插件的形式工作在Unity游戏引擎之上,为了实现功能需求,系统主要分为两部分:脚本执行组件和脚本编辑工具。脚本执行组件负责执行游戏逻辑,相当于传统程序设计语言中的虚拟机,执行组件包含一个层次状态机,当状态机发生状态转换、更新场景等事件时,可视化脚本语言,即事件图,会被执行,从而执行相应的游戏逻辑,而时间轴工具作为事件图内的组件之一,可以对动画进行所见即所得式的编辑。脚本编辑工具是在Unity引擎的开发环境下运行的插件,实现为一个编辑器窗口,在窗口中实现对状态机、事件图等可视化脚本语言组件的编辑功能,此外,本文还讨论了脚本编辑工具中调试功能以及撤销回复功能等部分的设计与实现。最后对系统进行了功能测试和非功能测试,测试结果符合预期,因此确定系统已经满足了功能需求和非功能需求。整个游戏逻辑引擎已经投入实际使用和运行。