终于,我决定进入游戏行业,并踏进去了一只脚。

2019年的游戏《只狼》,让我看到了东方文化在动作游戏中的完美诠释,中国本应可以在以东方文化为卖点的电子游戏行业中大放光彩,却因为不可抗的力量,沦为此般田地,作为一个游戏爱好者,看到这样的情况,我倍感心痛。

这坚定了我投身于游戏开发行业的决心。

通过大半年的自学游戏开发,我最终决定用UE4作为自己开发游戏的核心工具,最终也制作了一个简单的动作游戏DEMO,制作期间也学习了大量制作动作游戏的知识,这里作为分享。

一.什么是动作游戏??

从制作人的角度来说,制作动作游戏就是——给玩家创造各种情景,让玩家通过操作来应对这些情况。(这是2016年GDC白金工作室的说法)
从玩家的角度来说,动作游戏就是——敌人做什么,玩家作出反应。(这是我的想法)
这一点在我开始做DEMO之后的几天才认识到,白金工作在GDC中也说了,动作游戏切忌不能以添加功能为目的去设计动作和玩法。
那么如何利用“创造情景”这种设计思路来制作、分析动作游戏呢?

先来分析几款动作游戏:

动作游戏有2D、3D两种。
1.
2D动作游戏有动作平台跳跃游戏、动作解密游戏等等
例如:超级玛丽、FC忍者龙剑传和奥日与黑暗森林


利用刚刚我们对动作游戏的定义去分析这几款游戏,在2D动作游戏中,我们要在游戏中创造一种情景让玩家去应对的方式有两种
一种是关卡设计,制造危险的关卡例如悬崖、刺和机关等等东西,玩家需要去思考如何应对,所以制作游戏中我们就要赋予玩家一定的能力,比如跳跃、二段跳、登墙跳等等
另一种是敌人的设计,在2D游戏中部分站桩敌人可以同样理解为机关的一种,还有就是能够主动攻击玩家的敌人,在2D游戏中敌人设计往往会相对弱化一点,虽然也有,但是在3D游戏中体现更为明显,所以就在3D游戏中去说。
3D动作游戏有如:《鬼泣》《战神》以及宫崎英高独创的一种“魂类”动作游戏《黑魂》《血源》为什么说是独创后面会提到。


在这些动作游戏中,我们常常会看到敌人能攻击、玩家会防御,但是还有一种就是敌人有”投技“,就是不能够被防御的那种攻击,这样玩家就不能够防御,要用其他方法来应对。

二.我所看到的动作游戏中的设计技巧

什么是情景?我的理解是比如“你要掉下去了”“敌人要攻击了”。。。那么为了应对这些情景玩家需要作出反应,比如跳跃、登墙、防御、闪避等等。
如何创造情景?让这个情景如何令人印象深刻?如何让玩家分辨出这些“情景”呢?这里主要来说说在玩家应对敌人情景而不是关卡情景时的情况。
从最初的角色设计那里开始其实就要考虑到这一点,玩家能够从敌人的设计上就能看出敌人要做出什么样的攻击,并能够一定程度上的判断攻击的危险程度,例如一个拿着大砍刀的敌人,那么他就一定会用砍刀去攻击你,并且”大”砍刀也一定程度上说明了这个敌人很厉害。
先来举个例子

这是鬼泣5的GDC演讲中的两张PPT,完美诠释了这两点


第一.看到一个弯腰驼背的带钢刺的敌人,那么这个敌人很可能就会用刺来攻击你,当玩家看到它缩成一团,玩家证实了自己的想法,看到敌人开始咕噜咕噜的转的时候,那么这个敌人就会滚过来撞你。玩家这个时候就已经通过外观思考了各种情况,已经有了心理准备。
第二.看到那个红色的敌人了吗?红色在人的印象中往往是危险的,所以红色的敌人往往会比较强大,并且这个敌人的受伤有锋利的刀,说明这个敌人可能速度很快,另一点就是,这个敌人是像人一样站起来的,那么这个敌人可能会比较的智能。
以上两点都是GDC上关于敌人设计的原话,我大致的总结了下。

