Unity 6 移动战斗游戏开发

FrostyBrawlerGo!

选择能改变角色战斗方式的能力。

我是此处所评审 Frosty Brawler Go! 版本唯一的 Unity/C# 开发者。我设计并编写了游戏代码:游戏内 60 天旅程、自动回合制战斗,以及每次升级时从三种能力中选择一种。这些能力会添加攻击、改变已有攻击,或提升角色的战斗属性。

我的角色与团队贡献

我负责游戏编程。
团队提供美术、音频和设计意见。

我负责 Unity/C# 编程。团队提供美术、音频和游戏设计意见。

我的职责

Unity 玩法与支持代码

我开发了旅程、战斗、能力、攻击、状态效果、敌人和界面行为。我还制作了让角色动画配合玩法的可复用系统,连接游戏服务,在开发过程中更新代码,并配置 Android 版本的构建。

团队贡献

美术、音频与游戏设计意见

团队提供视觉素材、音频和游戏设计意见。我将这些内容编程实现到 Unity 游戏中,并在开发过程中维护代码。

旅程如何推进

能够正常使用的能力可以改变下一场战斗。

旅程事件、自动战斗和能力选择都影响同一个角色。随着玩家前进,这些选择会改变角色的攻击、效果和属性。

  1. 01

    旅程

    前进一天

    每天会发生故事消息、属性变化、经验获取、治疗或战斗。旅程历史记录每个事件的结果。

  2. 02

    战斗

    结算战斗

    玩家和敌人的攻击队列按受控回合执行。伤害、格挡状态、周期效果、死亡和复活结果全部处理完成后,旅程才继续。

  3. 03

    能力选择

    三选一

    每次升级时,玩家从三种能力中选择一种。这些选项可以为当前旅程添加攻击、改变兼容的剑攻击,或提升战斗属性。

  4. 04

    能力搭配

    在后续战斗中使用新能力

    新的攻击、效果或属性变化会成为角色当前能力的一部分。随着旅程难度增加,它会改变角色的战斗方式。

能力如何配合

已实现的能力会改变角色当前的攻击和属性。

游戏从可复用的能力模板开始。已实现的升级会修改当前旅程使用的模板副本,战斗系统按顺序执行动作。

  1. 01

    选择能力

    能力选择

    游戏从存储在 Unity ScriptableObjects 中的能力定义里选出三个选项。

  2. 02

    应用变化

    添加或修改

    已实现的能力会添加攻击、为兼容的剑攻击添加效果,或改变角色属性。

  3. 03

    当前旅程

    每次旅程使用独立副本

    游戏创建攻击和效果模板的副本,供当前旅程中修改使用。

  4. 04

    战斗结果

    按顺序处理每个动作

    回合按可预测顺序处理攻击、概率、状态持续时间、格挡和清理。

03

能力改变角色的三种方式

添加攻击

为每个回合增加一次攻击。

火焰和雷暴升级会在角色现有攻击之后添加新攻击。

  • 剑攻击基线
  • 火焰攻击
  • 雷暴攻击

修改武器

改变剑能做什么。

暴击、中毒和冰冻升级,会为角色已有且兼容的剑攻击添加相应效果。

  • 暴击概率与伤害
  • 持续毒伤
  • 冰冻 / 跳过攻击

改变本次冒险

提升生命值、攻击或防御。

生命值、最大生命值、攻击和防御升级接入同一参数模型,旅程事件和敌人强度增长也使用这一模型。

  • 生命值与最大生命值
  • 普通攻击
  • 防御

能力为什么使用可复用代码

添加能力,无需重写战斗系统。

每种能力负责一个具体变化:添加攻击、附加兼容效果,或改变属性。共用的战斗代码仍然管理时机、目标和每个动作的结束。这样更容易添加能力,也更容易理解它们如何配合。

配套游戏系统

能力与旅程的其他部分相互连接。

旅程事件、战斗和玩家进度记录已经发生的事及接下来的步骤。独立的可复用系统负责背包和存档数据。

旅程事件

游戏内 60 天旅程。

已审计构建将 21 个参数事件、13 场战斗、13 个经验事件、11 条叙事消息和两个治疗事件编排为一次旅程。

  • 每日路线
  • 事件历史
  • 经验与等级
  • 完成 / 战败

战斗系统

管理回合、敌人和临时效果。

