» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[新闻] 本期Bungie Update:大量数据反馈而让精确的网络模型微调成为可能

懒得翻译了,喜欢研究halo的兄弟们也能看懂

http://www.bungie.net/News/conte ... pnews&cid=14347

When games have as many passionate users as Bungie’s Halo games do, it’s perfectly understandable – and as I’ve said in this space before – and appreciated that they offer feedback as often as they do. That said, there’s also a tide-like behavior about the way these issues seem to surface – and for Halo 3’s Battle Rifle, the moon was certainly hovering in the sky. As early as the Halo 3 beta (roughly a year ago), we talked about how the Halo 3 Battle Rifle was changed from the Halo 2 post-1.1 update. There’s a number of factors to consider when you’re comparing the Halo 2 1.1. BR to the Halo 3 BR and today, before we get to the sweet, sweet Chill Out/Cold Storage images (scroll down if you don’t care about BR and networking techno babble) we're looking at the Battle Rifle.

Halo 2’s Battle Rifle was a hitscan weapon, which is fancy terminology for “instant-hit” which is slightly less fancy terminology for “if the reticule is red when you pull the trigger (in good networking conditions) the bullet packet will hit the target.” Additionally, in Halo 2’s BR the “spread” for the three bullet fire package was reduced in the 1.1 patch, focusing the bullet delivery into a tighter packet than when the game originally shipped.

The result of the “tweaked” Halo 2 Battle Rifle was a weapon that functioned astonishingly well at short, medium and long range. It was utilitarian and when coupled with a mountain of button combinations, astonishingly lethal. Arguably too lethal.
Halo 3’s Battle Rifle, as we’ve discussed before, while similar in some respects to Halo 2’s – it is still the Battle Rifle, it still fires three-round bursts, has had its functionality changed and now the Rifle performs much differently from its H2 predecessor.
Admittedly, it can certainly be jarring to see the weapon look nearly identically to a previous iteration and have its performance be different from what you’d expect. That is the case in Halo 3, and it is the case for a number of reasons.

Hitscan and Velocity

Unlike the Halo 2 Battle Rifle, the Halo 3 Battle Rifle is not a hitscan weapon. There are technically no hitscan weapons in Halo 3. The closest a projectile is to hitscan in Halo 3 is the Spartan laser, which instantly checks for a collision within the weapon’s maximum range (that range is the largest of any weapon in Halo 3). The Sniper Rifle bullet is a high velocity round and covers that same distance in somewhere between two and three ticks. What that means, is that at a certain range, the Sniper Rifle behaves like an instant hit weapon, but at longer ranges it takes two to three frames for the bullet to arrive. Keep in mind that the initial range for the Sniper Rifle is huge.

On the contrary, the Halo 3 Battle Rifle’s bullet velocity is significantly slower than both the Sniper Rifle round and the Spartan Laser beam – this was a decision made by design because the high level goal for the weapon included it requiring players to lead their targets at range. Just like the Sniper Rifle in the example above, at certain ranges, the Rifle will behave like an instant hit weapon – this would be at distances at or inside the range that a three round burst can travel in a single frame. Outside of that relatively small distance – the Battle Rifle changes considerably from its Halo 2 predecessor.

Support and Networking

Halo 2’s networking model gave clients a distinct advantage against the host with the Sniper Rifle (See: Any number of swipe-sniping clips on the Internet from H2). In Halo 2, when the client aimed at the host (and hits on his screen) the data is packed up and delivered to the host saying “I shot, and here is where I hit this player.” This allows hits to occur despite minor differences between player location in the gamespace (i.e. on my box you’re directly in front of me and on your box, I’m ever so slightly to the right, [see: fig.1]) and still correctly register the hits on and off host. The system was imperfect (which isn’t to presuppose that Halo 3’s is perfect, there’s always stuff we’re going to be improving on) and those imperfections were exposed with the Sniper Rifle, giving the client sniping advantages against the host.





When rebuilding Halo 3’s networking model, alleviating that advantage was one goal.



In Halo 3, a similar networking model is used, where regardless of where the client and the host are to one another on the monitors the host and client are looking at in their living rooms, the client and host are still transmitting data back and forth. In the example below, the top player is moving to the right (indicated by the black dotted arrow) and the bottom player is firing the Battle Rifle at the trajectory marked by the black and red arrow. The black part of the arrow is the distance that the bullets will travel in a single frame and the rest of the shot is marked by the red arrow.

