A9VG电玩部落论坛

 找回密码
 注册
搜索
楼主: whmzy

游戏不是预先编好的程序吗,为什么还会出现各种BUG?!

[复制链接]
该用户已被禁言

精华
0
帖子
358
威望
0 点
积分
358 点
种子
7 点
注册时间
2004-4-7
最后登录
2024-9-13
发表于 2015-2-11 15:35  ·  江苏 | 显示全部楼层
我举个例子:

某32位大型网游里对数字(包括生命值、魔法值、技能值等等)定义的最大值为16进制的7FFFFFFF等于10进制的2,147,483,647
此游戏16进制的7FFFFFFF+1即80000000以后被定义为负数,亦即16进制的80000000等于10进制的-1。

此时有个boss,在第2阶段时每吃1个红球会增加10%的最大生命值,此次战斗在boss总血量低于5%的时候判定玩家胜利。

那么bug就出来了,经过若干次的吃红球,boss的血量如果超过了2,147,483,647后,根据前面的程序,此时boss血量为负数,形成了boss无法击杀的场面。

同时这个游戏的后一个版本中所有的boss没有使用类似的百分比***模式,并且在后续的大版本中把所有的数值全部降低了大约30-50倍以上。

并且此游戏厂商的另一个游戏,因为开始制作时就使用了64位编程,这样他的最大10进制数值上限就被提高到了9,223,372,036,854,775,807,而即使在主机版此游戏使用了修改的65000级变态宝石的情况下也无法超越此数值。

这个大型网游就是魔兽世界,不死bug的boss是5.2初期版本的雷电王座副本的隐藏boss莱登。此bug在被发现后很快通过hotfix形式被修正,同时可以看到5.4整个决战奥格瑞玛副本没有血量超过21亿的boss,即使地狱吼整场战斗总量47亿的血量也被分割成了4个阶段,没有单一阶段可以超过21亿。

另一个游戏就是暗黑破坏神3,相信a9里有65000级宝石的人不少,没有达到伤害可以超越900亿亿这个数量级吧。

精华
0
帖子
2145
威望
0 点
积分
2231 点
种子
54 点
注册时间
2011-1-27
最后登录
2025-10-4
发表于 2015-2-11 15:39  ·  澳大利亚 | 显示全部楼层
不只游戏,连人都会有BUG,什么连体婴,畸形之类的,都是DNA出错产生的

精华
0
帖子
12
威望
0 点
积分
12 点
种子
0 点
注册时间
2015-2-7
最后登录
2015-8-7
发表于 2015-2-11 15:47  ·  浙江 | 显示全部楼层
比如一个作家,写完文章也会出现错别字,也会出现用词不准确,也会出现语法错误,甚至出现硬伤。怎么办?修改。对程序来说,修改的过程就叫debug。但是是不是所有作家都能把自己所有的错误改出来呢?楼主没有编过程,至少写过文章吧?

精华
0
帖子
6888
威望
1 点
积分
8382 点
种子
76 点
注册时间
2008-7-4
最后登录
2020-4-3
发表于 2015-2-11 15:53  ·  广东 | 显示全部楼层
debug的存在意义远远大过编程本身。。。越是大型的项目越是会有更多的bug,这是无法避免的。。。

终结者

teenage dream

精华
0
帖子
8449
威望
0 点
积分
9164 点
种子
7 点
注册时间
2010-5-21
最后登录
2022-4-20
发表于 2015-2-11 15:54  ·  山东 | 显示全部楼层
                     感觉好蛋疼

精华
0
帖子
844
威望
0 点
积分
907 点
种子
51 点
注册时间
2014-12-23
最后登录
2023-1-17
发表于 2015-2-11 16:06  ·  北京 | 显示全部楼层
whmzy 发表于 2015-2-11 13:13
就是没明白会有何不可遇见的情况发生,机器硬件是固定的,运行机制也是死的,程序参数设定好的,不明白有 ...

没你想的那么简单,你当设置几个参数就能出来个游戏了吗。。。苦B写了10年代码的程序猿留

精华
0
帖子
5052
威望
0 点
积分
5137 点
种子
7 点
注册时间
2007-10-1
最后登录
2019-11-7
发表于 2015-2-11 16:18  ·  广西 | 显示全部楼层
我不跟楼主做具体解释(解释的人已经够多了),我只说一句:如果楼主在大学什么的学过编程,哪怕只选修过2、3天,就绝~对不会问得出这种问题。学过就知道,编程要出bug比吃饭还简单。

圣骑士

鹏乘风而高天,鱼随水而深渊

精华
1
帖子
2264
威望
2 点
积分
3426 点
种子
12 点
注册时间
2013-8-5
最后登录
2022-5-5
发表于 2015-2-11 16:21  ·  内蒙古 | 显示全部楼层
这就跟是人就有犯错的时候一个道理。

精华
0
帖子
1856
威望
0 点
积分
2597 点
种子
897 点
注册时间
2013-11-12
最后登录
2025-6-19
发表于 2015-2-11 16:52  ·  广东 | 显示全部楼层
任滚滚 发表于 2015-2-11 13:14
这个也不明白?编程是人编的,怎么可能做到面面俱到?

用一个比喻,法律不是人大预先制定好的嘛,为什么会有冤案

精华
0
帖子
1856
威望
0 点
积分
2597 点
种子
897 点
注册时间
2013-11-12
最后登录
2025-6-19
发表于 2015-2-11 16:54  ·  广东 | 显示全部楼层
whmzy 发表于 2015-2-11 13:35
举例,***在人手里,程序编好了没显示出来,这是意外?在不能面面俱到的范畴里? ...

这是一个典型的it should works like this,but it does't
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2025-10-5 01:21 , Processed in 0.214636 second(s), 25 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部