目录

1. 前言

2. 第一期:制作基础场景

3. 第二期:让勇者和怪物登场

4. 第三期:基础的数值设计

5.第四期:从理论的角度简单聊聊关卡

6.第五期:制作物品和技能

7.第六期:设置怪物掉落物并部署关卡怪物

8.第七期:触发器与逻辑

9.第八期:对话、按钮、变量、马甲

9.第九期:信息反馈(上)
第十期:信息反馈(下)

接上期。
本期将进一步拓展【信息反馈】的概念。

上期我们讲述了信息反馈的时机、方式对人注意力的影响,也讲述了如何通过信息反馈来从精神层面奖励玩家。
除了这些因素以外,信息反馈还可以增强游戏的吸引力。

打击感案例:击退

打击感在战斗类游戏中是很常见的反馈。
格斗游戏中,轻击敌人,只会让敌人出现略微的后退,但如果使用连招加上重击,则往往会将敌人击飞。

在知名动作类游戏《鬼泣》系列中,甚至能够使用无限的连击手段,将敌人抛到空中,再飞击得极远。

在RPG中,一些基础的招式只会具备简单的特效,而复杂的、高级的招式则往往会有一连串炫酷复杂的表现效果设计,并且附带会持续较长时间的其它效果。

让我们回到具体的例子。

在魔兽争霸,打开单位编辑器,我们可以看到,在各个单位中,我们都可以设置他们攻击的声音。

农民的武器声音是金属轻砍,步兵的武器声音是金属中切,圣骑士的武器声音是金属重击。
远程攻击的单位,如牧师、狮鹫骑士,他们攻击的声音则来自于投射物特效模型。

这些即是魔兽争霸游戏基础的打击感。

不过如果我们想要增强打击感,使得战斗效果更夸张,我们就得再花费些心思。
比如,我们想要制作出击退的效果。

让我们先创建一张新地图。

在新的地图上,我们放上一个圣骑士和一个步兵,我们希望实现圣骑士击中步兵后,能够击退步兵的效果。
打开触发编辑器,捕获步兵受到伤害事件。

为了功能实现的便捷起见,我们先无视掉【条件】,直接编写功能。
击退,即需要一个单位命中另一个单位时,让另一个单位向后滑动一段距离。
实现这个功能本需要我们自己编写逻辑,因为在标准的魔兽地图编辑器中并没有提供这种逻辑。不过由于我们使用的是基于YDWE的编辑器拓展MOD,这意味着这个编辑器并不是标准的、魔兽争霸3自带的魔兽地图编辑器,而是包含了许多额外附加功能的编辑器。(编辑器拓展MOD的概念在附录中介绍)

我们直接使用YDWE提供的冲锋功能。

这条动作的功能,抛开其命名【冲锋】,实际上就是【连续位移指定单位】。
根据我们的需要来填入参数即可。
第1个参数,我们要位移的单位是受到伤害(被击中)的步兵。
第2个参数,我们要位移的方向是伤害来源到受伤单位(触发单位)的角度。
这一条,我们也有YDWE提供的拓展函数解决问题。

第3个参数,射程,即位移距离,我们修改为200,避免后退过多。
第4个参数,持续时间修改为0.5秒,以实现瞬间击退的感觉。
第5个参数,刷新周期,1/0.03,约为33,本参数影响动画的流畅度,即帧率。通常情况没有特别需要时,我们可以保持为0.03。如果地图上同时有很多冲锋逻辑发生,则需要考虑将刷新周期提高,从而降低帧率,以提高游戏运行效率避免卡顿。
后续参数则会影响单位和其它单位或地图上的装饰物的交互,根据需要修改。
最终2个特效,在本例中我们先不添加。

确定后进入游戏。

攻击后:

为了让表现效果看起来更夸张,我们可以加上烟尘效果。

保存后回到游戏。

可以看到步兵现在被击中后会带有浓厚的烟尘效果。

此外,我们还可以根据攻击力的大小,来计算出击退的距离。
比如每10点伤害,会造成50点击退距离。

使用逆天局部变量和计算类函数来计算和获取伤害值。(逆天局部变量的概念在附录中介绍)


得到如下的动作。

然后通过读取逆天局部变量,来获取我们刚才计算出的变量值。

回到游戏后,可以测试出现在被击单位后退的距离会和受到的伤害相关。

在实际测试中,0.5仍然是非常慢的数字,并不符合打击后瞬间击退的感觉。
我们将数字修改为0.3,以贴合我们的效果。

回到游戏后测试,效果好多了。

高级装备的信息反馈:击中特效

我们还可以通过增加击中特效来改变一个装备给人带来的观感。
比如假设我们的圣骑士现在手里拿着的是【雷霆之锤】之类设定的武器。
这种武器在命中的时候会造成落雷效果,从而直观地从攻击效果上就让人感觉到不同。

这个效果仍然建立在【命中】时。
让我们直接编写效果。