在一个就是动画设计,参考《动画人的生存手册》,一个攻击动作前往往都会有铺垫,可以是攻击前摇,可以是居合拔刀斩的收刀动作,这些铺垫往往能够提醒玩家这是一个多么强力、危险的攻击动作。
还有一个比较考验动作师的就是“动作剪影”,能够通过动作的轮廓就能看出这个动作是什么,能够提高一个动作的辨识度。

(↑↑↑图片来源:https://gameinstitute.qq.com/community/detail/121666)
另一点让情景更加的具备辨识度,就是在游戏中添加一些游戏特效和音效,例如《只狼》中的”危“,《战神》中的“黄圈”和“红圈”来表示这是一个可以防御的或者不能防御的。

这里就不得不提到宫崎英高式的动作游戏了,比如说《黑暗之魂》,为什么会存在“活尸剑圣”这种敌人,《血源》中为什么会有“火把剑圣”,原因就是这种敌人的设计上看上去非常的弱,然而当它开始攻击的时候就会像神经刀一样的连击,甚至攻击的前摇看上去也只是简单的挥刀,《只狼》就会收敛很多,并且在《黑暗之魂》和《血源》中有“延迟斩”、“抓翻滚”这样让人抓狂的攻击方式,这些都是不同于其他的动作游戏设计,宫崎英高式的动作游戏的动作设计往往是具有欺骗性的,我认为这是为啥《血源》《黑魂》会比较难的原因之一,《只狼》就稍微简单不少,因为《只狼》的动作设计都很符合常规。

三.一个游戏程序能够为动作游戏做什么?

我认为一个好的动作游戏,从开始制作,创建文件夹的那一刻起就应该开始思考我们要给玩家创造什么样的体验,基于给玩家创造情景的这一种思路,我们要去思考要创造什么样的情景,如何设计角色、如何设计动作等等。

我是程序出身,我在制作DEMO的时候做了些什么呢?

首先就是限制玩家的行动:谁也不知道玩家会干什么,所以我们要去限制玩家的行动,这就要去规划一个完整的动画状态机

虽然这应该式策划干的事情,但是作为程序最主要的工作就是实现这个状态机了吧…

由于我是用的UE4引擎,UE4引擎可以在一定程度上修改动作,改变动作帧数、延长、缩短或者拼接一些动作,所以当策划不满意动画师的动作,例如前摇不够长、动作位移不够、动作幅度不够大,都可以利用编辑器来修改动作,在一个就是可以利用程序计算IK,在击中敌人的时候冻结帧等等。。。还有就是控制玩家的操作手感,利用输入缓冲机制来提高玩家操作的容错率,降低玩家的操作频率(提升玩家输入后反馈结果的准确性)。

总结

游戏是一个综合性极高的超级产品,作为一个游戏程序员,保障游戏程序的顺利运行是基本,具有设计思维也是极其重要的,不仅仅是在游戏行业,在未来,设计思维在各行各业也会极其重要,我希望一个技术博客,不仅仅是在技术上实现了什么功能,而是能够利用设计的思维来解释功能设计的来龙去脉。

【ThinkGame】我对动作游戏的思考,以及一个游戏程序能为动作游戏做什么?相关推荐

  1. 女性向游戏难复制下一个“恋与”,从日本游戏能取到什么经?

    2022年年初,腾讯推出一款女性向游戏<璀璨星途>,且和上一部主打恋爱的乙游<光与夜之恋>不同,这部手游更倾向于经营和偶像养成. 可以看出,在女性向游戏这个赛道中,鹅厂在切切实 ...

  2. 石头剪刀布python代码_我的第一个python程序,石头剪刀布猜拳游戏

    从决定学习python到今天,已经过去了好1个月,买的几本书还没一本看完的,惭愧. 忙不是借口,是时候来点计划,来点坚持.写点什么吧,算是学习的记录,也是对自己的鞭策. 今天写一个猜字游戏,模仿正在读 ...

  3. 项目目录游戏服务器,Yivgame是一个基于go-kit的微服务游戏服务器

    yivgame Yivgame是用go语言基于go-kit写的一套微服务架构游戏服务器方案,它不是一个框架,是一整套游戏服务器实例,每个模块只保留了一份示例代码实现.除了游戏服务器(长连接),还包含针 ...

  4. 【Python游戏】Python实现一个Q版泡泡堂小游戏 | 附带源码

    相关文件 想学Python的小伙伴可以关注小编的公众号[Python日志] 有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!! 需要源码的小伙伴可以在公众号回复泡泡堂 Python ...

  5. 帮我编写一个Python程序,实现经典游戏《马里奥》

    非常抱歉,我无法为您编写完整的 Python 程序.但是我可以向您介绍一些有关如何编写<马里奥>游戏的基本思路,并给出一些参考代码. 首先,您需要了解<马里奥>的基本游戏规则和 ...

  6. python设计石头剪刀布游戏五次游戏体验_Python设计一个石头、剪刀、布游戏

    石头剪刀布是一种很受欢迎的游戏.我们将在python编程语言中实现石头剪刀布(Rock, Paper, and Scissors).Python是最简单的编程语言之一,理解它不需要花费太多时间.让我们 ...

  7. 微信小程序 | 做一个小程序端的扫雷游戏

  8. 【java毕业设计】基于java+Socket+Eclipse的坦克大战游戏设计与实现(毕业论文+程序源码)——坦克大战游戏

    基于java+Socket+Eclipse的坦克大战游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Socket+Eclipse的坦克大战游戏设计与实现,文章末尾附有本毕业设 ...

  9. 【java毕业设计】基于java+swing+GUI的连连看游戏设计与实现(毕业论文+程序源码)——连连看游戏

    基于java+swing+GUI的连连看游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+GUI的连连看游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  10. 地图标识符号大全_创意游戏小程序大全:胡建土楼游戏!带你领略不一样的创意小游戏...

    50000+游戏爱好者已加入我们! 每天推荐好玩游戏! 关注我们,沐沐带你发现好游戏! <胡建土楼>游戏小程序好玩吗? <胡建土楼>小游戏怎么玩? 怎么进入<胡建土楼&g ...

最新文章

  1. Django的学习需要掌握的一些基础和初步搭建自己的框架
  2. 获取另一个驱动的设备结构体_Linux 驱动开发 / 设备模型快速入门
  3. Day 4:PredictionIO——如何创建一个博客推荐器
  4. 现代程序设计 作业7 - 更加简单的题目
  5. 支持Flash和JavaScript的图表控件FusionWidgets
  6. C语言 实现面向对象
  7. 华硕飞行堡垒atk驱动在哪_11月8日华硕再撒大额福利 满减优惠价机不可失_第1页...
  8. 删除win10添加的网络位置
  9. 二维数组传参 实例详解
  10. 静态手绘图-屁民科普
  11. Error opening zip file or JAR manifest missing
  12. hdfs高可用与高拓展机制分析
  13. 短信验证码接口的应用场景和优势
  14. 【已解决】ThinkPad E440 Win7蓝牙无法连接
  15. 边框,多层背景,内补白与外补白
  16. python易盾滑动验证码
  17. grep -v grep
  18. win10修改系统配置处理器引导参数后,系统无限蓝屏解决办法
  19. html5页面发送短信验证码,H5实现APP“输入短信验证码”效果
  20. “贵人语迟”?孩子说话越晚越聪明?

热门文章

  1. 【2021-09-07】JS学习(四)--数组
  2. 算法推导核心!一次性梳理清楚,是时候搞定矩阵求导了!附参考资料
  3. 成亦萧何败亦萧何 一个王朝倒下的背影
  4. 如何格式化服务器系统,如何格式化服务器
  5. 保护移动设备免受恶意软件侵害优秀方法
  6. 去哪儿风控揭秘(1)-如何对付网银大盗(木马钓鱼)
  7. idea 取消自动换行
  8. vue使用wangEditor
  9. 今年双11,退货率6%
  10. 利用植物改善办公室财运,不妨可以试试!