There are a number of things you must do to make your multiplayer game truly great. Your users expect an immersive, interactive multi-user experience - one that’s so great they forget they’re playing a game in the first place.
A big part of that is efficiently updating game state in realtime - in other words, seamlessly moving players, carrying out turns, and syncing player actions. There are a number of ways to do this - TCP vs UDP, open source vs hosted infrastructure. But how to power multiplayer games is a topic for another time.
In this post, we’ll look at the social functionality of multiplayer games, all the options available and why social features are so crucial to the success of a multiplayer game. Simply put, players expect to have a voice, and you need to give them it.
Whether it’s a raid party, an entire region of an MMORPG, or 1:1 private chat, gamers require a number of different ways to communicate with one another through simple chat.
Text chat is the simplest way to give your gamers a voice. There are a ton of chat options, from open source protocols like XMPP, to hosted services like PubNub. No matter what option you choose, you can easily build on your basic core messaging with additional chat features like typing indicators, unread message counts and more.
If you want to learn more about the current landscape of chat, check out Building and Powering Chat: The Current Landscape:
Voice chat is heavier-weight than text chat, but necessary for fast-paced games that require rapid communication.
Many game studios choose to offload voice communication to a 3rd party service instead of building it themselves. Recently, EVE Online, a massively successful MMORPG retired their integrated voice chat (as well as separating their chat infrastructure from their game servers). They found that already 0.4% of users were using their native voice chat, and most users were already using third party tools liked Discord and Teamspeak.
In some cases, voice chat delivers something forever timeless:
Push notifications are essential for driving and retaining engagement for mobile games. They re-engage players to log back onto the game, whether it’s a game update, an offer or a message from another player.
There are a number of best practices for push notification strategy. Unique, personalized push notifications on a regular cadence builds trust with your player base and will more likely convert into activity or more business for your game. Timing is key as well, so knowing what time zone your players in gives you an advantage (and keeps you from sending push notifications in the middle of the night). Lastly, you can time push notifications with events that happen in game to bring other connected players into the game at exciting times.
Celebrate the achievements of your players! Giving gamers public recognition for their success, and encouraging others to top them, realtime leaderboards are a great way to drive time on a game.
Leaderboards have been around gaming for decades. The OG leaderboard existed on the rest screen for classic arcade games where users could submit their initials next to their high score. As multiplayer games hit the mainstream, leaderboards are a great way to pit gamers from across the globe against one another, and motivate players to continue playing to top the competition.
And as a game developer, even more fun, they’re incredibly flexible. Geolocation, a wide spectrum of attributes, and player level all give you the opportunity to build in-depth leaderboards to surface the statistics your players love, and players didn’t know they loved.
User lists deliver a realtime view into who’s online and who isn’t. It’s the gateway to social interaction for multiplayer games, and lets you find, invite, and message individual friends or groups. Multiplayer games of all shapes and sizes require a realtime user list.
The core technology for building a realtime user list uses presence events. Presence events assign a UUID to each user then updates when a client joins, leaves, times-out, or changes state. Rather than using traditional request/response and having your system continuously ask “Are you still there? Are you still there? Are you still there?” until the user leaves, consider a HTTP long polling or websockets approach, where events are sent only when changed.
As games become more cross-platform and cross-device, building social features that work seamlessly for each player will become increasingly more challenging. And to differentiate your game from the competition, you need more social features, without sacrificing performance of the game itself.