Gamasutra: The Art & Business of Making Gamesspacer
The ups and downs of doing online multiplayer as an indie
arrowPress Releases
August 21, 2014
PR Newswire
View All





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
The ups and downs of doing online multiplayer as an indie

May 12, 2014 Article Start Page 1 of 5 Next
 

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."


Article Start Page 1 of 5 Next

Related Jobs

Digital Extremes
Digital Extremes — LONDON, Ontario, Canada
[08.21.14]

UI ARTIST/DESIGNER
Gameloft
Gameloft — Seattle, Washington, United States
[08.21.14]

Creative Director
Yoh
Yoh — Vancouver, British Columbia, Canada
[08.20.14]

Rendering Engineer Job
Yoh
Yoh — Vancouver, British Columbia, Canada
[08.20.14]

Multiplayer Designer Job






Comments


Julian Toker
profile image
"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."

Very clever concept.

Phil Maxey
profile image
Online multiplayer is one of the most difficult things to implement in game development, even in a turn-based strategy game such as I'm developing, the issues mount up if you want the player to be able to see a replay or have an Undo option, but having said all of that when I look back on most of the games I've had most fun with over the years they have been multiplayer games both online and local play.

@clankingdom is going to be online multiplayer only to start with, and my next game after that is also going to be online multiplayer. I think some aspect of playing with or against other people is essential in a game these days.

Sally Monet
profile image
I agree, been working on multiplayer HTML5 game for months, was rather difficult, though I gained knowledge and experience :)

Kiran Nair
profile image
The IGF student showcase 2014 winner, Cyber Heist is a good example of a multi player co-op game executed well.

Martyn Hughes
profile image
Our game, UnitedFootball, is a 4 v 4 online soccer (football) title. And it has been a nightmare... The multiplayer complexities in both the network model, gameplay and even in terms of getting players into games are an order of magnitude more difficult than if we had done a single player game...

Our dev team absolutely hate the fact it is multiplayer due to the above reasons...

Pedro Fonseca
profile image
Nothing exactly new nor defying common knowledge regarding opinions and advices.

Still, very interesting and somewhat reassuring to read it coming from people with way more experience than me, if not for any other reason, just to give me some peace of mind that I'm not being an old geezer telling them kids to stop playing online and all sit on my couch for some local co-op like in the old days.

Daniel Cook
profile image
One thing is often missed about online multiplayer is that it is as much a design challenge as it is a technical challenge. Screw up a few logistical key concepts and if your concurrency isn't high enough, no one gets to play. Matches that require a fixed number of player and synced start times are deadly. You don't design a game and make it online multiplayer. You design an online multiplayer game.

(An older essay on the topic: http://www.gamasutra.com/blogs/DanielCook/20140104/208021/What_Iv
e_learned_about_designing_multiplayer_games_so_far.php)

Local multiplayer is a tricky fallback. It has been around for ages and has some well known drawbacks.

1) It tends to be played by a handful of people that are able to get together regularly in the same physical space. Kids, college students, roommates. Almost all other groups are rarely in situations that allow for couch play. Developers are prone to testing bias here, because they are one of the few groups that plays games together locally. :-) "Hey, we are having fun! So will everyone else." Nope...because they aren't like you.

2) It isn't actually played that often. Most couch games have play patterns similar to board games. They come out on rare gatherings and gather dust otherwise.

3) Since both retention and engagement are low (for 99% of the audience), it is always a premium product. You need to get money up front for a game that the buyers will almost never play. This limits DLC and IAP if this was a consideration.

4) Because the value proposition isn't that great for most players, you end up making a single player game anyway in order to sell it. So scope increases as do costs. Historically, local multiplayer only games don't sell well (10-20X difference) You may not be in it for the money, but a consideration.

All the best,
Danc.

Brandon Wu
profile image
Couldn't agree more! For us, the design challenge resulted in even more technical challenges!

We wanted to avoid having to have everyone start at the same time for a match so that more people can get into a match quicker, and ended up with a RTS-style match with an authoritative FPS-style setup - matchmaking, server instance headaches... Three networking platform changes and now on the fourth iteration, I can't wait for the day we ship *something*! ;-)

(link to game: http://www.pepwuper.com/portfolio/item/my-giants/)

Iain Howe
profile image
Yup. This post is a great self-check and a reminder to craft solutions for your target market - not for yourself. Since most studios have a/multiple couches in front of console setups, we tend to assume that everyone does.

Curtiss Murphy
profile image
I struggled with multiplayer networking for years, until I eventually compiled my lessons into a chapter in Game Engine Gems 2, "Believable Dead Reckoning for Networked Games" (PM me with your email for a PDF copy).

I loved this article! This quote sums it up: "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."

Kevin Fishburne
profile image
My two cents on how I got online multiplayer working in my game:

1) The only player input sent to the server is raw gamepad data or a text string for chatting.
2) The client and server have an incoming transaction queue, outgoing transaction queue and outgoing transaction queue history for resending transactions not acknowledged in time.
3) The server updates different types of world data at different rates so that more important things like player transaction handling take precedence.
4) I use custom UDP transaction/packet handling to enforce transaction ordering and preventing double-execution of inappropriately resent transactions.
5) The server processes all clients each "frame" and concatenates like transactions so they may be sent to a player as a single transaction, reducing overhead when many players are in the same area.
6) Clients receive new data only when it has changed and never at a rate higher than 10 FPS.
7) Clients have "current" and "target" positions/orientations/etc. The current position is what's being rendered and the target position is their true position as sent by the server. The current position is interpolated toward the target position each client render frame. This creates the appearance of inertia and masks latency.

The main things not yet implement that I'll need to watch for are clients sending bad data (too much or too little) that could crash the server and clients flooding the server with a transaction (DoS attack).

Implementing this was my first real experience with network programming, and while I can say it was damned difficult, it wasn't the most difficult thing I'd ever experienced. So if you're going to do it, before you write a line of code, plan it out in detail. You'll save a few burst blood vessels and it will hopefully do what you need it to without being easily exploitable.


none
 
Comment: