泰坦陨落Xbox LIVE云计算解析

2014-03-12 16:59:11 k73游戏之家 作者:xixi_8888

这是一篇在respawn官网上的文章,讲述了关于泰坦这次试用的XBOX live云计算。作为Respawn的铁杆粉丝同时也是skyer的老会员,花了1个多小时翻译了一下,也算是某种回馈吧。已经预定美版同捆,周末打飞的去拿货(其实是被资本家派去当劳工),喜欢泰坦的XD加我LIVE ID,等我回来一起happy。

泰坦陨落Xbox LIVE云计算解析

Hi everyone! I’m Jon Shiring, and I’m an engineer working with the Cloud technology that you’ve heard about for Respawn’s game Titanfall. I have seen a lot of confusion online and I think it’s worth explaining more about what we’re doing on Titanfall and also more generally about Cloud computing and dedicated servers.
First, let’s take a step back and dive into the common multiplayer design and talk about why Dedicated Servers are better.

大家好,我是Jon Shiring,我是一名负责Respawn游戏泰坦降临云运算的工程师。我在网上看到了很多的关于云计算的疑惑,我觉得值得解释一下我们在泰坦降临上正在做的事情,以及关于云计算和专用服务器的一般概念。

Player-Hosted Servers

The vast majority of games will pick a player and have them act as the server for the match. This means that all of the other players talk to them to decide what happens in a game. When you shoot your gun, the server decides if that is allowed and then tells everyone what you hit. Let’s agree to call this system “player-hosted” for simplicity.
What kinds of problems do you get with player-hosted servers?

玩家作为服务器

大量的游戏会采用选择一个玩家,然后那个玩家将承担服务器的角色。这意味着这场游戏里的所有玩家都会和选定的玩家进行通讯来决定游戏将会发生什么。当你开枪,服务器(选定玩家的主机)来决定那是否是允许的,然后告诉每个玩家你打到了什么。让我们把这种方式称为“玩家做主机”来使描述更加简单。
当你用这种方式时到底有什么问题呢?

What if one player has great bandwidth, but it’s laggy?

Games are having to choose between different player hosts, and have to make hard decisions about which one should be the host, with two different measurements – bandwidth and latency. Sometimes it will pick a host who has good bandwidth, but whose latency isn’t ideal. But we don’t want the game to make compromises on lag and we really want the game to feel the same every time we play. We really don’t want to worry about this stuff – we just want to play and have the game feel good.

如果一个玩家有很高的带宽,但是延迟很高会怎么样呢?

游戏不得不在不同的玩家中选择主机,他们必须做出一个困难的决定来选择谁来担当主机,这里有两个不同的指标—带宽和延迟。有些时候会选择一些有很高带宽的玩家但是他的延迟并不是很理想。但是我们并不想游戏体验会因为延迟而妥协,我们真的期望每次玩游戏的时候我们的感受都是一样的。我们不想担心延迟带宽什么的玩意—我们只想痛痛快快的玩游戏而已。

What about host advantage?

The player-host has the game running locally on their machine, so they get super low latency access to the game world. You’ve probably seen this in action as some player seems to see you long before you get to see them or their bullets hit you before yours hit them. That sucks. Nobody should have an artificial advantage in a competitive multiplayer game.

主机优势是怎么回事?

做主机的玩家所有的数据都在本地完成,所以他们能够得到超低的延迟来访问这个游戏世界。你可能已经感受过似乎在你看到一些玩家之前,他们好像已经看到你挺长世界了,或者在你的子弹打中他们之前已经首先被击中了。那种感觉太狗屎了。不应该有任何人在一个竞争性的多人游戏中存在人为的优势了。

What if the player-host is a cheater?

Since the host gets to make decisions about kills, XP, and unlocks and such, it’s really bad if they abuse their power to wipe out your stats, or they cheat by flying around maps and insta-killing people. It’s infuriating, in fact.

如果主机作弊会怎样?

因为主机对于击杀,经验,解锁诸如此类的事情做出决定,如果他们滥用这种力量去毁掉你的统计数据,或者在地图上飞来飞去然后瞬间杀掉玩家,那简直太糟糕了。事实上那是非常令人愤怒的。

What if the host disconnects?

In the “best case” for this, you can do host migration if there’s another player who has enough bandwidth and everyone else can talk to them. If you hit that jackpot, you can migrate from the old host to the new one, which pauses the game and then unpauses when the new player-host is ready to start acting as the server. This isn’t a fun process, and it can fail.

如果主机失去连接会怎样?

