游戏开发论坛

 找回密码
 立即注册
搜索
查看: 11978|回复: 26

[讨论] 【交流】物品掉落的解决方案

[复制链接]

6

主题

47

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2007-12-3 15:53:00 | 显示全部楼层 |阅读模式
物品掉落的解决方案(简化版)

现有4种物品:
材料、宝石、白色装备、蓝色装备

现有如下的掉落方案(为方便计算,数量定为1):

怪物1:100%材料、或20%宝石、或10%白色装备、或1%蓝色装备,即最多掉落1个,最少不掉。【掉了烂的就不掉好的】
怪物2:100%材料、且20%宝石、且10%白色装备、且1%蓝色装备,即最多掉落4个,最少掉落1个。【掉了烂的可能也掉好的】
怪物3:100%材料且20%宝石、或10%白色装备且1%蓝色装备,即最多掉落2个,最少不掉。【或掉材料宝石,或掉装备】
怪物4:100%材料或20%宝石、且10%白色装备或1%蓝色装备,即最多掉落2个,最少不掉。【均掉,但材料最多1个,装备最多1个】

怪物11:10%几率掉落(100%材料、或100%宝石、或100%白色装备、或100%蓝色装备)【一般不掉落,掉了则可能出现任何东西】
怪物12:10%几率掉落(100%材料、且20%宝石、且10%白色装备、且1%蓝色装备)【一般不掉落,掉了也只是按品质随机概率】
……

怪物21:100%几率掉落(100%材料、或100%宝石),且10%几率掉落(100%白色装备、或100%蓝色装备)【必掉宝石或材料,而且有几率出装备】
……

怪物31:100%几率掉落(100%材料、且20%宝石、且10%白色装备、且1%蓝色装备)
        且1%几率掉落(100%材料、且100%宝石、且100%白色装备、且100%蓝色装备),【俗称大爆,平时正常,有几率出现所有东西】


……
这是数量为1的一些掉落例子,还有其他的可以补充,其实实际过程中还有1~N,N~M等等情况,这就相对复杂些了。

就以这些例子或者更多的可能性而言,解决方案自然不少,如果怪物数量多,每个怪物可掉落的物品种类多且杂,有好的优化的解决方案么?

8

主题

144

帖子

161

积分

注册会员

Rank: 2

积分
161
QQ
发表于 2007-12-3 21:35:00 | 显示全部楼层

Re:【交流】物品掉落的解决方案

模块化进行掉落类型判定,捆绑式掉落物品设置

1

主题

103

帖子

127

积分

注册会员

Rank: 2

积分
127
发表于 2007-12-4 09:20:00 | 显示全部楼层

Re:【交流】物品掉落的解决方案

首先敢肯定每个怪物有个ID,且对应一个模型,每个怪物生成时会调用以个类似
NEW NPC()
{
ID="001_011";
monster="monster011.act";
....
}
的函数在内存中来构造一个怪物的数值,你可以在函数里面和一个怪物的装备掉率文件绑定,这样策划就能控制怪物掉落装备的情况和概率,如果策划部能控制掉落装备的情况和概率在写任务时将陷入很大的被动

0

主题

193

帖子

199

积分

注册会员

Rank: 2

积分
199
发表于 2007-12-4 09:47:00 | 显示全部楼层

Re:【交流】物品掉落的解决方案

有个问题,WOW我想大家都玩过吧,里面的世界掉落是怎么实现的,有想过没?还有其他的掉落,很多东西显然是没有跟怪物绑定的。

如果是WOW大家觉得太近了,说个远点的,暗黑2,大家觉得暗黑2里面的物品掉落是跟怪物绑定的吗?这个答案明显是否定的,但是看看暗黑2的生命力就知道了,这样的物品掉落设计能带来什么好处。

不要一直把思维限制在那些老套套里面,不说别的,能实现暗黑2的物品掉落,在国内游戏就是一个很大的进步了。

1

主题

103

帖子

127

积分

注册会员

Rank: 2

积分
127
发表于 2007-12-4 10:05:00 | 显示全部楼层

Re:【交流】物品掉落的解决方案

OK,楼上继续说,我想听下WOW打怪装备掉落机制,不吝赐教!

1

主题

103

帖子

127

积分

注册会员

Rank: 2

积分
127
发表于 2007-12-4 11:32:00 | 显示全部楼层

Re:【交流】物品掉落的解决方案

哎,4楼的人真小气,知道也不告诉大家,要想弄清掉落机制就必须有魔兽世界的源代码,当然这是绝对不可能,不过私服的源代码公司同仁有点,兄弟我又在网上四下浏览找寻答案,下面文字是到别人那借来的.