在这个触发器中,我们判定只要造成伤害的单位是圣骑士,就会触发雷霆之锤特效。
同时在这个触发器中,我们记录了触发单位的位置,保存为逆天局部变量,同时在使用完这个点后清理它,这个原理我们将在下一期讲【排泄】的时候讲到。

回到地形编辑器放置几个别的怪物。

然后进入游戏测试。

可以看到当圣骑士击中敌人后,会带出雷击特效。
现在这种特效是对单个怪物有效,但在实际制图中,我们就可以根据我们的需要,把这种效果修改得更为夸张。

信息反馈的小结

【反馈】是一种很宽泛的概念。
在现实生活中我们能够做很多事情,并且很多事情必然会带来反馈。
打开水龙头,水管就会出水;把水龙头关小,水管的水就会是细流;开启电灯,灯就会亮;快速开关电灯,就会让电灯闪烁。
在海边,用力踢水就能踢出水花,如果按照规律去划,就能划出好看的涟漪。

反馈本身就是一种有趣的东西,因而在游戏中给出合适的反馈,让玩家知道自己的投入在产生效果,并且适时根据需要来夸大这种信息反馈,适当地制造一些夸张效果,就能让玩家感觉到趣味。
信息反馈并不是一门技术,而是一种思路。
游戏本身是一种交互,交互就必定带来反馈。因而当玩家投入时间、投入行为,参与到游戏的互动时,游戏给予他们预期或超出预期的反馈,就能提高他们的兴致。但同时如果不满足他们的预期,也会降低他们的兴致或反向引起其它情绪。我们在设计中要做的,便是判定什么时候给予玩家反馈,怎样给予反馈会让他们觉得那是他们应得的,怎样又会让他们满足。

概念:编辑器拓展MOD
魔兽地图编辑器诞生自魔兽争霸3发布的时候。原本的魔兽地图编辑器虽然已经可以完成很多功能,但那时的魔兽地图编辑器的作用并不是用于彻底地制造丰富功能的独立的地图,而是基于魔兽争霸3现有内容进行适当拓充。
因而在数十年的发展中,一大群魔兽地图制作爱好者聚集到一起,建立了诸多社区,并且在这种发展中,一群人贡献自己的力量,基于原生的魔兽地图编辑器做了很多功能性的拓充。
在所有的拓充中,现存最知名、影响力也最广的便是YDWE。

这些拓展MOD对原生的魔兽地图编辑器做了诸多修改,增加了许多额外的用于辅助制图的插件(比如脚本代码编译器、文本染色器)。
本教程所使用的编辑器是基于YDWE进行二次拓充的、由魔兽争霸官方对战平台发布的地图编辑器。
我们要理解的是,我们现在正在使用的编辑器并不是暴雪原本提供的编辑器,而是经过社区修改的、添加了许多额外功能的编辑器。
因此,我们可能获得额外的便利,但也可能遭遇一些额外的麻烦。
附YDWE百度百科介绍:YDWE是由everguo、wataloo、aeris、actboy168、SiNg、Warft_TigerCN、Fetrix_sai几人(排名不分先后)从WOW8编辑器中的UI所改进的一个功能强大的魔兽地图编辑器插件(WE Mod),他的功能能让一个不会Jass的新手完成使用Jass才能办到的事情。

概念:局部变量、逆天局部变量、全局变量
局部变量,是指其作用域仅在特定【函数】内的变量,这在魔兽地图编辑器的脚本语言(JASS2)中被使用。

在上图中,local string msg,即是为Hello函数,定义了一个名为msg、类型为string(字符串)的局部变量。

而逆天局部变量,则是作用域仅在特定【触发器】内的变量。

比如在雷霆之锤触发器中我们设置了逆天局部变量p为触发单位的位置,如果我们在别的触发器中读取逆天局部变量p,我们并不会读取到任何值。
逆天局部变量是由YDWE为魔兽地图编辑器拓展的一种额外的、便于实现复杂系统的功能。

与局部变量对应的便是【全局变量】,即我们在触发编辑器中通过变量编辑器添加的变量,这种变量的数值一旦被修改,就会在整个游戏过程中被修改,影响到所有其它使用了这个变量的逻辑。
全局变量通常是用于改变游戏进程的变量,比如到了多少关、游戏进入了什么阶段、刷怪的频率等等。

关于变量的介绍我们未来还会详细说明,但现在先暂时概述。