这种情况最好的结果是,如果其他的玩家有足够的带宽并且所有的玩家都能和他通讯的话可以做主机的转移。如果恰巧符合这种情况,你会从旧的主机转移到新的主机。首先回事暂停游戏,然后当新的玩家主机准备好了以后会恢复游戏。这不是个愉快的过程,而且主机转移有可能失败。

What if the host’s bandwidth disappears?

The game tested the host’s bandwidth at some point and decided that they had enough to host. But someone at their house is now torrenting files and their roommate is streaming Netflix. That “great” bandwidth the game detected earlier is now awful bandwidth, and the other players are lagging halfway through a match.

如果主机的带宽突然降低了会怎样?

游戏会在一个时间点对于主机的带宽进行测试来决定是不是足够来作为主机。但是有些人正在下载BT或者他们的室友正在Netflix上看在线视频。早先很好地带宽会变得很差,所有的玩家都不得不经历一场卡的要死的游戏。

What if some players can’t talk to the host?

You know all that “Open NAT” stuff? Your home internet router is generally trying really hard to keep bad people out, and games are sort of a weird case where the game is trying to get your router to cooperate and let other players create connections INTO your network. Games need to check if every player can talk to the host and if one can’t then that host won’t work. It makes matchmaking slower, and we hate that. Also, by telling you to open up your router, the game is asking you to reduce the security of your home network in order to make the game work. It would be great if you didn’t have to compromise your security in order to play games.

如果有些玩家不能和主机通讯会发生什么?

你知道关于“开放NAT”之类的东西吗?你家里的路由器会尽可能尝试着的把坏人挡在外面,游戏看上去很奇怪因为游戏会尝试着让你的路由器与其他玩家通讯并且建立连接让他们进入你的网络。游戏需要检查是不是每个人都能够和主机进行通讯,如果有一个人不能那么这个主机将不能工作。这会让整个的配对过程变得缓慢,我们痛恨出现这种情况。为了更好的的建立连接,我们得告诉玩家降低路由器的安全级别来更好的玩游戏。如果我们不需要降低安全级别来玩游戏的话会更好。

What if nobody has enough bandwidth?

You got a great group of players together, but nobody has enough bandwidth to actually host a game. You can work around this by compromising your matchmaking a little to make sure that each lobby has a player in it that can be a host. But we don’t actually want compromised matchmaking, so this isn’t a good fix.

如果所有的人都没有足够的带宽会怎么样?

你碰到了一群非常好的玩家,但是没有任何人有足够的带宽来充当主机。你可以降低配对的要求来保证每个玩家都能参与游戏。但是我们并不惜配对时做出妥协,所以那不是一个很好的办法。

What about players who are paying for their bandwidth or have bandwidth caps?

If you have a bandwidth cap on your home internet connection, or even worse, you’re paying for your bandwidth, what happens when you play a game and later find out that the game thought you were an awesome host? Your home internet connection is now slow or you have a huge bill waiting.

如果主机的宽带是按照流量或者有流量使用上限怎么办?

如果你家里的internet有网络的流量上限,或者更糟,你按照流量收费。当你玩了一场游戏,而且游戏认为你是个NB的主机的话,会发生什么情况?你的网络连接会变慢或者一张巨额账单在等着你。

So if I’m hosting, my machine is doing all this extra work on behalf of everyone else?

Yes! You are doing more work on your CPU than all of the other players are. This means the game isn’t as cool looking as it could be and everyone else has extra CPU just sitting there. Or worse, their game actually looks better than yours! We think the game should be consistent on every machine in a match. Don’t punish the host with a worse game or leave all of that extra CPU sitting empty on the other players machines.
Okay, so player-hosted servers have a lot of downsides. So why do so many games use them? They have one really big upside – it doesn’t cost money to run the servers! Running hundreds of thousands of servers can be extremely expensive. EXTREMELY expensive. Like “oh my god we can’t afford that” expensive. So your player experience gets compromised to save (large amounts of) money.

如果我是主机,我的游戏机再为其他所有的玩家做这些额外的运算?

是的!你的游戏机CPU正在做相对于其他玩家更多的运算工作。这意味着这个游戏不能够利用所有的计算资源来仅仅关注游戏本身,其他的玩家额外的CPU资源会浪费掉。更糟糕的是,有可能别人的画面看上去比你的要好!我们认为游戏应该在每台机器上保持一致。不能够惩罚主机或者浪费非主机的CPU资源。

