Slashdot Mirror


Why Is It So Difficult To Allow Cross-Platform Play?

cookiej writes "I just got the most recent version of the Madden franchise ('10) for the PS3. Can somebody explain to me why EA has separate networks for the different platforms, only allowing players to compete with people using the same console? Back in the day, there were large discrepancies between the consoles, but these days it seems like the Xbox and the PS3 are at least near the same level. After so many releases for this franchise, they've got to have a fairly standardized protocol for networking; it seems arbitrary not to let them compete. Or am I just missing something obvious? Is it just a matter of Xbox Live and the PlayStation Network not working together?"

16 of 389 comments (clear)

  1. vendor lock in by spiffmastercow · · Score: 5, Insightful

    That was most likely the decision of MS and Sony respectively. EA is evil, but you can't blame them for everything!

  2. Obvious by marcansoft · · Score: 4, Insightful

    MS and Sony (and Nintendo) want you to use their respective online frameworks. They obviously aren't compatible or interoperable (different name/nick/whatever namespaces, different friends lists, different registration procedure, etc).

    You can't have cross-platform online interoperation unless EA uses an entirely custom online framework that is identical among platforms. The console manufacturers wouldn't be too happy about that, and neither would gamers (who want to register once and maintain one friends list for all games, not once for each vendor or game).

    The only sane solution would require heavy cooperation between all console vendors and standardizing quite a bit of the online experience, but that's never going to happen (at least not this generation).

    1. Re:Obvious by Laminan · · Score: 4, Insightful

      This reminds me of the classic prisoner's dilemna and nash equilibrium. Clearly if they all cooperate they could create a common platform that would allow people to use software across their hardware platforms. But those who do not participate and get exclusive titles, would then be at an advantage. People might buy their 'one extra' console just to get those exclusive titles. It is silly, but that is a peak in the mind of a video gamepublishing exec.

    2. Re:Obvious by Sparton · · Score: 4, Informative

      That's pretty much it. My buddy is a test coordinator at EA, and his stories about games failing for the stupidest guideline violations never ends.

      And I think that's what it's really about: each company has their own guidelines (from Nintendo's save screen longer than 0.15 seconds has to have a message that you can read, to Sony's all of "PLAYSTATION 3" has to be capitalized). If a version of the game was submitted to one console maker, got passed, but failed at a different one, that means they need to change code for a version and still make sure it's compatible with the older versions that passed under someone else's watch.

      And never mind shinanigans related to updating the game (or virtual lack of ability in Nintendo's case).

    3. Re:Obvious by Anonymous Coward · · Score: 5, Interesting

      Posting Anonymously for this. There is no software reason why the two consoles don't share games. In development as an online engineer for another title (I don't work on Madden so I can't say for sure for them) I've actually done some game play tests between development consoles, it helps work out some uninitialized values and corner cases that cause online crashes when dealing with sloppy programming. But development consoles can work in non-secure mode, retail consoles can't. As developers we have to send everything out as secure. That means that a PS3 can't talk directly to a XBox360. The consoles can't even talk directly to the servers, instead they have to go through gateways that decrypts the data. The gateways are located centrally, and you can bet that Sony's gateway isn't going to talk to Microsoft's gateway (And I'm leaving a hell of a lot out here), so that means for one console to talk to another console it has to hit a central server, adding three machines, and a lot of hops/latency to the mix.

      The gimped up networking layer is one of the reasons I'm glad I got out of online development, and into a much less stressful area. Everything, and I mean everything, can @#$@ up online, and its up to the online engineers to fix it. Someone forgets to initialize a variable in the game play engine, a bug only appears online, its up to online to find it, going though code that they haven't designed, written or looked at before. I've even had a mistimed animation cause a disconnect on me. That makes online very conservative, and you could say very religious as in 'please god don't let it @#&$ up on my watch'. The typical Online engineer is only about 5 hours from burn out, they aren't going to suggest xbox 360 - PS3 gaming. Besides I'm pretty sure that both MS and Sony have their lawyers on the case that you can't interpenetrate between the two. But also Online Engineers want to help make a great game. And they would love to add in cross platform play if they could, and if they had the men to do it, don't get me wrong about it, but online has never been a focus in most sports games, and are constantly over capacity.

    4. Re:Obvious by Toonol · · Score: 4, Insightful

      I disagree. The question is why doesn't EA treat its software like any other game maker who puts out a PC title.

      Because it's flatly not possible for EA to do that. The console manufactures have strict guidelines about online play, and without their authorization, a game doesn't get published. It's possible for Sony, MS, and Nintendo to allow it; but it would be an unlikely exception.

    5. Re:Obvious by non0score · · Score: 4, Insightful

      Unless a cross-platform game company is willing to release their figures, I can't really cite a source. Even then, they can only release their numbers for the GPU (for obvious reasons).

      To put this into perspective, let's just consider writing a game on the PS3 using console methodology vs. PC methodology. To begin with, you gain >50% performance just switching from PS3's OpenGL implementation to libGCM (15fps to 25fps...sad, I know). Then you consider the fact that you can carefully maintain your buffer states, early Z, double Z, special caches, etc...which is about 5~15% performance PER item (in addition to the fact that you can reinstate the buffer states). Then you consider the fact that you don't need to flush the rendering pipeline (~0.Xms per full flush), custom MSAA resolves (saves passes), hidden functions not exposed on PC hardware, texture bandwidth vs. computing power trade-offs, less worry about batched draw calls, etc.... In the end, it adds up to >50% performance loss going from hardware-specific to hardware-agnostic with an abstraction layer (DirectX or OpenGL). Put it another way: PS3 can push out about a couple million polygons per frame with all sorts of effects and stuff. You'd be hard pressed to find a PC game with a cross-hardware engine pushing out the same render quality at half the framerate.

      On the other hand, the Intel CPU is way powerful and there really isn't a way for me to compare that vs. the PPC derivatives on the consoles. But trust me when I say that I've seen 1000X speedup by going from excellent C code to highly optimized ASM, which you can only feasibly get by working on a fixed hardware. However, I'm going to stop giving more details as I don't want to break NDA (everything I've said can be found on the web at very legitimate sites). If you want to know about the inner workings of the GPU (and maybe the CPU), you can always check out blogs such as Wolfgang Engel's (and remember to read comments!) or other GDC/SIGGRAPH presentations.

    6. Re:Obvious by non0score · · Score: 4, Interesting

      I admit I didn't read over my own comments very thoroughly. I meant to compare everything using (more or less) equivalent GPU hardware (obviously can't do the same for CPU, unfortunately). What I was answering is the question about how would a developer get a 100% boost going from a hardware-agnostic engine to a hardware-specific engine (or 50% loss in the reverse direction).

      That being said, all my statistics are based on actual profiles -- you really can't beat seeing a 5% performance drop by deliberately adding one single line to invalidate a GPU cache state in the middle of rendering your scene.

      In addition, I would argue that the CPU (on the PS3) coupled with the architecture is actually more flexible than that of a PC. Have you heard of a PC game developer explicitly writing the framebuffer back to main memory in the middle of a rendering just so they can do post processing on the CPU? And that's the type of post processing that you can't get until DX11 hits (scatter, arbitrary ordered writes, etc...). Furthermore, I'm not sure what why you look down on tricks. Isn't any modern day real-time rendering just based on "tricks?" Isn't rasterization itself a trick? Unless you think all the games out there are solving full global illumination in real time, otherwise I think you can classify every one of them as a collection of tricks for all sorts of specific situations. And to answer your last point, post-processing isn't exactly free.

  3. well I'm sure it varies from game to game by JeanBaptiste · · Score: 5, Funny

    but I do know that the keyboard+mouse guys would _destroy_ the gamepad people in any sort of FPS.

    also emacs is better than vi.

  4. Re:FLOATING POINT IS NOT CROSS PLATFORM by ShadowRangerRIT · · Score: 4, Insightful

    For the two systems mentioned (Xbox 360 and PS3), they're both using variants on the PowerPC architecture. While I can't be sure, I believe both chips use IEEE floating point numbers (outside of Crays, most chips nowadays at least have the option of using IEEE floating point), so the errors should be identical. I think the bigger problem is that the networking protocol for these games is usually licensed from the console maker, using the console maker's servers for matchmaking and the like, and it's considered to be less of a hassle to program against two different APIs than it is to write a single network protocol from scratch and maintain the servers required to support it.

    --
    $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
  5. Re:My prediction by oneplus999 · · Score: 5, Informative

    One may be more comfortable, decreasing the cognitive dissonance associated with translating mental (re)actions to hand actions.

    That's not what cognitive dissonance is. Cognitive dissonance is when you take an action that contradicts or is not explained by your beliefs about how you should have acted, and you change your beliefs after the fact in order to explain the action you took. It is not just when you have some kind of mental uncomfortableness. I'm sure wikipedia has examples.

  6. its a really simple answer by Nyall · · Score: 5, Funny

    PS3s are big endian machines.
    Xbox 360s are little endian.

    Q.E.D They can't talk to each other.

    --
    http://en.wikipedia.org/wiki/Jury_nullification
    1. Re:its a really simple answer by SEE · · Score: 4, Funny

      Is that a big-endian 11 or a little-endian 11?

  7. Re:I'm thinking.,.. by Toonol · · Score: 5, Insightful

    No. The different consoles have different requirements for online play, and they aren't necessarily compatible. XBox live requires play through MS's servers and a live account. Sony requires companies to host their own. Nintendo has friend code requirements. It's not nearly as simple as the summary makes out.

  8. Re:I'm thinking.,.. by BigDXLT · · Score: 5, Insightful

    The point is, it should be simple, but it's been made difficult for asinine reasons.

  9. Re:OT: who to blame for economic woes (vendor lock by mrsteele · · Score: 4, Insightful

    Seriously? Fucking insightful? I hate seeing this same meme bandied about.

    There were multiple actions by the government that worked together with a firm belief that housing prices would continue to rise to cause this situation. Deregulation by one party. Broadening lending standards by another. Bankers who found ways to make money that while not illegal, required a firm willful ignorance of potential future calamity.

    No one group is responsible for this, and to try and claim otherwise shows a complete misunderstanding of the situation.