《从零开始的 RPG 游戏制作教程》第十期:信息反馈(下)相关推荐

  1. 《从零开始的 RPG 游戏制作教程》第九期:信息反馈(上)

    目录 1. 前言 2. 第一期:制作基础场景 3. 第二期:让勇者和怪物登场 4. 第三期:基础的数值设计 5.第四期:从理论的角度简单聊聊关卡 6.第五期:制作物品和技能 7.第六期:设置怪物掉落物 ...

  2. 《从零开始的 RPG 游戏制作教程》第十一期:排泄、运行效率

    目录 1. 前言 2. 第一期:制作基础场景 3. 第二期:让勇者和怪物登场 4. 第三期:基础的数值设计 5.第四期:从理论的角度简单聊聊关卡 6.第五期:制作物品和技能 7.第六期:设置怪物掉落物 ...

  3. 《从零开始的 RPG 游戏制作教程》第十三期:刷怪与防守(下)

    目录 1. 前言 2. 第一期:制作基础场景 3. 第二期:让勇者和怪物登场 4. 第三期:基础的数值设计 5.第四期:从理论的角度简单聊聊关卡 6.第五期:制作物品和技能 7.第六期:设置怪物掉落物 ...

  4. 《从零开始的RPG游戏制作教程》第三期:基础的数值设计

    目录 1. 前言 2. 第一期:制作基础场景 2. 第二期:让勇者和怪物登场 上期回顾 在[第二期:让勇者和怪物登场]中,我们已经制作了一个自定义的勇者克里夫. 很显然,相比我们先前所放置的怪物,我们 ...

  5. 《从零开始的RPG游戏制作教程》第二期:让勇者和怪物登场

    目录 1. 前言 2. 第一期:制作基础场景 在[第一期:制作基础场景]中,我们教学了如何下载魔兽地图编辑器,并制作了一个非常基础的小村子场景. 本期我们会简单地在场景中放入魔兽争霸3自带的英雄,使得 ...

  6. 《从零开始的RPG游戏制作教程》第四期:从理论的角度简单聊聊关卡

    目录 1. 前言 2. 第一期:制作基础场景 3. 第二期:让勇者和怪物登场 4. 第三期:基础的数值设计 到目前为止,我们已经接触了如何制作简单的游戏场景,如何放置装饰物.单位,如何修改单位属性,并 ...

  7. 《从零开始的 RPG 游戏制作教程》第六期:设置怪物掉落物并部署关卡怪物

    目录 1. 前言 2. 第一期:制作基础场景 3. 第二期:让勇者和怪物登场 4. 第三期:基础的数值设计 5.第四期:从理论的角度简单聊聊关卡 6.第五期:制作物品和技能 第六期:设置怪物掉落物并部 ...

  8. 《从零开始的 RPG 游戏制作教程》第七期:触发器与逻辑

    目录 1. 前言 2. 第一期:制作基础场景 3. 第二期:让勇者和怪物登场 4. 第三期:基础的数值设计 5.第四期:从理论的角度简单聊聊关卡 6.第五期:制作物品和技能 7.第六期:设置怪物掉落物 ...

  9. 简单的RPG游戏制作教程

    □企划部份 ◎第一步:决定资料格式 在进入游戏制作的初期,由于有许多和程式有关的资料需要编整,因此担任企划的人员常会忙得乱七八糟.在这个阶段,企划人员必需要和程式商量游戏中资料的格式.举个例子来说,在 ...

最新文章

  1. linux - python - 异常:error while loading shared libraries
  2. 【PC工具】几个电脑录屏相关软件,手机投屏电脑,电脑显示手机摄像头图像,必须好用无广告!...
  3. 为什么8位数据范围是-128到127,而不是-127到128?
  4. 18个项目必备的JavaScript代码片段——数组篇
  5. python docx官网_【记录】尝试用DocxyGen为Python代码生成文档
  6. django-单表的增删改查-用户部门表
  7. linux下如何运行脚本程序设计,Uboot 如何运行脚本
  8. 计算机网络属性设置方法,电脑本地连接的属性设置在哪里
  9. 类型的取值范围_Java基础类型取值范围,从基础的理解加深记忆
  10. 尚硅谷 硅谷新闻_如果每个人都遥不可及,硅谷会损失什么
  11. Masked Autoencoders Are Scalable Vision Learners (2021 何凯明老师组)
  12. 对计算机的认识和未来规划,计算机导论论文-论对软件专业的认识和对未来四年的规划...
  13. Unity3D视频教程-传智-专题视频课程
  14. vim 显示和隐藏行号
  15. python线程和进程
  16. linux 串口 阴沟翻船系列
  17. 【智能优化算法-灰狼算法】基于贪婪非分级灰狼优化器求解单目标优化问题附matlab代码
  18. 实验室信息管理系统(LIMS)的应用流程
  19. Android Studio版本控制之SVN图文教程篇
  20. phoenix使用详解

热门文章

  1. java/php/net/python学生社团管理系统设计
  2. 发布 | 汉字转拼音工具
  3. 人生观,世界观,价值观树立的方式
  4. windows内核开发学习笔记十八:IRP 处理的标准模式
  5. 【笔记】Oracle删除项目编号多余的数据
  6. 计算机毕业设计ssm+vue基本微信小程序的拼车自助服务小程序
  7. 传输层协议(TPC和UDP介绍)
  8. 餐饮SaaS行进时:美团To B,二维火To C
  9. HAZOP到LOPA和SIL验算软件-歌略RiskCloud
  10. 【功能测试】part2