好了,玩家做主机有许多不好的方面。但是为什么许多的游戏使用这种方式呢?这种方式有一个巨大的优势—不用花钱在服务器上。运行成百上千的服务器运行成百上千的服务器非常昂贵,非常非常的昂贵。就像是再说“我的神呀,我承受不起昂贵的费用。”所以你的游戏体验不得不进行妥协节省(很多的)金钱。

Dedicated Servers

Dedicated servers are when a computer sitting out on the internet handles all of the host duties, leaving every client free to just be a client.

You can get even more CPU on your dedicated servers to do new things like dozens of AI and giant autopilot titans!
Suddenly you have no more host advantage!
Bandwidth for the servers is guaranteed from the hosting provider!
You can use all of the available CPU and memory on the player machines for awesome visuals and audio!
Hacked-host cheating isn’t an issue!
Matchmaking can be lightning fast since it’s guaranteed that everyone can connect to your servers.
And since the servers aren’t going to go disconnect to watch Netflix, you don’t need to migrate hosts anymore!


The player experience is so much better. This sounds awesome!

专用服务器

专用服务器意味着一台计算机专职来处理所有的主机承担的任务,每个玩家永远是作为客户端。

你在专用服务器上得到了更多的CPU去完成更多的事情,举例来说就好办了人工智能和自动飞行的泰坦
再也不存在主机有时候的
主机的带宽由主机提供者来保证
你可以使用玩家所有的CPU和内存资源来得到更棒的画面和音效了。
破解主机作弊不再是问题
配对将会变得闪电般快速因为它能保证所有人都能够连接到主机
因为服务器再也不会掉线去看网络视频了,你再也不需要做主机转移了。


游戏体验会变得好很多,这个听上去挺酷的。

But it costs a LOT of money.

This is something I have worked on for years now, since coming to Respawn. A developer like Respawn doesn’t have the kind of weight to get a huge price cut from places like Amazon or Rackspace. And we don’t have the manpower to manage literally hundreds-of-thousands of servers ourselves. We want to focus on making awesome games, not on becoming giant worldwide server hosting providers. The more time I can spend on making our actual game better, the more our players benefit.

I personally talked to both Microsoft and Sony and explained that we need to find a way to have potentially hundreds-of-thousands of dedicated servers at a price point that you can’t get right now. Microsoft realized that player-hosted servers are actually holding back online gaming and that this is something that they could help solve, and ran full-speed with this idea.

The Xbox group came back to us with a way for us to run all of these Titanfall dedicated servers and that lets us push games with more server CPU and higher bandwidth, which lets us have a bigger world, more physics, lots of AI, and potentially a lot more than that!

但是那会很花钱

这些就是我最近几年所干的一些事,从我加入Respawn开始。像Respawn这样的开发商没有能力从亚马逊河reackspace(都能够提供云计算服务)去得到巨大的折扣。而且我们也没有足够的能力自己去管理成千上万的服务器。我们想集中精力来做出更棒的游戏,而不是变成一个巨大的全球服务器运营提供商。我们有更多的时间在游戏上,玩家们就能够得到更多的好处。

我个人曾经与巨硬和骚尼解释过我们需要找出一种办法能让我们在合理的价格下得到潜在的成千上万的泰坦专用服务器。巨硬认识到玩家做主机的方式拖了在线游戏体验的后腿, 他们可以做些事情来来帮助我们解决这个问题,然后他们就展开了全速的具体实施中。巨硬的Xbox小组回来找到我们提供了一种新的泰坦服务器的方案,让我们可以获得更多的服务器CPU资源和带宽,这让我们有了一个更大的舞台,更多的物理计算,很多的人工智能,甚至更多潜在的可能!

What is the Cloud?

Amazon has a cloud that powers websites. Sony has a cloud that streams game video so you can play a game that you don’t have on your machine. Now Xbox Live has a cloud that somehow powers games. Cloud doesn’t seem to actually mean anything anymore, or it has so many meanings that it’s useless as a marketing word.
Let me explain this simply: when companies talk about their cloud, all they are saying is that they have a huge amount of servers ready to run whatever you need them to run. That’s all.

什么是云?

亚马逊拥有一个云来支持网站运行。骚尼有一个云来处理游戏视频流,所以你可以玩游戏但是你不用坐在你的机器旁。现在XBOX Live游泳一个云来支持游戏的运行。云看上去没有什么更多的意义,或者它有了太多的含义而变得没什么用就像很多的商业词汇一样。

So what is this Xbox Live Cloud stuff then?

