社区
游戏开发
帖子详情
游戏技能、buff的代码如何架构
yanx8844
2010-10-21 03:52:10
RPG游戏中的大量技能、buff如何设计、架构呢。
面对各种不同的技能、buff如何用比较好的模式编写出来呢,现在头绪比较混乱,请教各位了。
...全文
1668
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
系统 - 掘金 战斗系统中
buff
和skill如何配合 在网络
游戏
中的战斗形式多种多样,不同
游戏
的战斗逻辑也有很大的差异。但是一般都会涉及
技能
系统和
buff
系统,...
射击
游戏
角色
技能
系统
架构
全解析
架构
清晰,易于扩展和维护支持
技能
升级、
技能
树、事件、数据驱动易与其他系统联动策划友好,支持热更下面我将继续扩展射击
游戏
角色
技能
系统
架构
技能
Buff
系统联动
技能
冷却与公共冷却(GCD)机制
技能
多态与组合(如连...
fps
游戏
角色
技能
系统
代码
逻辑
架构
设计
在子类中,实现
技能
的具体逻辑,如
技能
效果、触发条件等。
技能
管理器(SkillManager):创建一个
技能
管理器类,用于处理...
技能
预览:在
游戏
中,可以为
技能
提供预览功能,让玩家在选择
技能
时可以预览
技能
的效果和属性。
FPS射击
游戏
角色
Buff
系统框架设计以及思维导图
【
代码
】FPS射击
游戏
角色
Buff
系统框架设计以及思维导图。
游戏开发
8,325
社区成员
23,684
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章