游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3661|回复: 9

[求助] 回合数控制问题。

[复制链接]

1

主题

15

帖子

161

积分

注册会员

Rank: 2

积分
161
发表于 2015-3-2 18:27:17 | 显示全部楼层 |阅读模式
在角色攻击力一定范围的条件下,杀死1级怪物需要3~5回合,杀死2级怪物需要5~7回合,杀死3级怪物需要7~9回合,以此类推。怎么设定怪物血量和伤害公式?

3

主题

392

帖子

2570

积分

金牌会员

Rank: 6Rank: 6

积分
2570
发表于 2015-3-2 18:32:58 | 显示全部楼层
攻击力不变,先设置1级怪血量,X级怪血量=1级怪血量X1.5

1

主题

15

帖子

161

积分

注册会员

Rank: 2

积分
161
 楼主| 发表于 2015-3-2 18:47:34 | 显示全部楼层
本帖最后由 醉了 于 2015-3-2 18:49 编辑
██████ 发表于 2015-3-2 18:32
攻击力不变,先设置1级怪血量,X级怪血量=1级怪血量X1.5

感谢回复。
我们设攻击力为(2~3)点,1级怪物的血量为9点,怪物必定在(3~5)回合内击毙。
如何2级怪物的血量为1级怪物的1.5倍,攻击力不变的情况下,会出现2攻击力*7回合<9*1.5(怪物血量)的情况,也就是7回合也打不死怪物,换句话这样就控制不住回合数了。

0

主题

8

帖子

26

积分

注册会员

Rank: 2

积分
26
发表于 2015-3-2 20:05:53 | 显示全部楼层
本帖最后由 whl852 于 2015-3-2 20:11 编辑

首先,计算时,要刨去最后一次攻击,为什么呢,因为你两点攻击,打一点血 和打两点血的效果是一样的,3点攻击打1点血2点血3点血是效果是一样的。所以算回合是要刨去最后一次。
把回合数减去之后和攻击力交叉相乘,拿你举得例子来说
攻击力2~3
1级怪物 3~5个回合
先算攻击最小回合最高时的血量就是2x(5-1)+1=9或者2x(5-1)+2=10,当血量等于9或10时人物最多攻击5次才能击杀怪物。
再算攻击最高回合最小时的血量就是3x(3-1)+1=7或者3x(3-1)+2=8或者3x(3-1)+3=9,即当血量是7、8或者9时,最少攻击3次就能击杀怪物。
综合来说,两个条件都符合的血量就是9.
接下来我就写的不那么仔细了,能看懂就行。

攻击力2~3
回合 5~7
小攻大回,2x6+1和2x6+2即13、14
大攻小回,3x4+1、3x4+2或3x4+3,即13、14、15,
满足条件的血量为13、14

攻击力2~3
回合7~9
小攻大回,2x8+1和2x8+2即17、18
大攻小回,3x6+1、3x6+2、3x6+3,即19、20、21
即不存在满足条件的血量

其实这种设计方式是很不合理的

建议楼主设计血量时,依靠攻击期望来计算回合数,这样比较合理而且容易计算,不要拘泥与一定要几到几回合,这样程序不好写不说策划也不好算
例,2~3攻击 每次的攻击期望就是2.5
                      要在4回合左右击杀怪物,那么怪物血量就是2.5x4等于10
                      要6回合左右击杀怪物,那么怪物血量就是2.5x6等于15
                      要在8回合左右击杀怪物,那么怪物血量就是2.5x8等于20
是不是比你那样固定死回合数来计算血量要简单的多?还不容易出错?

0

主题

8

帖子

26

积分

注册会员

Rank: 2

积分
26
发表于 2015-3-2 20:31:50 | 显示全部楼层
你可以根据血量来估算攻击回合数,但是无法根据攻击回合数来固定血量,因为最大回合数和最小回合数的差,是随着回合数增加而增加的。
以你的例子来说,2~3攻击
当设最小攻击回数是x是,最大攻击回数就是1.5x(3除2乘x)
意思就是当你最少攻击100下就能杀死怪物时,你可能最多要攻击150下才能杀死怪物。
你觉得你可能找出一个在100回合到102回合之间的血量么?

1

主题

15

帖子

161

积分

注册会员

Rank: 2

积分
161
 楼主| 发表于 2015-3-2 20:51:43 | 显示全部楼层
whl852 发表于 2015-3-2 20:31
你可以根据血量来估算攻击回合数,但是无法根据攻击回合数来固定血量,因为最大回合数和最小回合数的差,是 ...

攻击力2~3
回合7~9
小攻大回,2x8+1和2x8+2即17、18
大攻小回,3x6+1、3x6+2、3x6+3,即19、20、21
即不存在满足条件的血量
这个问题在问的时候就发现了,只是在玩Zombieville这个游戏的时候发现击杀怪物是严格符合一定回合数的,所以猜想是不是伤害公式和血量可以联合起来控制住回合数。

57

主题

578

帖子

2294

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2294
发表于 2015-3-3 09:42:59 | 显示全部楼层
你不要这么考虑,你要想你游戏一共多少级,多少级的玩家会PVP相遇,你想差多少级完全打不过,根据你这个设计目的,把玩家强度确定了,再去考虑怪物的强度。否则你以后PVP很容易出问题的,至于PVE,那还不是想怎么搞就怎么搞,比PVP要求低的多。

0

主题

17

帖子

226

积分

中级会员

Rank: 3Rank: 3

积分
226
发表于 2015-3-3 10:09:06 | 显示全部楼层
醉了 发表于 2015-3-2 20:51
攻击力2~3
回合7~9
小攻大回,2x8+1和2x8+2即17、18

估计他们是在伤害随机上动的脑筋
伤害2~3,如果严格平均随机,那么击杀怪物花费的最小回合数和最大回合数确实是1:1.5,但是实际情况又是击杀怪物的回合数比较固定
那么较为简单的一种办法就是使用类似正态分布的随机,让随机到的伤害值绝大部分都分布在2.5附近。例如进行0.2~0.3的平均随机10次,再把结果相加得到最终伤害值

0

主题

8

帖子

26

积分

注册会员

Rank: 2

积分
26
发表于 2015-3-3 11:03:07 | 显示全部楼层
8楼说的很对,很多游戏计算公式,100最大攻击200最小攻击,但是打出来的可能就是150左右,不会极限到100和200,你可以通过缩小攻击波动的方式来尝试一下。

1

主题

15

帖子

161

积分

注册会员

Rank: 2

积分
161
 楼主| 发表于 2015-3-3 12:18:17 | 显示全部楼层
jetraider 发表于 2015-3-3 10:09
估计他们是在伤害随机上动的脑筋
伤害2~3,如果严格平均随机,那么击杀怪物花费的最小回合数和最大回合数 ...

感谢,这的确是解决办法!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-23 19:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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