1,所有的X怪,都联系(注意是联系而不是带有,之所以这么说是为了避免有人咬文嚼字)着一张总的掉落率列表(注意是掉落率列表而不是掉落列表,这两个概念很容易混淆)。
...举个例子:不同区也好,不同服也好,不同副本也好,所有的狗王玛格曼达(MC老2),都联系着同样的一张总掉落率列表,包括各职业的T1护腿+专属的紫装(比如速射强弓)+交叉紫装(比如迅击戒指)+交叉蓝色物品(图纸公式)+其他材料(也就是垃圾)。
而且,其中每个物品的掉率在总的掉落列表中都是固定的。为了方便起见,我们可以假设这样分类:

T1护腿(掉率A)+专属的紫装(掉率B)+交叉紫装(掉率C)+交叉蓝色物品(掉率D)+其他材料(掉率E)。

事实上相信每个职业的T1护腿的掉率具体也是不一样的,我们只是为了说明方便先假设这么分。

也就是说,这张总掉落率列表只是决定这些物品在该怪身上可能掉落的几率,而不是掉落。

以上文字和我看法的也一样的,一个怪物联系一张装备掉率表,而且是可修改的.很多公司都这样做的.
以下是我和公司同仁讨论结果
怪物诞生时产生一个类:
NEW NPC()
{
ID="001_011";
Name="奈法里安";
monster="monster011.act";
item="奈法里安.txt";
....
}
假设奈法里安.TXT文件如下
多彩之剑 ID 100 50%
无畏肩膀 ID 200 10%
黑铁头盔 ID 300 20%
....
当一个怪物被攻击服务器判定怪物死亡,服务器加载奈法里安.TXT文件,rand产生随机数,决定掉落何种物品,假设掉落多彩之剑,无畏肩膀.向客户端发出怪物死亡消息,消息中包括掉落物品ID,客户端接收消息,执行怪物死亡动画,随后开始把在道具文件item.dat中核对掉落物品ID,在尸体内产生对应图标.

如果有不同意见的请把自己看法写出来,请不要丢下"如果是WOW大家觉得太近了,说个远点的,暗黑2,大家觉得暗黑2里面的物品掉落是跟怪物绑定的吗?这个答案明显是否定的"的话就走好吗?



12

主题

856

帖子

884

积分

高级会员

Rank: 4

积分
884
发表于 2007-12-4 11:46:00 | 显示全部楼层

Re:【交流】物品掉落的解决方案

我觉得WOW物品掉落机制没LS想的这么复杂.WOW物品掉落分小怪掉落和BOSS掉落,小怪掉落要分开讨论,就不用废话了.BOSS掉落其实遵循的是war3掉落规则.也就是说,分物品和物品池概念.
举个例子,黑龙妹妹掉落
妹妹皮袋 100%
妹妹的头 100%
掉落池1{骑士帽子20%,术士帽子20%.....(全部几率加起来等于100%)} 100%//各职业帽子
掉落池2{骑士帽子20%,术士帽子20%.....(全部几率加起来等于100%)} 100%//各职业帽子
掉落池3{撒非隆披风20%,上古叫石法典20%,....} 100%//其他杂碎
掉落池4{撒非隆披风20%,上古叫石法典20%,....} 50%//其他杂碎有可能多掉一个
掉落池5{撒非隆披风20%,上古叫石法典20%,....} 20%//其他杂碎有更小的几率再掉一个
..........
这样会出现什么样的情况呢?
妹妹皮袋,妹妹的头必掉一个;各职业的帽子必掉2个,但是职业不固定.其他装备一定会掉一个;有一定几率掉2个,人品爆发掉3个,再爆发...

12

主题

856

帖子

884

积分

高级会员

Rank: 4

积分
884
发表于 2007-12-4 12:00:00 | 显示全部楼层

Re:【交流】物品掉落的解决方案

补充一下,不好意思,小怪掉落也遵循这个规则.
至于怪物掉落的服务器处理.当年玩WOW已经研究过了.在刷新副本的同时,服务器根据物品掉落规则,直接在怪物id上生成掉落物品.换句话说,在你第一次进入这个副本的时候,所有的boss掉落的物品已经固定了.
说的更狠一点,暴雪为了减少服务器运算负担,甚至给有些副本编写了很多掉落列表.这些掉落列表早已经被算出来了.所以当玩家进入副本的时候,服务器只需要加载不同的掉落列表就可以了.连算都不用算.
MC级别的副本我不敢臆断,厄运之槌副本我敢100%的肯定是运用了后一种方法.

12

主题

856

帖子

884

积分

高级会员

Rank: 4

积分
884
发表于 2007-12-4 12:01:00 | 显示全部楼层

Re:【交流】物品掉落的解决方案

99%....

3

主题

3643

帖子

3650

积分

论坛元老

Rank: 8Rank: 8

积分
3650
QQ
发表于 2007-12-4 12:08:00 | 显示全部楼层

暗黑的掉落有什么难的么?

   没看出来。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-8 15:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表