on Nov 2, 2009
I’m really enjoying Borderlands. It’s on my short list of top games this year. So it’s a shame I have to start off this series on such a negative note. I’ve noticed a trend of of people buying games when I say they’re great, and I wouldn’t want to send you off to the store without issuing this most important warning: The multiplayer support in the PC version of Badlands is contemptible.
There is really no need for things to have turned out this way. Usable networking code is so common and so well-developed that there is no excuse for having a multiplayer game without a seamless multiplayer system. This is not some trendy new tech. Unlike graphics, this isn’t some churning sea of conflicting systems and anarchic innovation. Unlike sound, this isn’t some gadget-driven five-bladed-razor race for more gimmicks. This is sending packets over the internet and having them get there. You can probably go over to Sourceforge and crib whatever notes and lessons you might need from the open-source treasure vault if you find yourself fuzzy on the details. At any rate, under no circumstances should any gamer ever have to set up port forwarding on their router in these enlightened times, for all the same reasons that people should not have to churn their own milk, which they squeezed from the udder of a cow that same morning. We’re past this stuff now. We’ve got this kind of low-level functionality covered. This should all be completely turnkey at this point.
Borderlands uses Gamespy, a service which astounds me each year it continues to not go out of business on account of being cumbersome, unreliable, and utterly superfluous to the needs of the day. Unlike the venerable Diablo II, there is no central server out there to mediate games between plays. If you want to game with friends, then one of you must be the host. If the host is on a LAN (if they’re in a house with multiple computers sharing a common net connection) then that host will have to set up port forwarding. Then that player can host the game. If they disconnect or crash, then you are dumped out of the game without saving, despite the fact that there is no reason no to save the game when that happens. (And I’ve gotten reports that disconnecting like this can possibly erase your entire save, thus obliterating your character. Hasn’t happened to me, but now I live in fear of it.)
The game supports voice chat, without offering any of the options needed to make that work properly. Need to calibrate your mic? Test it? Having trouble hearing other people? Is the game volume too loud compared to the other people in the game? Shrug. Nothing you can do about it. There isn’t even a push-to-talk key. Or a push-to-NOT-talk key. Once you connect, your microphone is live and open during the duration of the play session and there is nothing you can do to get any privacy short of unplugging the mic or logging off. The game doesn’t even tell you this or give any on-screen indication that you’re transmitting, so it’s possible for this to go wrong in all sorts of different ways. You can disable the mic, but only if you can track down the obscure options files and and change them by hand in a text editor.
You can’t kick someone once they enter the game. If someone triggers a level change, then everyone else is pulled through along with them, willing or no. That is, unless someone has a window open. (Visiting the vendor, viewing their character stats, sorting their inventory, etc.) In which case nobody can change levels at all. A few nights ago a friend went to make a sandwich but forgot and left a window open, and everyone else was effectively trapped until Sandwich Guy came back. We could either remain trapped until he came back, or the host could end the game and Sandwich Guy would lose his unsaved progress.
The lobby screen has no chat functionality. If the host is setting up a new game, you need to either have the always-on mic enabled, or you have no way to discuss what sort of game you want to play or what characters you want to use.
In the end, we set up a private game. With even the most basic / crude / obvious player-management tools we would have been able to deal with this sort of thing.
So the Borderlands forces you to host your own games, then denies you the requisite tools to act as a proper host. This would all be forgivable in a game where multiplayer was an afterthought. But this is a game built around the idea of team play, and having such crude and perfunctory multiplayer functionality is abominable. What’s even more mystifying is that Borderlands was built on the Unreal Engine, which has a lot of the client / server architecture built in.
We have gotten multiplayer to work, and we have managed to have some fun sessions of Borderlands, but it was more trouble than it needed to be and continues to frustrate us with its various shortcomings. I’ll review the rest of the game later, but you should keep all of this in mind when contemplating getting the game for the PC.
EDIT: Ah! You CAN kick someone, as a helpful reader details in this comment.
Shamus Young is an old-school OpenGL programmer, author, and composer. He runs this site and if anything is broken you should probably blame him.