游戏开发论坛

 找回密码
 立即注册
搜索
查看: 10645|回复: 28

[讨论] 关于数值计算是否运用浮点

[复制链接]

10

主题

70

帖子

100

积分

注册会员

Rank: 2

积分
100
发表于 2006-4-23 22:19:00 | 显示全部楼层 |阅读模式
在一篇帖子中,发现不止一人忌讳使用浮点进行数值计算,我感到大家都进入了一个误区。

我承认,在过去,服务器的CPU对浮点运算很吃力,所以以前普遍采用整形运算,老资格的策划们都被程序勒令禁止使用浮点计算设计游戏数值。

但是,时代进步了,CPU的设计也在发展,每更新一代CPU,浮点运算的能力都加强了一次。目前使用的CPU的浮点运算速度已经大大超越了整形运算。

你可以不相信我的话,但请你去作一个测试,明天去公司就可以请你们的程序作一个测试,写两个比较大的循环,一个是整形计算,一个是浮点计算,然后打印一下这个循环运行的时间,你一定会发现,浮点运算大大快于整形运算。

16

主题

821

帖子

840

积分

高级会员

Rank: 4

积分
840
发表于 2006-4-23 22:22:00 | 显示全部楼层

Re:关于数值计算是否运用浮点

在实现可能上当然否认浮点运算.
可是从玩家的角度来说,你是觉得current HP = 80.7好,还是807好呢?
我认为玩家所能接受浮点数的极限只是0.5这个级别.

10

主题

70

帖子

100

积分

注册会员

Rank: 2

积分
100
 楼主| 发表于 2006-4-23 22:30:00 | 显示全部楼层

Re:关于数值计算是否运用浮点

我在说服务器可以用浮点去运算,界面上表现的时候,如果你觉得玩家喜欢看整数,取整再表现出来就行了。

16

主题

821

帖子

840

积分

高级会员

Rank: 4

积分
840
发表于 2006-4-23 22:34:00 | 显示全部楼层

Re:关于数值计算是否运用浮点

厄,俗尘朋友可能误会我的意思了...我在第一句话里少打了个不字 - -;;
实际应用当然不可能避免,比如D2的伤害计算:
Char_Damage_Max = (Weapon_Damage_Max + Other_Damage_Bonus_Max)
                  * (1 + Other_ED_Max
                  + Strength * Str_Multiplier / 100
                  + Dexterity * Dex_Multiplier / 100)
如此多的参数且涉及除法运算,怎么可能不牵涉到浮点数运算.最后结果向上取整,不谈.

10

主题

70

帖子

100

积分

注册会员

Rank: 2

积分
100
 楼主| 发表于 2006-4-23 22:46:00 | 显示全部楼层

Re:关于数值计算是否运用浮点

也怪我的主贴没说清楚,我说的浮点计算的本意是指,服务器将所有的数据都是浮点保存,套入任何一个数值公式的数字都是浮点形的,而以前的作法,不管计算结果如果,都是将结果保存成整形,每个套入公式的数字都是整形的。

以Wind_Force的这个D2的计算公式举例子,比如说Weapon_Damage_Max这个数值,在以前的做法,这个数值被取来运算的时候,它就是个整形,比如789,而浮点运算的话,这个数值被取来计算前是个浮点,可能是789.45,就算它本来就是个整数,它也不是整形来使用,而会以789.00出现在公式中进行计算

46

主题

497

帖子

677

积分

高级会员

Rank: 4

积分
677
发表于 2006-4-23 23:12:00 | 显示全部楼层

Re:关于数值计算是否运用浮点

这是我听到的比较好的消息,呵呵

433

主题

4233

帖子

4403

积分

论坛元老

Rank: 8Rank: 8

积分
4403
发表于 2006-4-23 23:27:00 | 显示全部楼层

Re:关于数值计算是否运用浮点


但具体表现出来给玩家看到的的数值尽量控制在小数点后1-2位,最佳1位,比如luk数值还有一些抗性等.自然如大话就是几万的抗性表现.确实有点晕.

16

主题

821

帖子

840

积分

高级会员

Rank: 4

积分
840
发表于 2006-4-23 23:47:00 | 显示全部楼层

Re: Re:关于数值计算是否运用浮点

俗尘: Re:关于数值计算是否运用浮点

也怪我的主贴没说清楚,我说的浮点计算的本意是指,服务器将所有的数据都是浮点保存,套入任何一个数值公式...


恩,我明白你的意思了.

至于D2的数据
D2发售于02年,也不算早了,我可以确定在计算和处理数据时采取的是浮点数,我做D2数据研究很长一段时间了,我的例子举的不好,见笑了

23

主题

120

帖子

125

积分

注册会员

Rank: 2

积分
125
发表于 2006-4-24 00:49:00 | 显示全部楼层

Re:关于数值计算是否运用浮点

看不懂.路过。

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2006-4-24 01:23:00 | 显示全部楼层

Re:关于数值计算是否运用浮点

仔细观察点就能发现,实际上相当多的游戏的数值是使用浮点数来表现的……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-5 23:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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