动作游戏的方方面面

本文最后更新于:2024年12月27日 下午

动作游戏系统设计

镜头选型,运动系统,输入模块,战斗能力。

战斗系统?

攻击

好的攻击方式应该兼具优点和缺点,比如范围大那么久伤害低,伤害高但是攻速慢,或者需要某些特定的资源,或者具有冷却时间

攻速其实是动画的帧动画

前摇,判定和后摇

动画取消

范围:吸附的范围

不同的按键组合是不同的攻击方式,当然也可以是和位置不同而变化,比如背刺之类的。

连招

一定顺序,准确时机可以打出不同的连招

防守

防御或者闪避

弹反和招架:有可能过于强大,让整个游戏都变成了等待

可以增加弹反惩罚,或者限制弹反次数,或者降低弹反收益:比如只是单纯地给一点子弹时间。

当然你也要防止你的玩家完全不防御,防止让他一直压制敌人,比如给怪加体力条,体力条没了才能僵直,或者让他面对很多个怪物。

好的动作游戏,应该鼓励玩家在攻击和防守之间积极地变换。

敌人

敌人的进攻应该有明显的提示,比如画面之类的。

并且最好不要设计成单一武器才能杀死的敌人

如何鼓励玩家进攻多样而不是复读?

连击有特殊动画,或者直接设计连击分数(比如鬼泣或者猎天使魔女),还有受伤掉分

如果程序检测到玩家复读某一招,可以相对应地用表现得不一样,这些可以给玩家他适应了你的打法一样(街霸的ai也有类似的感觉,可以学习)

打击感

巨大的前摇+飞速的打击动作+判定帧短暂的暂停+后摇缓慢的回复

刀光特效

震动屏幕

爽快的音效

打击感

【暖风游戏厅】打击感是如何炼成的

攻击角色击中被击角色的瞬间,游戏给玩家的反馈所形成的的体验。

打击感是击中的瞬间,手感是玩家输入的瞬间

被击动作、特效、静止帧、音效和振动

被击动作

首先是攻击动作和被击动作要匹配,方向和力度。

被击动作需要播放地够快。

如果是一个很大的boss,可以考虑做局部肢体的抖动。对骨骼施加物理力,然后和动作进行融合,这样做不会让被击方停止动作,一举两得。

特效

最重要的功能是告诉玩家自己的攻击击中了,必须及时,准确和明显。

两种比较常见的,爆炸和飙血。前者是拳脚或者钝器(街霸),后者是利器(血缘)

静止帧

用来模拟现实打击中的顿滞感,拳头和钝器会慢一点,利器会快一点。也和敌人属性有关,比如穿了厚重的铠甲就会慢一点,破衣服就快一点。

全局或者局部

全局是整个游戏都暂停,局部是只用双方暂停。

战神利用了ik(反向动力学)来制作静止帧,斧子在击中敌人的一瞬间会卡肉,然后手臂会继续运动,直到一定程度才会完成打击动作。

音效

依旧是合适和及时,不同属性不同力度要对应。

震动

另一种理解

打击感是一瞬间的信息和力度,要专注这一瞬间的反馈。

命中

信息:信息要准确,丰富有层次

强度:强度要有对比,要有层次和疏密,最重要的是符合直觉

连招开启的卡肉,就像街霸里的确认一样,用来告诉你你可以开始爽快的连招了

第一法则:“0延迟”的即时反馈

第二法则:制造预期,让玩家有所期待

第三法则:符合预期,回应玩家的期待

第四法则:简洁:明了清晰,弱化不必要的

第五法则:夸张:强化重要的

第六法则:回味:让玩家有时间和机会回味,延长令玩家愉悦的感觉

第七法则:拟真:真实感的模拟(如果你不知道从什么地方开始,那么就向大自然和实际生活学习)

成就感

重点是解决一下三个问题:

如何让玩家探索战胜敌人的方式?

敌人的形象设计;攻击提示;仇恨范围;攻击欲望;连招系统;战斗策略;指令输入;能力限制一级敌我对等程度;对峙突围能力……

如何让玩家不断磨练自己的技术

角色的成长策略;获胜的条件;游戏综合速度;不同情绪切换;基础物理法则;战场结构;纵向层次;角色能力提升曲线与自我技术革新……

如何让玩家不会轻易放弃?

游戏的核心挑战;次要挑战;游戏整体难度;死亡机制与死亡惩罚;角色的容错率;玩家的学习曲线;玩家操纵角色的综合能力……

难度曲线

确保每一种类型的玩家都有自己的乐趣所在,初学者,玩家和大师

进阶循环

3C

Camera

第三人称、第一人称、越肩(战神)、俯视角、横版

Character

移动方式和相机要相关,越肩就是要固定方向,第三人称的话可以转头,但是也可以锁定怪物

Control

动作切换系统

动作游戏中的动作切换系统这么做就对了 - 猴与花果山的文章 - 知乎

数据结构设计

1
2
3
4
5
6
7
8
9
10
class Frame{
public frameId:string;
public clips:Array<Clip>; //每一帧依然会是多个clip
public hitBox:Array<Rect>; //碰撞框,动作游戏会有进攻、挨揍、防御等碰撞框,当然很可能都是空数组,比如角色死了的时候

//在这一帧,哪些frameId的动作可以成为下一帧cancel掉这个动作
//比如街霸的重拳接升龙,他不是等重拳全放完了,然后升龙从头来叫重拳接升龙
//而是从重拳的第x帧之后,直接切换到升龙的第y帧开始继续
public cancelableAction:Array<string>;
}

连招系统代码设计

游戏的连招动作是怎么设计的?代码上又是怎样实现的? - 白井功名的回答 - 知乎

1,在无法把握全部动作的前提下,把握好人物每个动作衔接过程中的着力点

2,适当地通过特效、光影等弥补动作上可能存在的不足

3,嗯之前忘了说,但是也许是最重要的一点:在做连招的过程中保持与美术的沟通,单个动作方面可能他是专家但连招的整体还是需要你们共同完成

游戏的连招动作是怎么设计的?代码上又是怎样实现的? - 猴与花果山的回答 - 知乎
https://www.zhihu.com/question/26760255/answer/57075589


动作游戏的方方面面
https://rorschachandbat.github.io/游戏设计/动作游戏方方面面/
作者
R
发布于
2024年12月24日
许可协议