The ups and downs of doing online multiplayer as an indieBy Mike Rose
With the recent launches of local multiplayer games like TowerFall, Samurai Gunn and Sportsfriends, players are making their arguments for the inclusion of online multiplayer.
For developers, the issue of online multiplayer goes something like this: Sure, adding online multiplayer to your game is massively time-consuming, very costly, and not exactly the greatest fun you'll ever have -- but it can potentially bring in multitudes of extra players and sales, so it's always worth it, right?
Of course, we all know this isn't always the case, thanks to as plethora of examples were developers have put time and energy into including online multiplayer options, only to find that no-one bothers using them, and expensive servers remain dead and empty.
So when is the right time to add online multiplayer to your game, and how much effort is it going to take? Gamasutra talked to half a dozen developers who have integrated online multiplayer features in their games, to find out what the experience was like, and whether they'd do it again.
ibb & obb is a co-op platforming in which two players work together to tackle a variety of puzzles and obstacles. The game was released on PlayStation 3 last summer, and is about to hit Steam on May 26.
Richard Boeser from Sparpweed Games tells me that, "deciding whether or not to go for online multiplayer was one of the hardest decisions, and I could probably talk a full hour on that."
The original plan was not to include online multiplayer in the initial release, and perhaps add it in later if the game sold well. However, Sony warned the team that co-op games on PSN were rarely local multiplayer only, and that it would be wise to invest the time in online co-op.
"I will definitely stay away from it if the game mechanics require accurate player-player interaction."
"We weren't fully convinced as we figured that on console most players would playibb & obblocally," says Boeser, "and we also felt it was by far the best way to experience the game."
So Sparpweed put Sony's advice on the backburner and chugged on with their local-only approach. However, as development drew close to completion, Boeser and co. had a change of heart, and the decision was finally made to postpone the launch in order to add online multiplayer.
Eight months later, the online multiplayer for ibb & obb was finally ready, and the game could release.
"For ibb & obb it was quite difficult," Boeser admits, "mostly because the interaction between the two characters is crucial. The players can push each other and need to be able to accurately jump from each other's head. Also the way our system works is that your own character never has lag and the other character is updated as well as possible. This makes it a lot more complex than just having one host and a laggy client."
It was the real-time collisions and precise timing that caused the most trouble when implementing online multiplayer, he notes. For a turn-based game it's easy enough, but when you're talking split-second movements and reactions, the difficulty level goes way up.
Looking back, Boeser isn't so sure that adding online multiplayer to the PS3 game was that important, since the game turned out to be perfect for couch play. However, he's happy that they did add it as, for the upcoming PC version, he believes far more PC players are going to want to play it online.
But would he do it again? Not in the near future, at least. "I will definitely stay away from it if the game mechanics require accurate player-player interaction," he notes. "Also, local multiplayer seems to be on a rise and we see local-only games appearing on PS4 even."
"I would be very surprised if we ever build online multiplayer into Chalo Chalo," he adds of Sparpweed's next game.
But having said that, he does admit that there's "something magical" about being able to connect with other players around the world.
"Journey showed that you can use this in elegant new ways," he says. "I'm sure I'll explore that some day in some game."
His advice to other indies considering adding online multiplayer to their games: "If your game is most fun locally and if adding online isn't going to be a piece of cake, then don't do it."
"If your game is most fun locally and if adding online isn't going to be a piece of cake, then don't do it.
Another game with an interesting online multiplayer history is Chompy Chomp Chomp, an arcade co-op chomper from The Utopian World of Sandwiches. The game is currently available on Xbox 360 and PC, and is coming to Wii U this year.
Interestingly, the Xbox 360 version features online play, while the PC version is local-only -- according to developer James Woodrow, this was down to online multiplayer in the PC version being too difficult to implement and test.
"The real difficulty for us was the type of game we were making," he notes. "Chompy Chomp Chomp is twitch-based, all on one screen, frantic and fast. Lag is unavoidable and it can ruin this type of experience."
All games have these same online problems, he reasons, but certain genres can hide the issues to make them less apparent. In a first-person shooter, for example, each player has their own view of the world, so it's easy to correct a server-based issue from their line of sight.
"This was our biggest challenge," he adds. "We did our best to optimize and move as little data as possible over the network to minimise this issue. It was never going to be perfect."
So when it came to making the decision about whether or not to add online multiplayer to their game, Woodrow and his partner in crime Sarah Woodrow asked themselves whether doubling the game's development time to add online multiplayer was worth it.
"With the Xbox version we felt that it was important that we at least offered it," he says. "There were only two of us and it was only a six month development overall. We felt it was worth it, but whatever time you think it will take, add lots more to make sure that you have enough time to polish and test the online experience."
Notably, Chompy Chomp Chomp was designed to be a local multiplayer game, with online added later on -- and as such, it turned out that playing the game locally was more fun than online.
"If you want to deliver a solid online multiplayer game, I think it would be best to focus on that context and experience," Woodrow muses. "You need to make design decisions around delivering the best online experience that you can, and take that into account throughout the whole design process. If you add it as an after thought it will be a lot harder to implement and deliver a good experience to your players."
"We had a hypothesis that people would get their friends to buy the game so they could play it online together. We haven't found any evidence that this happened."
So was adding online multiplayer to Chompy Chomp Chomp worth the three months of development time? Says Woodrow, he's glad he added online multiplayer to the game, but that doesn't mean it's had a great effect on sales.
"We had a hypothesis that people would get their friends to buy the game so they could play it online together," he explains. "We haven't found any evidence that this happened. From what we can see it was more people evangelizing the local multiplayer experience that got their friends to buy it."
Going into the Wii U version, the team has taken these lessons learned about the popular local multiplayer aspects, and are applying them to an enhanced version for the Nintendo console.
But on the flipside: "We also wanted to deliver a game that showed what we could do, as it was our very first game," Woodrow notes. "It was a good achievement, and we've had some amazing feedback based on it. Some of our players are incredibly happy that we added online and we made it for them."
As for Utopian's future games, the team plans to always focus more on local multiplayer than online play.
"Online play will never be perfect for everyone," he concludes, "so make the decision based on whether or not it matters to your players. We decided to give our players a choice. It may not always be a good thing to offer that choice."
Dan Marshall of Sive Five Games dabbled in online multiplayer for the first time last year, when he released Gun Monkeys, a one-on-one monkey-based shooter where players grab big, silly weapons and attempt to blast each other to pieces in compact arenas.
For Marshall, adding online multiplayer to a game is not an experience he plans to have again any time soon, and while he feels like it was a great lesson in video game design, he kinda wishes he hadn't bothered in the first place.
"Multiplayer's a constant pain," he tells me. "Even something simple, like testing a new chunk of code to see if it's working, means setting up a couple of instances of the game. It might not sound like much, but it just slows everything right down. Building the game, getting it set up, and then recreating a bug across two instances by yourself can take forever."
"There are just so many balls to juggle at the same time, and if it crashes and burns it's instantly more problematic."
As with my other interviewees, the main problem was the twitch-based action in Gun Monkeys. Marshall ended up having to essentially predict where objects were going to be and funneling that data through to each player, rather than using information on exactly where objects were.
"If you're got a huge amount of money it's possibly something you can circumnavigate," Marshall reasons, "but by-and-large I think the best way to get around all these issues is to just focus on single player."
But it's not just the twitch-based issues that make online implement difficult, says the dev, as he notes that even the best-selling online multiplayer games are going to struggle to have loads of players online, looking for online games, all at the same time.
"Gun Monkeys was designed with the intention of avoiding the playerbase problem," he says. "It wasn't supposed to be a game where you logged on looking for a stranger to play."
"The trouble is, that's not the mindset people have," he continues. "People ignored the messages, and just got angry when they couldn't instantly find a game with someone at 3 a.m. That's the issue indie devs need to take away and think about - the mindset of gamers seems to be largely one of expecting everything to come to you, not to go to any effort organizing things yourself. I designed Gun Monkeys around that principle, and sadly it still didn't really work."
If he had a time machine and could go back to the start of Gun Monkeys development, would be put online multiplayer in the game again?
"Hah, definitely not," he laughs. "It was a great lesson, and the game's done well enough that I'm pleased with it, but I think the stress of running something online is different to the stress of launching something single player. It's like nothing else. There are just so many balls to juggle at the same time, and if it crashes and burns it's instantly more problematic."
And don't expect any more online multiplayer games from Marshall anytime soon. "It's something I'm really interested in, and it was a fun experiment," he notes, "but I don't think the process made me very happy and that's the point."
"I love my job, it's fun. I am exceptionally lucky to be doing this as my job. But making and launching a multiplayer game was arguably the most stressful thing I've done as an indie developer, and I enjoy my job and my life too much to mess around with all that sort of stuff again."
"Making and launching a multiplayer game was arguably the most stressful thing I've done as an indie developer, and I enjoy my job and my life too much to mess around with all that sort of stuff again."
Klei Entertainment has played around with local multiplayer various times before, including with its Shank games, but Don't Starve is the first time that the studio is adding online multiplayer to a single player game. (The studio's first game Sugar Rush was due to be an MMO, but it was eventually cancelled.)
The online co-op is being added to Don't Starve more than a year after the initial release on PC, and for the team, latency and bandwidth have been the number one concern from a technical standpoint.
And echoing Dan Marshall thought's, Don't Starve design Jamie Cheng tells me that, "from a design perspective, having enough players so people can find other players is usually the biggest concern."
"Luckily, Don't Starve has a very large active player base, so at least the second concern is resolved," he adds. And judging from Cheng's experience with Don't Starve it sounds like the team isn't having the most difficult time implementing online play, as he tells me, "We will certainly be making more multiplayer games in the future, as long as it makes sense for the game."
Dutch studio Ronimo Games has had plenty of experience with online multiplayer games, first with 2D strategy game Swords & Soldiers, and most recently with theAwesomenautsseries.
"Online multiplayer is the most complex part of game development there is," says developer Joost van Dongen, bluntly. "Adding online multiplayer roughly doubles the programming time needed to make a game, especially if this is the first time for a developer."
And the complexity of your game is the resounding factor in just how difficult adding online multiplayer to your game is going to be.
"Awesomenauts is much bigger than Swords & Soldiers," he says, "so in Awesomenauts we had serious issues with getting the bandwidth low enough, while this was automatically okay in Swords & Soldiers. We spent a lot of time on bandwidth optimisation."
"Online multiplayer is the most complex part of game development there is."
The preception that most indie devs have about adding online multiplayer to games is usually wrong, he reasons. Most programmers think it's going to be the core issue of gameplay synchronization, when in reality this is just a tiny part of the total amount of work required.
"There is at least as much work in things like matchmaking, handling invites and handling network errors," he explains. "Especially complex and time-consuming is the combination of all of these things: what if the user accepts an invite during the intro cinematic, then accepts another invite during the loading screen towards the game he tried to join, and then gets a network error in the second loading screen towards that other invite he tried to join?"
It's all these strange situations that online multiplayer presents that prove the most time-consuming when implementing online multiplayer in your game.
"Any programmers I have met who had never made a commercial-quality online multiplayer game hugely underestimated this part of building multiplayer," he says, adding, "Anyone who has never made online multiplayer before should only do so if they think it is an essential feature for their game. It is so much work that online multiplayer should never be made as 'just an extra.'"
On the other hand, he notes that Awesomenauts has proven to be a big success for Ronimo thanks to the online multiplayer options, and his studio is very happy that it made the effort to add these options.
"If you manage to make a successful online multiplayer game like Awesomenauts, this can sustain your studio for years," he notes. "Awesomenauts has been out for two years now and is still very much alive, which would normally not happen to a single player game that people just finish and that's it. Having this kind of competitive community is incredibly cool and online multiplayer is a great way to create that."
"Whether we would do it again depends on whether it fits whatever we are making," he says of the future for Ronimo. "It is a huge investment and in some games it would be worth it, while in others it would not."
Finally, we turn to another Dutch studio that knows a thing or two about online multiplayer in twitch-based games. When DoubleDutch Games first built SpeedRunners for Xbox 360, the game was local-multiplayer only -- but the move to PC sparked the idea of adding online play into the mix.
Very quickly, DoubleDutch hit a wall, and simply could not get theSpeedrunnersexperience to work in an online capacity. Fortunately, as documented before on Gamasutra, the team at Ronimo was happy to give the team some tips.
"If you manage to make a successful online multiplayer game like Awesomenauts, this can sustain your studio for years."
"Implementing online multiplayer was very difficult," developer Casper van Est tells me. "People always warn you about it, and even with that taken into account, it turned out more difficult than we expected. We're a small two-person development team, so we already knew implementing it was going to take a while, but it ended up taking us several years."
One of the main reasons that it took so long was because the team was being too nitpicky about it, trying to implement online play as perfectly as possible, which resulted in a system that was simply too complex to pass across a network to another player.
"We started out implementing online multiplayer more or less along the lines the way Valve did it, which involves complex things like input prediction and interpolation to compensate for lag," he tells me. "Even for a relatively simple game like SpeedRunners, this turned out to become very complex very fast."
It was after watching a talk from David Aldridge, the lead networking engineer on Halo, that the DoubleDutch team realized the most important thing about implementing online multiplayer: "It's not about creating a world that is the exact same for every player - it's about creating an experience in which each player believes they're operating in the same world as the other players."
"This means that not everything has to work perfectly in-sync on each player's screen," adds van Est. "It's more about creating a consistent experience in which all players agree on the 'bigger' gameplay events (such as who scored a point), while small differences are allowed (such as at which exact location a player or a crate or whatever is at)."
Taking both Ronimo and Aldridge's advice into account, DoubleDutch found online multiplayer development progressing at a far quicker rate.
"I wouldn't say the implementation of online multiplayer in SpeedRunners is perfect - in fact it's far from it," admits the dev. "But at least it's working to a degree at which players do believe that they're in the same game world as their opponents, resulting in an enjoyable game experience."
This is the most important advice that any developer looking to implement online multiplayer should take note of, he says -- don't try to make everything perfect from the start, or else you'll end up with months of creating complex systems that simply don't work properly.
"It's more important to get something working," he adds. "Once you've got that rough, first, buggy version up and running, you can start improving specific areas, while setting up tests so that people can actually use it in the wild. That way, you'll focus more on the important parts. It also gives you a better sense of progression, which is important in keeping up morale."
And, he adds, if you are planning to implement online multiplayer in your game, you should really be doing it from the get-go. "We tried to add it on after the main game was already more or less finished, which turned out to make everything that much more complicated," van Est says.
"It's not about creating a world that is the exact same for every player - it's about creating an experience in which each player believes they're operating in the same world as the other players."
For DoubleDutch, they were convinced that online multiplayer would add large-scale value to the game, and they turned out to be right. van Est doubts the game would have been as successful as it has been on PC without online multiplayer.
"People nowadays seem to prefer playing online against their friends, rather than invite them over to play on the couch, especially PC games," he reasons. "However, it's important to realize that online multiplayer and offline multiplayer are two very different things, not only from a technical standpoint, but also in terms of gameplay. A lot of things that work well in an offline setting, playing with friends on a couch, don't necessarily translate well into an online environment, where you're playing against strangers."
And another advantage of successfully implementing online multiplayer into your game, notes the dev, is that in the eyes of players, you'll have an advantageous selling point over your competitors.
"I'd love for our next project to be another online multiplayer game, even if that's going to be difficult," he adds. "In the end I think it comes down to what your passion is, and for me that's bringing people together using games; whether that's improving the bond between friends of making new friends."
"I believe the best way to do that is through online multiplayer games, so that's what I want to make, as difficult though that might turn out be."
Return to the full version of this article
Copyright © UBM Tech, All rights reserved