A9VG电玩部落论坛

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

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

[复制链接]

终结者

单机双打游戏最高

精华
0
帖子
10173
威望
0 点
积分
10617 点
种子
1662 点
注册时间
2006-7-13
最后登录
2025-10-3
 楼主| 发表于 2015-2-11 13:52  ·  广东 | 显示全部楼层
7600gs 发表于 2015-2-11 13:43
赶紧删了吧 这贴发的也太菜了

哈哈,随便聊聊,这里不懂的人占多数,可能菜了一点儿,总比那些信口喷的贴强

精华
0
帖子
12129
威望
0 点
积分
13152 点
种子
7 点
注册时间
2012-5-4
最后登录
2019-3-18
发表于 2015-2-11 13:53  ·  四川 | 显示全部楼层
whmzy 发表于 2015-2-11 13:52
哈哈,随便聊聊,这里不懂的人占多数,可能菜了一点儿,总比那些信口喷的贴强 ...

人都有不完美的时候,别说游戏

精华
0
帖子
403
威望
0 点
积分
423 点
种子
5 点
注册时间
2014-12-16
最后登录
2016-12-10
发表于 2015-2-11 13:55  ·  广东 | 显示全部楼层
程序只会是和否,而过多的是和否就会绕弯路,那样就会出现bug。
像你这个例子其实可以很复杂的。
首先涉及底层框架,也就是俗称的引擎,这个东西结构越好,那么出现bug的概率就越少。但是目前没有完美的引擎,因此。。。
再说回***问题。
正常走,当玩家发出换***命令,角色就会接受指令换***,进行换***,这时角色动作也会跟着播放相应的动画。很简单的判断对不对。
但是如果这时,你还进行其他指令,如果此时,你受伤,角色播放受伤动作;而设计这个东西的程序员没有考虑到这个问题。那么作为智商为0的计算机该执行哪项呢?是换枪还是受伤?这时候计算机就***掉,也就是出现BUG了!
明白了没。目前大众应用计算机只会执行不会学习,当出现逻辑之外的东西就木有办法处理了!

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

举个例子,战神3里面在阿芙洛狄忒的寝室那里,打完之后走过传送门,下一个高台,就会来到赫菲斯托斯锻造的地方,这两个地方本来相距很远,一个在最初几章就能到达,一个在很后面的章节,这是基本情况。那么现在问题来了:

按照游戏设计者的构想,玩家在第一次到达赫菲斯托斯的锻造处时,你所拥有的能力是完全不能够跳上那个高台的。
那么现在有一个很牛逼的玩家,在前面章节第一次到达那里时就跳上了那个高台(也许是通过游戏设计者没有考虑到的连招产生滞空,也许根本就是一次意外,等等)并发现了那个传送门;
这时候bug就来了。
1.传送门是开还是不开?设计者根本没有考虑到,因为按照他的想法,没人能在这时到达这里。
2.传送门能让你通过么?
3.通过的话是什么情况,不通过的话又是什么情况?
4.一旦通过传送门,按照剧情你会取得后面章节才有强力武器,怎么办?

以上只是列举了一堆问题而已,而这些问题设计者当初根本没有考虑到,原因就是他以为不会有玩家能够跳上去,而偏偏有人做到了,这个就是“不可预见的”。玩家做到之后程序应该怎么反应?设计者自己都不知道,程序就更不知道了,而玩家就会发现,此时出现了bug(比如穿过门之后发现什么都没有,贴图和世界全部消失,或者回头发现死机了,或者不能存档了,因为你根本不在正常设计流程之内)这些问题需要QA和测试人员去确保不会出现。但他们总有没有照顾到的地方,bug就是这么来的。

精华
0
帖子
60
威望
0 点
积分
61 点
种子
5 点
注册时间
2014-11-6
最后登录
2016-11-25
发表于 2015-2-11 14:05  ·  香港 | 显示全部楼层
whmzy 发表于 2015-2-11 13:13
就是没明白会有何不可遇见的情况发生,机器硬件是固定的,运行机制也是死的,程序参数设定好的,不明白有 ...

软件是非常复杂的产品,不能说运行机制是死的。当然你可以说程序的输出结果都是对某一种固定输入的唯一确定响应,这点本质上没什么错。但是你知道一共有多少种可能的输入么?对于现代的大型程序,可能的输入数量是接近于无限,不可能在设计的时候百分之百都考虑到。