The blue line is the distance from the moving player to where the bottom player is shooting (that player is accounting for the top player’s movement when lining up the shot). In this example the blue line is critical, that distance, which is calculated on the client box (the distance from where the player is aiming to where the player is moving from), becomes key information on both the host and client box.

If the projectile hits the enemy within the black line, we can send the message, “I fired, and here is where I hit” (so with the Halo 2 BR this happened all the time). In Halo 3 clients send “I fired, here is who I was aiming at, and here is how far in front of the enemy I was aiming.” The host lines up the shot using the blue line transmitted from the client, leading in front of him just like the client did and fires. What results is that two ticks (frames) later, the bullets hit the enemy on the host just like they do on the client. But we don’t send a “I will hit the enemy in two ticks” message from the client. We just try and line up the shot and let the host recreate what is happening.

If the host finds that yes, the player aimed at this distance from me, but I’m not at that point when the bullets would arrive (via the red arrow), no hit is detected.

Bulletology

In Halo 3, each bullet from the Battle Rifle’s three-round burst is networked individually under the cases outlined above. Additionally, each bullet has a different margin of error, with the first round from the Battle Rifle being the most accurate of the three bullets. The first bullet can have an error between 0 and .15 degrees off of the true aiming vector. The third bullet is between 0 and 0.38 degrees, the second bullet falls somewhere between the first and third. It is a mistake to look at where the third bullet lands and assume all three bullets are that inaccurate. The outliers (0.15 on bullet 1 and 0.38 on bullet 3) are the absolute worst-case scenarios. In that context those numbers don’t mean a whole lot – but in the grand scheme thing of how the Battle Rifle operates, they are pretty meaningful.

The Battle Rifle works this way because after Halo 2 it was retuned to be a reliable headshot and anti-sniper weapon (in terms of pinging Snipers at distance from their scoped-in state). The first bullet in the burst fills this role – it is quite accurate (identical to the Halo 2 BR, but with a travel time), and will kill an unshielded unit with a headshot or ping a sniper.

Another design goal with the Battle Rifle in Halo 3 was to bring the kill-range closer. One way this was achieved was by giving bullets 2 and 3 from the BR a wider error, which makes them less likely to land outside of the BR’s intended effective range. Summarily, this reduces the BR’s effectiveness AND damage output at those ranges, without compromising its ability to finish a target at the same range.

This change allows the Battle Rifle to be competitive in terms of damage output at closer-than-Halo 2-levels, without being so effective at longer range, that players caught in the open are gunned down too quickly (that task in Halo 3’s sandbox belongs to the Sniper Rifle. If you need to control a space 30wu [world units] away, use it instead).

Math Class

Over distance, the three BR bullets spread further than they are during the black line (see: fig 2) in the initial burst. In order to solve for how much a bullet’s flight will vary over distance – the aforementioned margin of error are used in this equation:

SIN(Bullet’s Margin of Error)xDistance to Target in WU(world units) = Actual margin of error from target

For the first, and most accurate bullet coming from the Battle Rifle here’s the equation:
SIN(.15)xDistance in World Units = Error margin for a given bullet at a specific range.
In the case of the Battle Rifle on Guardian, the approximate distance from Snipe 2 to Gold 2 is roughly 18 world units. Plugging those numbers into the equation yields a value of .047 world units in the absolute worst case scenario for that bullet. Since one world unit is equal to 10 feet, the variation on that bullet is 0.047 world units, or roughly half of a foot. Considering that the Spartan model is 0.75 world units (the Chief is 7 and a half feet tall) you can get a pretty good idea of what kind of variation will come from that bullet, that works out to roughly a half a foot of variation at that distance. The Chief’s helmet is approximately 0.094 world units wide, so if the shields pop, that bullet – aimed and fired accurately – under reasonable network conditions yields a kill.

Special thanks to Jon Cable, Tyson Green and Luke Timmins for answering about a million questions of mine this week regarding the iterations of the BR.

Denouement

Aesthetic similarities aside, the Battle Rifle in Halo 3 is a far different weapon from its Halo 2 predecessor. Despite what segments of the player population believe or want to believe, it is no longer a mid-to-long range killing machine. It is an anti-long range weapon with a focus on mid-range combat that ends up being utilitarian and functional, but not optimal at close range. The reasons for this are obvious – there is no designed one-weapon-to-rule-them-all in Halo 3 and that is a decision made by design to encourage all of the aspects of the sandbox to be used in gameplay.

