6

Do you think WCF provides the necessary plumbing out-of-the-box to support an online, multiplayer gaming experience? Particularly, a real-time environment ala WoW, Ultima Online, etc. Why or why or not?

The most important considerations will likely be:

  1. Are the included bindings adequate for such a secenario?

  2. Barring any physical server requirements, would the included bindings meet the performance requirements?

Just looking for your thoughts on the matter!

Thanks

Didaxis
  • 8,486
  • 7
  • 52
  • 89
  • 2
    What kind of online game? It would depend on how often the game state has to update. Is it turn based or real time? – Evan M Jan 09 '12 at 15:25
  • @Evan, I clarified my question. Definitely a real-time gaming experience is what I'm interested in – Didaxis Jan 09 '12 at 15:28

1 Answers1

19

Do you think WCF provides the necessary plumbing out-of-the-box to support an online, multiplayer gaming experience? Why or why or not?

No, not out-of-box. Almost all online gaming uses UDP instead of TCP. This article explains why quite nicely, particularly, take a look at the section "Why you should never use TCP to network a multiplayer game". WCF doesn't use UDP out of the box, so you would have to implement a custom transport.

Are the included bindings adequate for such a secenario?

Yes, the bindings may be adequate, but the transport is not.

Barring any physical server requirements, would the included bindings meet the performance requirements?

The only way to know for sure would be to test it.

vcsjones
  • 138,677
  • 31
  • 291
  • 286
  • 1
    Excellent answer! Very relevant links. Would upvote twice if I could! Thanks – Didaxis Jan 09 '12 at 15:35
  • I did know that UDP is the defacto standard in real-time online games, just wanted to get some opinions. It seems some games, where err, less than real-time is acceptable, you might get away with a polling duplex binding. But I guess UDP is just more suitable in general – Didaxis Jan 09 '12 at 15:37
  • @ErOx I suppose it depends on your circumstances. I would do a lot of testing and experimenting before settling on TCP. One "nice" thing about WCF is if using TCP turns out to be bad, you can change the transport relatively easily since WCF mostly abstracts out the transport implementation. – vcsjones Jan 09 '12 at 15:43
  • I realize the age of this answer but it appears the following month [this was published](https://www.codeproject.com/articles/331599/what-s-new-in-wcf-udp-transport-support). Thought it might be useful. – Slagmoth Mar 21 '18 at 18:09