当前位置:网站首页 > API设计与开发 > 正文

战斗系统设计(战斗系统分析)



PVP(与玩家之间战斗)、PVE(与怪、boss这一类AI战斗,橙光战斗系统本质为PVE)回合制、即时、多人等。不同的玩法带给玩家的参与感、体验感、爽感皆不同。

适用所有作品。(可根据自身情况等方面酌情选择战斗类型。)

本教程难度较大,适合对制作工具有深入了解、且逻辑思维能力与系统玩法、数值策划能力较强的作者。

战斗系统模板+psd

玩家从固定剧情(主线+支线)中以副本形式参加战斗。战斗过程中可以直观敌方单位战斗即时状态(包括血条、蓝条、技能等),通过自选(普攻/技能/道具等)、(逃跑/跳过战斗or自/手动攻击)完成战斗从而获得与本次战斗难度相匹配的奖励。

基础战斗系统包含了 备战、简单作战模式、战斗结果 三个方面。

进阶战斗系统包含了 主角战斗属性的相关养成、备战、复杂的作战模式、战斗结果、后续的主角战斗属性养成 五个方面。

部分概念详解:

【备战】

准备战斗,也就是战斗的前期准备。(包括战斗中所需的消耗道具以及使用技能道具等)

【作战模式】

简单:玩家选择使用简单的普攻/技能/可消耗道具完成作战。

进阶:玩家除了可以选择使用普攻/技能/可消耗道具完成作战之外,还可以在作战过程中召唤助战单位(战宠、其他辅战),也可称为“组队”等多种复杂的形式玩法完成作战。

【战斗结果】

结果可大致分为三种状态:

1、战斗成功(击败敌人取得胜利。战斗必要结果。)

2、战斗失败(原因为两种:主动逃跑 or 被敌方击败。战斗必要结果。)

3、平局(在规定时间内未完成本场战斗最终被判定平局。战斗少见结果。)

【战斗属性养成】

通常会直观以数值体现,所有数值项会影响战斗体验与结果。

要点:战斗属性数值会承上启下。玩家在完成一场作战后,(直接或间接)获得属性提升从而帮玩家参与更多战斗。


版块一:战斗系统搭建理论概述

版块二:基础战斗系统搭建规划与过程

版块三:战斗系统进阶教学

版块四:制作难点与注意事项

版块五:基础/进阶战斗系统的使用教程


版块一:战斗系统搭建理论概述

遵从三要素:

1、以玩家视角开启/结束战斗。

该要素需要作者在整个制作或测试中,代入玩家视角。

举例:首先是战斗的合理性,不要有突兀战斗出现(通过冲突/矛盾剧情引导参与战斗),其次是战斗结束后剧情衔接。(剧情设计自然,不要为战而战)。

2、界面等设计遵从玩家习惯。

该要素需要作者制作前了解玩家的行为习惯。合理布局整个战斗画面。

举例1:若玩家可自选攻击对象,需要作者提前规划“对象”位置。

举例2:若战斗中出现操作/方向轮盘这类辅助UI,将其放于符合玩家习惯的位置——左/右下角。


需要在编写逻辑(数值、字符串、图片按钮、条件分歧)之前,预估后续所需数值项、字符串项、高级UI等。

举例:一场与多场战斗共同点(共同点指后续战斗可共用的数值项、字符串、条件分歧等),整合资源节省内存。提前规划系统所需资源。(做好数值项/字符串等命名标注)


ONE-所需配套UI:

高级UI列表按钮:

常规(存读档设置商城一类)

(作战相关)特殊:技能/使用道具等

特效(静态图/序列帧):不同技能建议使用不同特效


战斗奖励 ——

胜利(举例):机动力-5 财富+500 角色等级+1 技能等级+2

失败(举例):机动力-5 技能熟练度等级+1

以上举例,可自由更改设定。

是否可以重新参加(二刷)战斗:

是——

需要考虑还可通过什么方式重新进入战斗以及重复参加战斗的奖励是否发生改变。(推荐使用“副本”的方式重新参加作战)

否——

玩家选择逃跑后不能再参与战斗,战斗奖励是否能通过其他形式获得?