举例来说,你写个程序计算两个个位数(1-9)相加,那么输入的可能性只有9*9=81种,这样的程序就很简单,不会有什么bug,因为设计的时候就可以把这81种情况都考虑进去。而复杂的程序不是这样,假设一个最简单的贪食蛇游戏,它的输入是由用户的操作决定的,也就是说从头到尾你根本不知道用户在什么时候会按下哪个方向键,也就无法穷举所有可能的输入。这时候只能在设计的时候根据当时程序运行的状态,再结合用户的输入,实时计算出一个响应,比如朝哪个方向转弯,有没有吃到食物,有没有撞墙。然后在此基础上再想像一下一个大型游戏,根据主角的位置和视角,计算出一个光影效果,光这一点就比贪食蛇又复杂很多倍了,更不要说加上互动、剧情触发等元素,其复杂度已经完全超出能预计所有情况的程度。

终结者

杀人书生

精华
0
帖子
6932
威望
1 点
积分
8307 点
种子
163 点
注册时间
2006-1-27
最后登录
2024-1-13
发表于 2015-2-11 14:12  ·  广东 | 显示全部楼层
本帖最后由 janwei 于 2015-2-11 14:18 编辑

楼上基本都说得很明白了,其实为啥很多网游都需要封测公测?就是要让玩家提供测试样本,因为游戏公司请的测试团队人数有限,提供的样本数也很有限。

GBA游戏一般没有bug吧,就算有也极其罕见;到了现在PS4的游戏,内容和运算量比GBA复杂了多少?越复杂的东西越容易出故障。

精华
0
帖子
9983
威望
0 点
积分
10950 点
种子
717 点
注册时间
2004-8-19
最后登录
2024-10-27
发表于 2015-2-11 14:18  ·  河北 来自手机 | 显示全部楼层
明明都上课了却有人不及格,楼主能解释一下原因吗?

精华
0
帖子
2882
威望
0 点
积分
3197 点
种子
329 点
注册时间
2004-4-20
最后登录
2022-2-1
发表于 2015-2-11 14:18  ·  广东 | 显示全部楼层
whmzy 发表于 2015-2-11 13:43
说得在理,我就是有些单纯的想不通设定好的程序会有差,我想当初制作人也是把***安在了那个该死的AI手里 ...

说清楚一点的就是,如果那时一套CG电影,所有都是按照脚本走出来,不涉及任何玩家互动行为的,就基本上没有什么BUG了,当然,原本设计师或者原画师出错这个情况就还是可能的

精华
0
帖子
4122
威望
0 点
积分
4982 点
种子
707 点
注册时间
2011-2-28
最后登录
2023-4-13
发表于 2015-2-11 14:28  ·  广东 | 显示全部楼层
whmzy 发表于 2015-2-11 13:35
举例,***在人手里,程序编好了没显示出来,这是意外?在不能面面俱到的范畴里? ...

说一个可能实际发生的情况。在这里本来应该有把枪,所以系统从内存里试图去寻找这把枪的数据来显示。正常情况下这些数据是能被找到的,但是意外情况下这些数据被清理出了内存或者被覆盖或者不知道被移动到哪里去了,这把枪的数据就找不到了。

数据被移动属于人为疏忽没有被预料到的情况。假设在制作初期采取了数据在内存的固定位置存放的方法,并在这个阶段制作了让枪显示的程序。但是制作后期为了更有效的管理资源新加入了动态的内存管理系统,这个时候之前编写的程序忘了去修改的话就会发生找不到本应该找到的数据的bug。

以上只是例子,实际情况会比这个例子复杂千百倍。有的bug属于完全无法预料的级别,比如说实际上游戏本身没问题但是恰好触发了操作系统的漏洞这种。实际上为了新发售游戏而紧急更新系统也是常有的事。

精华
0
帖子
358
威望
0 点
积分
367 点
种子
7 点
注册时间
2010-12-2
最后登录
2021-8-3
发表于 2015-2-11 14:29  ·  广东 | 显示全部楼层
只要是人制作出来的东西就不可能十全十美
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-3 15:09 , Processed in 0.091071 second(s), 19 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部