Microsoft has a cloud service called Azure (it’s a real thing – you can go on their website right now and pay for servers and use them to run whatever you want). Microsoft realized that they could use that technology to solve our problem.
So they built this powerful system to let us create all sorts of tasks that they will run for us, and it can scale up and down automatically as players come and go. We can upload new programs for them to run and they handle the deployment for us. And they’ll host our game servers for other platforms, too! Titanfall uses the Xbox Live Cloud to run dedicated servers for PC, Xbox One, and Xbox 360.

But it’s not just for dedicated servers – Microsoft thought about our problem in a bigger way. Developers aren’t going to just want dedicated servers – they’ll have all kinds of features that need a server to do some kind of work to make games better. Look at Forza 5, which studies your driving style in order to create custom AI that behaves like you do. That’s totally different from what Titanfall uses it for, and it’s really cool! So it’s not accurate to say that the Xbox Live Cloud is simply a system for running dedicated servers – it can do a lot more than that.

XBOX Live云到底是什么?

巨硬提供一个名为Azure的云服务。 (那是真的—你可以去他们的网站花点钱运行任何你想运行的东西)。巨硬认识到他们可以通过Azure来解决我们的问题。
所以他们建造了一个强大的系统使我们创造出各种各样的运行在Azure上的任务,这套系统能够随着玩家的进入和离开自动的扩展或者缩减。我们能够上传新的程序给他们,他们来完成整个的部署。他们也将服务于其他平台的泰坦。泰坦使用XBOX live云来运行专用服务器服务于PC,Xbox one, 和XBOX 360.

How is this different from other dedicated servers?

With the Xbox Live Cloud, we don’t have to worry about estimating how many servers we’ll need on launch day. We don’t have to find ISPs all over the globe and rent servers from each one. We don’t have to maintain the servers or copy new builds to every server. That lets us focus on things that make our game more fun. And best yet, Microsoft has datacenters all over the world, so everyone playing our game should have a consistent, low latency connection to their local datacenter.
Most importantly to us, Microsoft priced it so that it’s far more affordable than other hosting options – their goal here is to get more awesome games, not to nickel-and-dime developers. So because of this, dedicated servers are much more of a realistic option for developers who don’t want to make compromises on their player experience, and it opens up a lot more things that we can do in an online game.

和其他的专用服务器有什么区别?

有了XBOX LIVE云,我们不用担心需要去估计在发售日需要多少的服务器。我们也不用满世界的找网络提供商从每个提供商去租用服务器了。我们再也不用维护服务器,更新服务器软件了。这让我们有更多的精力投入到游戏制作中把游戏做得更加的有趣。更NB的,巨硬拥有遍布全球的数据中心,每个人都会的得到一个一致的低延迟的到本地数据中心的连接。

最重要的是,微软提供了一个相比其他方式更容易承受的价格。巨硬的目标是开发出更酷的游戏,而不是为了一分钱而计较的开发者。因为如此,专用服务器方式对于那些不想为了玩家体验妥协的开发者来说是一件更加现实的选择,它会在线游戏带来更多的东西。

Wrapping up…

This is a really big deal, and it can make online games better. This is something that we are really excited about. The Xbox Live Cloud lets us to do things in Titanfall that no player-hosted multiplayer game can do. That has allowed us to push the boundaries in online multiplayer and that’s awesome. We want to try new ideas and let the player do things they’ve never been able to do before! Over time, I expect that we’ll be using these servers to do a lot more than just dedicated servers. This is something that’s going to let us drive all sorts of new ideas in online games for years to come.
I know this got pretty technical and long-winded, so I thank you for reading this far. Hopefully I’ve cleared some things up, and you can see why I’m so excited about what Microsoft has done here and how it is letting us do awesome new things for our game. I’ll see you online in the spring to play some Titanfall on our dedicated servers!

总结一下。。。

XBOX LIVE云计算是一件非常重大的事情,它能够让在线游戏变得更棒。这是一个真正能够让我们感到兴奋的东西。XBOX LIVE云计算让我们完成了使用玩家主机模式无法完成的事情。它让我们打开了在线游戏的界限,太帅了。我们想尝试新的想法让做到以前他们从来没有可能做过的事情。我期望我们能够使用这些服务器区做更多的事情而不是简单的对战服务器。这是一个会让我们在未来的日子里驱动在线游戏新想法的东西。

我知道这篇文章太技术化和太长了,感谢你能够读完。希望我把一些事情讲明白了,你也能够明白为什么我们如此的兴奋巨硬所做的能够让我们在游戏中能够做得这么的酷。我们在春节开战的泰坦专用服务器上见。

玩家评论

相关阅读

手游掌机排行