炫书网
最新小说 | 小编推荐 | 返回简介页 | 返回首页
(双击鼠标开启屏幕滚动,鼠标滚轮控制速度)
炫书网 > 游戏开发巨头 > 分节阅读_第554节
游戏开发巨头_分节阅读_第554节
小说作者:烟雨料峭   内容大小:5.72 MB   书页:游戏开发巨头Txt下载   上传时间:2016-02-02 10:07:29   加入书签
最新网址:www.xbiquta.info
花费多少钱,因为这些皮肤唯一的作用就是好看,但果然,按照杰斯特的说法,是让玩家看起来跟其他人不一样——但是跟其他人变得不一样,恰恰就是一款游戏极大的吸引力所在。
杰斯特想到了这段时间《反恐精英》的火爆,所以他进入了《反恐精英》的版块,这里的讨论热度甚至比《怪物猎人》还要高的多,因为枪战游戏永远都是主流。
其中最火热的帖子是一个玩家抱怨这段时间火星娱乐对于服务器不负责任,他玩游戏变得很卡,经常他明明躲到了墙的后面,但是仍旧被人一枪击杀的事情,而且赞同的人很多。
当然,也有很多人对于发帖者嘲讽。说那是因为你技术菜。
因为玩家社区的账号是直接联系到战网的,上面你的游戏角色以及战绩,如果你不选择隐藏的话,那么是所有人可见的,这位发帖的就是显示的所有人可见,他的天梯排位显示的组别是白银。说是菜鸟肯定算不上了,毕竟白银之下还有青铜跟黑铁的组别。
但是高手也算不上。
一般社区里面认为高水平的都至少要是黄金组以上。
当然,跟后来的国内的许多玩家社区一样,火星娱乐的《反恐精英》版块的平均水平不是平均玩家能够达到的。
这位被人嘲讽他菜的楼主倒是也不生气,他只是质问对方,现在的服务器是不是变得越来越差?
然后,就是两方人互喷了起来。
杰斯特大体上看完了整个帖子,他也觉得实在是好笑,因为一点小事就变成整个板块的撕逼大战显然是他预想不到的。而且因为双方的互喷也没有明显的超出论坛的固定,随意社区经理也并没有出来锁定帖子。
杰斯特恰好这段时间看过《反恐精英》部门的报告,所以对于服务器的问题还是有些了解的,所以他就想着顺便的做一下解释。
所以,他就在这个贴下面进行了回复“我可以分享一点我最近知道的可以说的信息,那就是,服务器这段时间因为涌~入了大量的玩家,对于服务器的负载造成了极大的压力。之前我们也有所预料,但是预料可能跟现实有些出入。我们错误的估计了玩家的的热情程度,过几天《反恐精英》的开发组将会公布一下这段时间涌~入服务器的玩家人数。”
“相信我,这将会是一个让所有人感到吃惊的数字。”
“他大大的出乎了我们的预料,以至于让我们的服务器组准备不足,所以,这段时间觉得卡之类的问题。的确是我们工作上的疏忽,不过,我们正在联系新的服务器以及正在技术上面处理服务器压力的优化,相信我们肯定可以做好这一切。”
以杰斯特的名字发的蓝贴的效果让旧是拔群的。
几乎是在他发出的第一时间就被人发现,然后无数的人引用回复。
之前还有人调侃说看看人家杰斯特。作为一家公司的老板还经常到论坛上面来跟玩家们互动,结果《反恐精英》这么一个开发组却只有一个社区经理来回答一些问题,而且绝大多数的回复还是我不知道,我需要请示开发组,这一点我不能透露……
既然这样还要这样的社区经理干什么。
结果现在竟然真的是杰斯特来回答《反恐精英》板块的玩家疑问了。
不过杰斯特也解释了一下,他说他这段时间正好处在老游戏完成,新游戏还没有正式开发的时间点上面,所以时间比较多,而且他个人是比较喜欢在论坛回答一些问题的,但是其他的开发组的时间就没有她这么空闲了。
在杰斯特解释了一番之后我,玩家们也表示理解。
不过很多人都对于杰斯特说的出人预料的玩家参与人数感到好奇,到底是多少人才会让火星娱乐事先准备的服务器准备不足的。
杰斯特说:“这个消息应该由开发组来宣布,而不是我。”
之后,看到很多玩家在讨论为什么会卡的原因,索性杰斯特也解释了一下游戏内的卡到底是什么原因或者说倒是为什么会造成这种现象的。
“我之前看到很多人都在讨论,我玩游戏不流畅这么一件事情,所以我有必要说一下我知道的关于这方面的一些知识,权当是作为科普了,不过在此之前,我需要明确的解释几点游戏枯燥无味的术语,因为只有明确了这一点之后,你们才能够明确的知道,我的游戏为什么会觉得不流畅。”
“甚至是,为什么我明明死前开了枪,而且按照我的枪法肯定命中了,为什么我死了,对方却没事?”
“这一类的问题的。”
“首先,是tick,tick指的是服务器端给玩家发送的一次数据快照,这个数据快照包含服务器数据中所有玩家的数据信息——位移、位置、动作等。而服务器将游戏世界的快照连拍在一起就形成了连贯的画面,也就是我们看到的一切。可以说,服务器只是把游戏世界的快照连贯在一起。”
“快照的连拍速度叫做tickrate。tickrate越高,服务器看到的世界就越连贯,渲染出来的世界就越准确。”
“其次,latency,延迟,这个概念通常会被理解或者说是错误的理解成ping。”
“实际上指的是数据包从你的客户端传送到服务器端再返回的时间——这个过程叫做rtt。”
“人们总是叫它为ping的原因是在80年代,有一个工具叫做ping,被用来测试icmp反馈的延迟。ping命令目前仍然存活在现今的大部分操作系统里。换句话说,一次ping是一个测试,通过用一个icmp反馈来衡量延迟。需要注意的是:单次传送数据包的时间(ping)并不总是等于1/2的rtt值。但是出于方便,我们通常将双方等同,所以暂且把rttlatency简单认为是latency也就是把单次数据包传输延迟理解为1/2的latency。”
“第三,client-update-rate,顾名思义,客户端更新率,这个速率指的是客户端将要从服务端接收更新的速率。举个例子,如果客户端更新率是20,服务端快照连拍率是6~4,那么客户端还是可能会在快照连拍率20的服务端进行游戏。这个通常都是可以在客户端本地修改的,当然,不是全部,一些游戏就禁止修改。”
“然后是帧数,也是通常说的fps,你的客户端能够达到的每秒渲染帧的数量。”
“接着就是一个关于显示器的数据,刷新率,就是你的显卡每秒更新你的显示器上画面的频率。计量单位是hz(赫兹),如果你的帧数是30,那么你的显示器如果是60hz,你的显示器就会显示每一帧2次。但是如果你有120的帧数显示在60hz的显示器上,那么显示器就只能显示出60帧/每秒。”
术语解释到这里的时候,杰斯特稍微停顿了一下,然后添加了这样一句——“这是比较好理解的一些概念,下面我要说的可能要复杂一点,所以,我先给你们一点时间。”
然后他就将这个帖子发了出去。(未完待续。。)