是否可以跳过本次战斗:

是——

跳过战斗的条件、方式、结果。

本场战斗是否有时间限制:

是——

计时时间,时长。时间限制是否会根据难度等其他因素增减。


01 — 搭建角色属性

第一步:右下角添加组件,将所需字符串数值匹配,更改XY坐标,并展示。

第二步:点击“界面初始化事件”设置,双击“>”添加内容,字符串:身份=“女性特种兵” 职业=“远程射手” 。

此处所设事件会在每次加载时自动显示,用于不会改变的字符串内容。


02 — 技能配置

第一步: 先“添加组件”。技能左/右上角是技能等级。

默认技能等级为 0 级,等级会随战斗胜利而升级。


第二步:“上阵”一栏中下方会根据所选技能发生变化。使用“字符串指定图片”来显示对应技能图标/名称。


第三步:编写按钮与界面逻辑,普攻为默认上阵,其他技能三选一。

上阵按钮:(点击不同技能后的“上阵”,编辑对应内容)。

小铅笔点开,选择设置好的字符串—— “上阵技能”=技能配置系统(表示预放于Other文件夹中技能文件夹)/技能 雷之箭.png(此处表图片全名)所有符号都必须英文状态。(ctrl+A可复制编辑)

第四步:上阵按钮的事件编写。点击预设字符串“上阵技能”=“技能配置系统/技能 雷之箭.png”表示点击后所选上阵技能对应图标改变。下方显示其名。

剩下的按钮直接调用此格式,更改为各自图片与技能名。


03 — 道具背包、商城的配置

第一步:将字符串数值与对应UI匹配。

道具右下角代表“数量”。

第二步:将商城数值按钮匹配,商品右下角标识“售价”。

第三步:设置“购入”和“出售”的逻辑,使用条件分歧与数值。


当持有金钱大于等于售价,才能购入。

“条件分歧”满足:数值:[854:金钱] 大于等于 50,数值操作“金钱-50”/“所持有商品数量+1”


第四步:“出售”的逻辑,与购入操作相反:

当“条件分歧”满足:数值:[901:血小药] 大于等于 1,数值操作“血小药-1,金钱50/“所持有商品数量+1”


04 - 战场配置(判定双方血量结束战斗)

(战场可随意设置在高级UI或剧情中。本教程将战场设置在高级UI中。布局如图)

第一步:将血条/蓝条前后倒计时图片导出到other文件夹,配置如图。

第二步:添加数值条,底图选择“空白条”,滚动图选择“满格条”

最大值-“血条最大值” / 对应数值-“敌方血条”

第三步,按钮添加逻辑

步骤一: “使用药剂”按钮 逻辑:

条件分歧嵌套:首先判断数量是否充足,在满足此基础上嵌套第二个条件分歧,

我/敌 的 血/蓝条 <血/蓝条的最大值

道具数量-1,血/蓝条+10

步骤二:普攻逻辑:

(战斗原理“类回合制”,本质上是玩家手动选择技能后,敌方AI在等待结束后攻击)

(添加战报、音效特效)、普攻不需消耗蓝条(MP)

敌方血条-=50 字符串:战报=“(我方名) 使用XX技能 对(敌方名)造成XX点伤害 此操作是/否消耗MP(各自蓝条)” 等待60帧后 将报告内容=“空白” 。(“添加组件”显示字符串项)

[我方已使用技能]=1 (记录我方是否已使用技能)

然后使用“条件分歧” 判断 “敌方血条”是否小于等于“血条最小值”

是——战斗胜利

否——继续战斗

接下来使用条件分歧嵌套编写敌方AI操作。

步骤三:界面初始化事件逻辑:

首先,使用条件分歧判断 “所选技能”=1,如果满足:字符串将显示图标。

接下来,播放战斗BGM,然后将血/蓝条的最大/最小值定义成具体数值。

最后,将“我方/敌方的血条/蓝条”分别等于“血条/蓝条”最大值 (战斗前双方均满血)


步骤四:“逃跑按钮”的逻辑:逃跑不需条件,随时离开战斗。

但离开战斗后无法获得奖励。(与花金钱跳过有本质不同)最终判定为战斗失败。

