社区
游戏开发
帖子详情
游戏技能、buff的代码如何架构
yanx8844
2010-10-21 03:52:10
RPG游戏中的大量技能、buff如何设计、架构呢。
面对各种不同的技能、buff如何用比较好的模式编写出来呢,现在头绪比较混乱,请教各位了。
...全文
1717
15
打赏
收藏
游戏技能、buff的代码如何架构
RPG游戏中的大量技能、buff如何设计、架构呢。 面对各种不同的技能、buff如何用比较好的模式编写出来呢,现在头绪比较混乱,请教各位了。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jobot
2010-11-16
打赏
举报
回复
[Quote=引用 4 楼 sunny352 的回复:]
技能和buff的全套架构不算小,源码就不放了,给你些思路吧
首先一个技能并不只是对对方造成HP伤害,产生的效果会有很多,比如消耗自身MP,给对方/自己加buff等等很多种结果,所以在设计的时候需要设计很多种结果类。而结果ID可以直接填写在外部资源当中,比如表格等。
其次,技能在进行结算的时候会受到buff的处理,比如目标身上有个伤害加深的buff,技能产生的伤害结果通过这个buff的……
[/Quote]
yanx8844
2010-11-15
打赏
举报
回复
[Quote=引用 13 楼 osoon 的回复:]
楼主我真想送你一把剪刀。
[/Quote]什么意思啊⊙﹏⊙b汗
点点吃得太多了
2010-11-10
打赏
举报
回复
楼主我真想送你一把剪刀。
yanx8844
2010-11-10
打赏
举报
回复
[Quote=引用 10 楼 kevinyuen 的回复:]
状态和技能的数量和逻辑处理无关
所有这些操作的最终结果是影响了参数某种操作运算所需要的数值。
万变不离其宗~
[/Quote]
不仅仅是数值吧,有的时候还影响到了逻辑
KevinYuen
2010-11-09
打赏
举报
回复
状态和技能的数量和逻辑处理无关
所有这些操作的最终结果是影响了参数某种操作运算所需要的数值。
万变不离其宗~
java4003
2010-11-09
打赏
举报
回复
高人 我是初学者
yanx8844
2010-11-05
打赏
举报
回复
顶起一下buff就是附加属性啥的
zhaogang001
2010-11-01
打赏
举报
回复
我是新来的,顶起~
做游戏的小明
2010-10-31
打赏
举报
回复
技能和buff的全套架构不算小,源码就不放了,给你些思路吧
首先一个技能并不只是对对方造成HP伤害,产生的效果会有很多,比如消耗自身MP,给对方/自己加buff等等很多种结果,所以在设计的时候需要设计很多种结果类。而结果ID可以直接填写在外部资源当中,比如表格等。
其次,技能在进行结算的时候会受到buff的处理,比如目标身上有个伤害加深的buff,技能产生的伤害结果通过这个buff的处理后数值会改变。而且buff效果的种类也会有很多,在目标身上会记录一个buff列表,技能效果会通过这个buff列表来进行处理,所以buff部分直接用责任链就可以实现了。
然后,技能效果在受到buff处理之后就可以执行了,执行部分需要根据不同的效果进行不同的执行,最简单的设计方法就是子类实现基类的纯虚函数的方式,由外部代码统一调用执行。
最后提醒一下,技能产生的效果会有很多,生成的会是一个树形结构而不是一个简单的链。
qq7959501
2010-10-31
打赏
举报
回复
什么是 buff 啊, 求教
yanx8844
2010-10-31
打赏
举报
回复
[Quote=引用 4 楼 sunny352 的回复:]
技能和buff的全套架构不算小,源码就不放了,给你些思路吧
首先一个技能并不只是对对方造成HP伤害,产生的效果会有很多,比如消耗自身MP,给对方/自己加buff等等很多种结果,所以在设计的时候需要设计很多种结果类。而结果ID可以直接填写在外部资源当中,比如表格等。
其次,技能在进行结算的时候会受到buff的处理,比如目标身上有个伤害加深的buff,技能产生的伤害结果通过这个buff的……
[/Quote]谢谢,至少有点想法了。做的过程中再慢慢完善了。
大家尽量再多给点意见:)
双杯献酒
2010-10-27
打赏
举报
回复
找一个游戏的源代码看看吧。
一般是把技能抽象出来统一实现,每个技能的不同数字用表哥配置。
假设我们不同的攻击技能只有命中概率和攻击力不一样,
则可以设计如下:
// 技能使用的伤害
int SkillAttack(int iSkill)
{
int r = GetSkillR(iSkill);
int d = GetSkillD(iSkill);
if( rand()%100 < r)
{
// 命中
return d;
}
else
{
// 技能失手
return 0;
}
}
GetSkillR和GetSkillD分别从表格里取编号为iSkill的技能的命中和伤害
技能定义大致如下:
1 100 1000 // “精确一击”, 命中100%, 伤害1000
2 80 1500 // “愤怒一击”, 命中80%, 伤害1500
3 30 800 // “瞎抓”, 命中30%, 伤害800
等等
yanx8844
2010-10-27
打赏
举报
回复
大家再多给给意见吧
yanx8844
2010-10-25
打赏
举报
回复
自己顶一个,咕~~(╯﹏╰)b
基于 Java 实现的酒馆战棋
游戏
课程设计
【作品名称】:基于 Java 实现的酒馆战棋
游戏
【课程设计】 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 玩家类,金币,手牌(无
buff
),场上随从(带
buff
) 战场类,两个列表,双方玩家的随从的复制,两个玩家信息 商店类,实现存储冻结的随从的功能,实现刷新随从的功能,实现升级商店的功能,实现购买功能 随从类,ID,攻击力,生命值,战吼,亡语,攻击时触发的
技能
。 【资源声明】:本资源作为“参考资料”而不是“定制需求”,
代码
只能作为参考,不能完全复制照搬。需要有一定的基础看懂
代码
,自行调试
代码
并解决报错,能自行添加功能修改
代码
。
游戏
服务器
架构
:如何设计开发战斗系统的
技能
和
buff
系统
转自:
游戏
服务器
架构
:如何设计开发战斗系统的
技能
和
buff
系统 - 掘金 战斗系统中
buff
和skill如何配合 在网络
游戏
中的战斗形式多种多样,不同
游戏
的战斗逻辑也有很大的差异。但是一般都会涉及
技能
系统和
buff
系统,两种之间相互关联,
技能
可以产生
buff
作用在目标上,影响目标。同时
buff
也会影响
技能
的释放效果,两者都可以算得上
游戏
战斗系统最重要的元素。 在
游戏
战斗中有许多各种各样复杂的
buff
和
技能
,这些
buff
和
技能
是由基础的
buff
和
技能
效果机制组合形成的。通过基础的机制效果的组合,形成各种
射击
游戏
角色
技能
系统
架构
全解析
架构
清晰,易于扩展和维护支持
技能
升级、
技能
树、事件、数据驱动易与其他系统联动策划友好,支持热更下面我将继续扩展射击
游戏
角色
技能
系统
架构
技能
Buff
系统联动
技能
冷却与公共冷却(GCD)机制
技能
多态与组合(如连携技、复合技)
技能
网络同步(多人联机)
技能
编辑器与可视化配置建议实战场景串联举例
技能
、
Buff
、特效、冷却、网络同步等高度解耦,易于扩展支持
技能
升级、
技能
树、组合技、公共冷却支持数据驱动和可视化编辑适合单机与多人联机射击
游戏
。
fps
游戏
角色
技能
系统
代码
逻辑
架构
设计
在子类中,实现
技能
的具体逻辑,如
技能
效果、触发条件等。
技能
管理器(SkillManager):创建一个
技能
管理器类,用于处理
技能
系统的全局逻辑,如
技能
冷却、
技能
持续时间等。还可以添加一些方法,用于管理角色的
技能
,如添加
技能
、移除
技能
、触发
技能
等。
技能
UI:创建一个
技能
UI组件,用于显示角色的
技能
信息,如
技能
图标、冷却时间等。
技能
定制和组合:在一些高级的
技能
系统中,玩家可能可以定制和组合他们的
技能
,以创造出独特的效果。
技能
预览:在
游戏
中,可以为
技能
提供预览功能,让玩家在选择
技能
时可以预览
技能
的效果和属性。
FPS射击
游戏
角色
Buff
系统框架设计以及思维导图
【
代码
】FPS射击
游戏
角色
Buff
系统框架设计以及思维导图。
游戏开发
8,324
社区成员
23,684
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章