5 ms·
I'm probably going to use Erlang for the server side component of my next MMO (I created Forumwarz, a web based MMO in Ruby on Rails.) So this was a very intere
by EvilTrout 17y ago
I'm probably going to use Erlang for the server side component of my next MMO (I created Forumwarz, a web based MMO in Ruby on Rails.) So this was a very interesting find.
It's curious that the author uses TCP. Almost every high performance game uses UDP, as you don't care about lost packets or the order 99% of the time. You just want the latest information.
One reason might be to use Flash for the front end. It does not allow UDP sockets at this time.
- deleted 17y ago[deleted]
- simplify 17y agoTCP vs UDP is a hot debate. It really depends on the type of game you're trying to build. http://www.gamedev.net/community/forums/topic.asp?topic_id=319003 http://www.gamedev.net/community/forums/topic.asp?topic_id=3... As an interesting note, World of Warcraft uses TCP.
- oconnor0 17y agoDoes WoW use TCP for all communication?
- eggnet 17y agoAll client-server communication. No idea about server to server communication.
- EvilTrout 17y agoWow, very interesting thread. I read the whole thing and stand corrected.
- jmatt 17y agoYa thanks for linking the thread. EvilTrout - Just to verify your previous statements - I remember when I took networks in the 90s my professor told us UDP was the way to go if reliability wasn't a requirement and performance was important. (less overhead, and of course better latency, etc.) That was the how Everquest successfully implemented it. Many of the EQ players were using 9600 baud dial-up and were very happy with network performance when it first came out. Not to say they didn't have problems at the beginning. But they have long had an awesome hybrid (UDP/TCP) solution that's been tested for a decade. It's interesting that we've hit a turning point with WoW. I can only imagine how much more pleasant it must be to code using TCP instead of a custom UDP protocol. It also may explain some of the odd network behavior that was "solved" circa 2002 in Everquest but occasionally happens in WoW today.
- wlievens 17y agoI think that once you get your abstractions straight, it's not that much more uncomfortable writing for UDP or TCP. I could be wrong, in which case I'd love to hear why.
- patio11 17y agoSo if I were very hypothetically having recurrent dreams of making my next Rails app a game, what would you tell me to bring me to my senses?
- EvilTrout 17y agoIt depends what kind of game you're creating. For the kind of game we built it was a huge win. Some of the features were deployed in days. Ruby might be slow, but in my experience as long as you give it a lot of RAM to play with it can give you great performance (we have over 200k registered players). Of course, we also cache data heavily using memcached.
- patio11 17y agoAs long as I have you on the line, do you have any nuggets of wisdom for front end development? I was very impressed that the core gameplay appeared to be just Javascript, AJAX, and lots and lots of bubblegum.
- EvilTrout 17y agoFeel free to email me if you have questions about it :) I feel like we've derailed a bit here. You can reach me at my username at forumwarz.com.