论文部分内容阅读
在游戏开发过程中,关卡设计是一个非常重要的部分,而与关卡设计密切相关的就是关卡触发器系统,使用关卡触发器系统在游戏中可以触发各种各样的响应事件,增强游戏的可玩性和趣味性,同时随着游戏内容和功能的不断增加,游戏的交互越来越多,游戏中会出现大量需要处理的响应事件。根据关卡设计师对系统的易用性和可扩展性需求,本文设计并实现了一个可扩展的关卡触发器系统。本系统是基于Unity游戏引擎进行开发的,在Unity中游戏开发者使用了实体组件系统的方式来进行开发,大大降低了各个功能模块之间的耦合,此外为了集中化处理关卡中的事件,降低事件与对象之间的耦合关系,本文基于观察者模式、委托设计了一个具有优先级的事件管理器,可以灵活的处理游戏中的各种事件。结合通用触发器的设计思想,本文将关卡触发器系统分为触发器模块、触发条件模块、响应事件模块来进行设计和实现,触发器模块本文设计了两种不同的触发器类型来满足关卡设计的需求,利用Unity物理系统的碰撞检测组件来进行触发检测,触发条件模块本文主要是根据关卡设计师的需求来进行设计,使用了布尔逻辑来进行组合以提高系统的可扩展性,响应事件模块本文定义了各种各样的响应事件类型,并与游戏中其他的子系统进行衔接。本系统可以使用事件管理器来触发响应事件,这大大扩展了本系统的使用范围。本系统满足了关卡设计师在关卡设计方面的大部分需求,同时开发人员可以通过增加响应事件、定义其他触发条件来进行扩展这一系统,使得游戏设计更加便捷,也便于后期的维护。但这一系统也存在不足之处,就是扩展性不够好,触发条件都是写死在代码里,另外本系统对非开发人员不够友好,考虑做成可视化系统进行关卡设计。