unity 可推测战斗框架

公司之前的游戏主程走了, 让我接手, 主要接手了战斗框架, 这个战斗系统经过了3个人的手(我是第三个). 

代码中看到很多"临时解决方案", 心中有很多草泥马奔过, 花了20多天重构了一遍代码, 不过后面要做服务器推演战斗结果, 还需要继续重构几次, 但是基本结构已经在脑中有个大概形状, 于是写了个Demo来总结一下这个结构, 这个Demo在公司内部的技术分享分享过, 就做了个简单PPT.

先把git地址贴上 https://github.com/hexiaoweiff8/ConjectableFightFrameDemo

基本原理很简单, 就是逻辑与显示完~全分离, 中间用Cmd命令进行通讯, 逻辑层往显示层发送显示Cmd, 显示层反馈逻辑层: 在显示完成之前等待帧数.

Show Mode 如果选中就是实时验算模式, 如果关闭就是推演模式(几帧内出结果).

Random Seed 是随机种子, 用来启动随机数用, 随机数使用的线性同余的方式生成的, 与系统无关, 也是可推测原因之一.

Demo比较简单, 没有加太多的游戏逻辑, 把功能做出来就没有继续补全, 也有一套我自己写的链式技能框架在里面, 我起名为Formula, 还有一套比较简单的状态机, 有兴趣的也可以看看.

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编写 Unity战斗框架需要考虑多个方面,包括战斗场景设计、角色属性管理、技能系统、伤害计算等等。以下是一个简单的战斗框架的实现步骤: 1. 设计战斗场景。根据游戏需求设计出战斗场景,并在 Unity 中创建相应的场景。 2. 创建角色。在 Unity 中创建角色,包括角色的模型、动画和属性等。根据游戏需求选择不同的角色类型,例如战斗士兵、法师、弓箭手等。 3. 管理角色属性。为每个角色添加属性组件,包括生命值、攻击力、防御力等。在角色受到攻击时,根据攻击者的属性计算出受到的伤害值,然后减去生命值。 4. 设计技能系统。在 Unity 中创建技能系统,包括技能的触发条件、技能的效果和技能的消耗等。根据游戏需求设计出不同的技能类型,例如攻击技能、防御技能、治疗技能等。 5. 触发技能。在角色受到攻击或者主动释放技能时,触发相应的技能效果。根据技能的触发条件和效果,在角色身上添加相应的状态,例如冰冻、昏迷、中毒等。 6. 计算伤害。在技能效果中计算伤害值,并减去目标角色的生命值。根据游戏需求设计出不同的伤害计算方式,例如基于攻击力和防御力的计算、基于元素属性的计算等。 7. 处理战斗结果。在战斗结束时,根据游戏规则计算出胜负结果,并展示相应的结算界面。 以上是一个简单的战斗框架的实现步骤。在实际开发中,还需要考虑各种异常情况的处理和优化性能等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值