首先使用 [881:逃跑离开战斗]=1 (为后续判断结果做铺垫)

接下来呼叫“战斗结果反馈界面-失败”


步骤五:“跳过按钮”的逻辑:

假设“跳过”前提:花费500金钱可直接跳过本次战斗。跳过后获得所有奖励。(也可“使用其他道具”或“判定玩家送花数”)

判断金钱是否足够,满足大于等于500,进行操作:金钱-=500,跳过战斗=1

最后呼叫“战斗结果反馈界面-胜利”

步骤六:技能按钮逻辑(不同技能耗蓝不一样)

在普攻编写基础上增加/更改逻辑事件——

首先更改音效与显示图片,需要耗蓝,后新增操作:[我方蓝条] -= 30

最后更改“战报内容”。

步骤七:战斗结果反馈(胜利or失败)

001:战斗胜利的界面逻辑:(将奖励编写进逻辑)

编写奖励内容,后在“初始化事件”中将“战斗胜利”判断=1

002:战斗失败的界面逻辑:(将安慰奖编写进逻辑)

首先编写安慰奖内容,最后在“初始化事件”中将“战斗失败”判断=1

版块三:战斗系统进阶教学

召唤技能按钮——召唤伙伴(伙伴有专属技能)

(确定站位,当玩家召唤时,伙伴就会被召唤到自己站位上。并对敌方使用自己的技能)

通过“备战-上阵”判定玩家是否选择“召唤伙伴”技能。

在技能编写基础上,增加/更改逻辑。

首先更改音效图片。

召唤伙伴后,敌方血条-300 并且 (技能需耗蓝,后新增操作):[我方蓝条] -= 100

最后,更改“战报内容”。

字符串:

战斗过程报告=“XX 使用召唤技能 召唤了 变异狼

对 XX造成300点伤害

“施法方MP”-100”

后续逻辑与普攻/技能按钮编写相同。

数值配表——(与属性配套使用)

战斗数值关系整个战斗节奏、玩家体验及平衡设计。

常见有“生命值”等常规数值,用于判断是否存活,是否能继续使用技能等。“攻击”是对敌方造成伤害。

较复杂有:暴击、闪避、致命一击等。(通过概率决定)

举例:(可根据情况自定义简单公式)

简单的暴击公式:暴伤=普攻伤害×(1+伤害暴击系数+特殊效果系数)+暴击后附加伤害)

假设:

攻击伤害为100,伤害暴击系数0. 1,特殊效果系数0.01,暴击后附加伤害120

暴击伤害=100×(1+0.1+0.11)+120 = 241

暴击伤害=241


可用两种形式呈现:

1、副本形式(与高级UI配合)

2、主线穿插(需战斗前后剧情衔接)

使用-进入战斗:

第一步,将参与战斗所消耗体力-5。(不必要)

第二步,在需要进入战斗的剧情中呼叫“战斗系统高级UI”。

使用-完成/离开战斗:

第一步,使用条件分歧判断结果。第二步,将对应剧情填写进去。

最后,在剧情中把战斗前后剧情铺垫,即可完成简单战斗系统制作。(详情可试玩配套模板教程)


















到此这篇战斗系统设计(战斗系统分析)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
































版权声明


相关文章:

  • Tp9950(tp9950电路设计)2025-09-07 18:00:09
  • 微信hook api(微信hook全套教程)2025-09-07 18:00:09
  • 单片机设计100例(单片机设计实例)2025-09-07 18:00:09
  • 单片机设计报告目的怎么写(单片机系统设计报告)2025-09-07 18:00:09
  • 单片机设计论文创新点怎么写(单片机设计论文创新点怎么写的)2025-09-07 18:00:09
  • 日志管理工具(日志管理工具 api)2025-09-07 18:00:09
  • 单片机简单的设计(单片机简单的设计程序)2025-09-07 18:00:09
  • 字体图标设计教程(图标+字体设计组合)2025-09-07 18:00:09
  • 领域驱动设计demo(领域驱动设计的设计要素)2025-09-07 18:00:09
  • 字体图案设计(字体图案设计画)2025-09-07 18:00:09
  • 全屏图片