今天这篇文章将为大家分享游戏设计师Bryan Singh通过Unity来解析游戏反馈机制的经验,通过在Unity中进行实例演示,来说明反馈机制对玩家游戏体验的影响,并分享如何在不断试验的过程中进行改善。
简要介绍
Unity提供了大量实用系统来开发游戏,仅为了改善游戏反馈机制就为游戏添加一个完全没有必要的系统还是有些大胆的,但也值得尝试。本文将通过为示例项目逐步添加视觉效果来改善游戏机制。
请注意,本文是作者的主观决定,从游戏设计师角度出发而非美术角度,所以本文描述的是游戏机制上的改善而非视觉特效。
选择战斗
将上图所示的工程导入Unity作为基础游戏,玩家需要在敌人碰到自己之前用激光消灭他们。下面在此基础上添加的视觉效果均以改善游戏交互为目的,而非加强游戏视觉效果,这种改善会让游戏更加“丰富生动”。
敌人血量
在此游戏中使用激光消灭敌人需要一定时间,敌人死亡前会在代码中隐式计算其生命值。下面为血量添加视觉效果,以便于玩家更清晰地理解游戏系统。一般游戏常见的方式是显示敌人血量值,这里采用一种更直观也更简单的方式。
Unity编辑器的各个选项都可以在运行时通过脚本更改。标准材质编辑器中有“emission”值,用于让游戏对象发出指定颜色的光。这里使用脚本将敌人生命值映射为红色的,该映射的输入与输出都是模拟值,用在此处非常合适。
伤害特效
敌人攻击玩家的交互缺少有效的反馈,通常玩家身上的特效会影响整个游戏画面的表现。
Unity提供了后处理特效包,可以用来实现一些预定义的后处理特效。“Vignette”特效就是其中之一。一般通过降低屏幕边缘的亮度来模拟相机的光晕,这里会让屏幕变为红色来表现疼痛或伤害。通过脚本控制屏幕突然变暗,然后渐变至红色消失。
敌人爆炸
玩家的主要目标就是摧毁敌人,所以要尽可能让玩家满足。有时候一些看起来微不足道的动作就能带来非常震撼的效果,使用Unity的粒子系统来添加爆炸效果。
这里使用的爆炸效果对Unity资源库自带的特效进行了细微调整,它由几层粒子系统组成,包括火花、烟以及一道亮光。明亮的黄色和红色与激光相连,有融为一体的感觉。
激光作用
下面来重点看看激光枪,因为这是玩家与游戏世界进行交互的唯一方式。
使用3层Unity自带的粒子系统从激光作用位置创建火花。第一层是带轨迹的长条火花,从地面弹出,便于表示方向。第二层是轻柔收缩的圆环,强调攻击位置。最后一层增加火花强度,吸引玩家注意力。
激光发射
下面在激光发射点加入更多内容,在向玩家表明机器人方向的同时,又不会转移玩家对游戏关键位置的注意力。
此特效使用一个粒子系统和一个投射阴影的灯光。虽然是很细微的装饰,但对提高玩家参与度大有裨益。
生成敌人
生成敌人也可以添加一些视觉效果,但需要有节制地使用。因为这不是玩家获得成功的关键,所以要确保它不会分散玩家的注意力。
这里使用简单的粒子系统,就是一个代表敌人生成的发射器。避免使用对游戏机制较为重要的黄色及红色,而是让其颜色与强度更弱。
耀光
耀光是一种屏幕效果,它会为屏幕上的像素添加光晕来增加亮度。该效果非常适合此游戏设计,游戏兴趣点已非常明确,耀光有助于吸引玩家注意力。
耀光也是Unity后处理特效包中的特效之一,只要启用该特效并调节亮度即可使用。它可以一直开启,无须在运行时修改。
主角爆炸
仅用Vignette实现爆炸特效还是有点弱,可以让玩家受到攻击时出现更大的爆炸,因为这属于偶然事件且十分重要,可以自由调整爆炸强度,也不会对游戏造成很大干扰。在之前爆炸效果的基础上添加一个更加震撼的版本。
相机抖动
相机抖动是强调游戏行为的一种简便方式。在本游戏中使用相机抖动来强化两种不同的反馈,一个是消灭敌人时的积极反馈,相机小幅度抖动;另一个是玩家被攻击时的消极反馈,相机会激烈抖动。
结语
本文通过添加一些细微效果让整个游戏交互性更强,为玩家带来更加清楚的反馈,加强玩家与游戏之间的互动,从而增加玩家的参与感。文中所介绍的实际实现方式不一定适用于所有游戏,但希望分享的设计概念对大家有些帮助。