Much of the fervent debate comes from players who simply want the weapon to perform differently than it was designed to perform. The bullet variation in the Battle Rifle’s three-round bursts is a design choice that further defines the weapon's role in the Halo 3 sandbox.


================
另外附上一篇对MP里面的再生地点反向工程学研究文章,喜欢forge的同学可以参考bungie是怎么设置再生点的

http://www.forgehub.com/forum/fo ... guide-respawns.html


TOP

长文慢看



TOP

看得好吃力啊


TOP

好长阿,是关于网络延迟的东东么?

TOP

争吵不断!!!

TOP

懒得看

TOP

很专业啊~

TOP

有点意思,原来爽快的网络对战“手感”也是精心设计出来的。简要翻译下:
1.在halo2中,BR是“instant-hit”的,即不考虑子弹飞行时间,无提前量一说。client端独立计算是否击中,如是,报告host端
2.在halo3中,BR只在一小段距离上是“instant-hit”的,如果距离很长,则要考虑提前量。client端报给host端的是瞄准的提前量。host端根据这个提前量和host端的参数算出是否击中
3.在halo3中,BR每一击的三发子弹其轨迹是独立计算的。第一发无误差,“指那打那”,后两发误差逐次增大,目标越小,后两发击中概率越低

结论:halo3降低了BR的威力(BR在halo2对战中简直就是神器),特别中远距离上又作为client的情况下。但首发精确命中的特点也保证了BR破狙开镜的功能,也可以在敌人破甲的情况下远距离爆头。概言之,网络对战的平衡不是偶然得之,而是精心设计的!

TOP

感谢楼上简要明了的翻译,我对自己的语言组织实在没信心能够两三句能概括好呢,哈哈

现在唯一要解决的问题就是melee的判定了,从严格拼血,到加入带延迟参数的时间量,到前段时间再次更新后的改进,还是感觉始终不尽如人意呢

TOP

粉丝们纷纷表示随即性太大!不公平!!!

TOP

很多FPS游戏的Online判定上都有类似的设定。
正因为这些数据的反馈需要不小的带宽,使得P2P连接无法承受大量玩家同时游戏。所以Live!上二十多名玩家同时游戏就是极限了。

TOP

引用:
原帖由 BD 于 2008-6-23 12:35 发表
很多FPS游戏的Online判定上都有类似的设定。
正因为这些数据的反馈需要不小的带宽,使得P2P连接无法承受大量玩家同时游戏。所以Live!上二十多名玩家同时游戏就是极限了。
TF2不是,lol

因为TF2都没有类似BR的枪

其实很多FPS都有类似BR的枪,但halo里面的BR的节奏感是我玩过的MP里面最好的

BTW:EndWar模式真是单调啊

TOP

其实server处理全局战况是不是更好,client只负责显示图形和发送用户输入指令

TOP

引用:
原帖由 Jonsoncao 于 2008-6-23 12:38 发表

TF2不是,lol

因为TF2都没有类似BR的枪

其实很多FPS都有类似BR的枪,但halo里面的BR的节奏感是我玩过的MP里面最好的

BTW:EndWar模式真是单调啊
Endwar面向的用户并非CU啊

TOP

引用:
原帖由 美版游戏饭丝 于 2008-6-23 10:29 发表
有点意思,原来爽快的网络对战“手感”也是精心设计出来的。简要翻译下:
1.在halo2中,BR是“instant-hit”的,即不考虑子弹飞行时间,无提前量一说。client端独立计算是否击中,如是,报告host端
2.在halo3中,BR只在一小段距离上是“instant-hit”的,如果距离很长,则要考虑提前量。client端报给host端的是瞄准的提前量。host端根据这个提前量和host端的参数算出是否击中
3.在halo3中,BR每一击的三发子弹其轨迹是独立计算的。第一发无误差,“指那打那”,后两发误差逐次增大,目标越小,后两发击中概率越低

结论:halo3降低了BR的威力(BR在halo2对战中简直就是神器),特别中远距离上又作为client的情况下。但首发精确命中的特点也保证了BR破狙开镜的功能,也可以在敌人破甲的情况下远距离爆头。概言之,网络对战的平衡不是偶然得之,而是精心设计的!
再加一句:而精心设计源自海量数据反馈的支持,来自 data-mining

[ 本帖最后由 RestlessDream 于 2008-6-23 13:10 编辑 ]

TOP

发新话题
     
官方公众号及微博