玩家和敌人的协程协调攻击队列、目标、伤害、激活效果与清理,覆盖五种按天数提升强度的敌人原型。

  • 六种具体攻击
  • 三种状态效果
  • 每日递增 1.5%
  • 复活流程

背包与存档

独立系统管理物品和存档数据。

独立的背包模块支持固定、动态和无限容量容器、堆叠和排序,以及带备份与完整性检查的本地 JSON 存档。物品数据包含稀有度和效果定义;装备加成尚未接入实际战斗循环。

  • 固定 · 动态 · 无限容量容器
  • 堆叠与排序
  • 稀有度与效果定义
  • 存档恢复

移动端服务

音频、分析、激励广告和 Android 版本。

Zenject 组合、DOTween 序列、FMOD 音频路由、Firebase 与 Meta 分析挂钩、AdMob 激励流程,以及 Android 构建设置,将玩法连接为可测试的移动产品。

  • 分析事件
  • 激励广告重抽
  • 激励广告复活
  • Android 版本代码 54

项目代码与内容

用数字了解项目。

这些数字涵盖此处评审的 2025 年七月项目版本中 Assets/Scripts 下的自定义代码,描述代码和已配置内容,不代表玩家数量或商业成绩。

234
自定义 C# 文件
10,600+
自定义代码的非空行数
60
已配置的旅程天数
106
由 Artem 提交、涉及自定义脚本的非合并提交
Unity 6
已审计的项目版本

能力数据

每次旅程都有自己的能力数据。

ScriptableObject 定义为每次冒险创建攻击、效果和参数实例,让能力能够安全修改当前构筑,而无需改写共享源资源。

自定义动画控制

角色动画与游戏动作配合。

我在 Unity Animator 之上构建了可复用的单位动画编排层。各角色的 ScriptableObject 配置将共享状态映射到角色专属片段,并可配置速度、起始偏移、层、命中时机和过渡重叠。交叉淡化、片段序列、基于曲线的位置插值与回调协调移动、攻击、受击和死亡。在已审计快照中,共享控制器以 10 个配置支持 14 种角色外观。

难度曲线

玩家和敌人都会变强。

玩家属性和能力通过事件及升级逐步累积,敌人生命值和攻击则随经过的天数增长;遭遇选择优先使用符合条件且尚未使用的敌人类型,候选池用尽后使用回退选择。

启动与测试

有组织的启动流程与背包测试。

启动场景和依赖注入组织启动过程,池化的伤害文字减少重复分配。仓库包含十个针对背包行为的 Unity 编辑器测试方法;其当前通过状态未经独立验证。

公开项目视频

观看新能力如何改变下一场战斗。

公开的 1:18 玩法视频展示每日路线、叙事和参数事件、Battle 提示后结算的战斗、三选一技能选择、添加到武器并在战斗中触发的 Freezing,以及战败和复活决策。

在 YouTube 观看

玩法视频和缩略图由 Artem Shkabura 于 2025 年 5 月 27 日发布在其公开 YouTube 频道。

已完成的工作

我为这个项目开发的内容。

  • 01负责旅程、战斗、能力、敌人、界面和玩家成长的 Unity 编程
  • 02可配置的游戏内 60 天旅程,包含战斗、经验、属性变化、故事消息和治疗
  • 03可复用的攻击和效果,让升级在现有战斗系统中改变角色能力
  • 04基于 Unity Animator 的自定义控制:选择角色动画、平滑混合动画,并让移动和攻击时机配合游戏动作
  • 05独立背包存档系统、分析连接、激励广告相关操作、音频整合和 Android 构建配置

本案例记录我的 Unity/C# 实现、所检查的 2025 年 7 月项目快照和公开可见的玩法。仓库计数仅涵盖该快照中的 Assets/Scripts。不声称美术、音频或游戏设计的创作归属、商店发布、当前可用性、用户规模、留存、收入或实际营销活动结果。实验性 ECA 和反射层不包含在上述交付声明中。

我能如何帮助您的项目

正在规划可升级战斗能力的游戏?

一起测试您的能力如何配合。

我可以在 Unity 中实现您的战斗设计,检查现有能力如何相互影响,或制作包含下一组功能的可玩版本。

预算有限?告诉我最重要的问题和您能接受的预算范围,我会明确说明怎样的第一步切实可行。

从第一次交流起为您保密

我仅汇总统计联系操作,不收集访客标识符或消息内容。

返回项目列表