第八百三十一章卡顿与延迟

在又稍微的运年思索了一下,顺便组织了一下接下来的语言。∮頂∮点∮小∮说,www.23wx.com
因为接下来要说的东西会稍微显的有些复杂,很有可能没有这方面的技术的看起来会有些吃力,所以,杰斯特在想着怎么才能够把他要说的东西说的更加的通俗易懂。
杰斯特接着在新的回帖里面写道。
“接下来我要说的就要难懂很多了,但是至少仔细的想一下,其实也就是那么回事。”
“在说完了上面的那些简单的概念以及术语之后,我们来看一个新的概念,这个概念的专有名词叫做‘内插帧’。那么什么叫做‘内插帧’?”
“实际上,内插帧是一项技术用来平滑游戏中的物体行动的,比如说玩家。本质上讲,内插帧是用来平滑一个物体在2个点之间的行动。内插帧的延迟通常等于2个快照,但也是会变化的——这么说可能会有些难以理解,但是我们可以举一个例子来进行说明。”
“如果一个玩家直线奔跑,在tick1的时候他在0.5m处,在tick2的时候在1m处,那么经过内插帧的处理将之显示在客户端,他从0.5m的起点非常平滑的移动到1m的终点。但是服务端,总是并且只是“观察”到玩家在2个位置,而不是在2点之间。”
“这么说有些理解了吧?”
“也就是说,服务器进行处理的智商两次tick的快照,没有内插帧的话,游戏就会变的断断续续,因为客户端只是在收到来自服务端的更新后才能得知游戏中的物体的行为。内插帧行为只在客户端单边发生。”
“内插帧本质上降低了整个游戏在你电脑上的渲染速度,这个数值通常等于2快照。一般来说所有的游戏都是如此,但是有些游戏允许你更改这些,比如《反恐精英》,这些就是人们在说起rates的时候所指的,他们指的是更新率和内插帧延迟。”
这一次杰斯特斌没有在一个帖子里面写上所有他想要说的话,因为现在的这些并不好理解。所以,他现在是一个概念一个帖子的进行阐述卡跟不卡之间的关系。
让更多的玩家不要在似懂非懂的争执这些鸡毛蒜皮的事情。
在说完了内插帧,并且将阐述这个概念的帖子发出去之后,杰斯特又开始了一个新的帖子,仍旧是继续上面的话题。
“之前说了内插帧,那么很多人会好奇,既然有内插帧,那么到底有没有外插帧呢?”
“答案是肯定是,这个世界上面天生就是对称的。有内就会有外,而所谓的外插帧,这是另一个客户端方面的技术用来补偿延迟。本质上说,客户端外插物体的位置替代降低整个客户端的渲染。这种做法大体上不及内插帧,特别是对于玩家行动不可判断的fps游戏来说。”
“所以,在讨论《反恐精英》这款标准的fps游戏的时候我不会太过于详细的去介绍这个概念,因为他并不是我要说的话题的主角。”
杰斯特写的这些术语介绍什么叫做卡为什么会卡的帖子马上就引起了玩家们的关注,虽然有一些看的比较吃力。但是,他们也逐渐的明白了所谓的卡于不卡其实是一个很复杂的过程。所以,杰斯特的这个帖子的下面很快的就有了一两百个赞。
当然,杰斯特要说的还没有说完。
“然后,就是一个重中之重的概念,我们内部将其称之为hit-box,可以简单的解释为命中框或者是命中面积。这样说似乎就顾名思义了,一个人物的3d模型包含了一些区域来判断命中。长宽高的数据在3d世界里面精确的描述一个物体,你看不到命中框,你只能看到玩家模型。命中框可大可小,也可某种程度上无法命中。这都要根据游戏如何编写来判定。在命中和未命中方面,命中框能够带来比快照速率更大的不同。”
“另外的一个非常重要的东西,叫做卡顿补偿,这可能在不同的游戏里面会有完全不同的表现。”
“卡顿补偿是在服务端的一种功能,意在减少客户端延迟的直观感受。如果没有卡顿补偿,或者卡顿补偿不够理想,你就会朝着一个目标瞄准想要打中,但是由于客户端电脑“看到”的延迟后的游戏世界,你并不会命中原先瞄准的区域。本质上讲,卡顿补偿是在解读从客户端接收到的动作,比如开火,尽管动作已经发生过了。服务端游戏世界和客户端游戏世界的不同,或者说我们通常所说的客户端延迟,都可以总结为:客户端延迟=(1/2*延迟)+内插帧延迟。”
“这其实是一个很复杂的机制,我原本想要三言两语的将其说明白,但是我发现这根本没有办法做到,索性我就详细的说一下什么叫做卡顿补偿或者更加确切的一个说法,就是卡顿补偿这个机制到底是怎么运行的?”
“现在我描述一个这样的玩家在游戏里面的游戏场景,来通过这个场景简单的说一下什么叫做卡顿补偿。”
“这个场景是这样的。”
“玩家a看到玩家b向一个拐角行进,玩家a开了1枪,客户端把开枪这个动作发送给服务端。服务端接收到xms后的数据,x为玩家a,latency(延迟)的一半。服务端这时查看过去发生过的(在记忆加载中),查找到当玩家a开枪的时候玩家b的位置。在基础的例子中,服务端会返回(xms+玩家a的内插帧延迟)到玩家a看到玩家b的时间点,但是其他的数值因素或许由游戏程序员想要卡顿补偿如何施行来决定。”
“服务端决定玩家a开的枪是否命中。开枪想要被算做命中,需要它必须打在玩家模型的命中框中。在这个例子里,服务端认为玩家a命中玩家b。尽管如此,玩家b的屏幕可能已经看到自己在墙后了,但是在玩家b看到自己在墙后的时间和服务端认为玩家b被命中的时间的差异等于:1/2玩家a的延迟+1/2玩家b的延迟+距离上一次快照的时间。”
“在下一次快照中。服务端更新玩家a、b的客户端上的数据。玩家a看到命中瞄准的位置x,玩家b看到自己的生命值减少或者死亡。”
“看完这一个过程之后,是不是就对于什么叫做卡顿或者说是延迟有了一个完全不同的清晰的定义了呢?”
杰斯特写完这些之后,想要将帖子发出去,但是他突然的想起了一个玩家经常争执的问题,正好可以利用这个机会解释一下。于是他便在这个帖子的下面紧接着写道:“我突然的想起了一个fps游戏玩家之间经常的进行争吵的经典问题,那就是我跟另外一个玩家同时开火
本文每页显示5000字 共600页 当前第554页
目录   上一页   ←   554/600   →   下一页   加入书签<  
小提示:如您觉着本文好看,可以通过键盘上的方向键 ← 或 → 快捷打开上一页、下一页继续在线阅读
也可以下载游戏开发巨头TXT电子书到您的看书设备,以获得更快更好的阅读体验!