Since launching Marvel Puzzle Quest in October, the team at Demiurge remained focused on iterating on our existing feature sets. We took this approach because our existing systems weren’t functioning at their full potential. Teams developing free to play games should always feel that there are too many awesome ways to improve their retention and monetization. If you’re out of great ideas for how to improve your key metrics, that is cause for concern.
We ship new versions of the game about every two weeks, which is about as fast as Apple gets them through certification. We are big believers in “small batch” development, but that philosophy is at odds with adding major features to the game. In this part, we’re going to diverge from the focus on monetization optimization to discuss how and why we added Alliances to Marvel Puzzle Quest.
The goal of alliances
While this series focuses on ARPDAU (average revenue per daily active user), the reason Marvel Puzzle Quest is successful is that our game does a good job of encouraging spending over a very long period of time. We like it that way — rather than fostering an ecosystem of whale-centric burst spending, we covert players steadily. We believe we’re providing a valuable service to our players, and they reciprocate by throwing us a few bucks every week. The data bears this out — about 8 percent of our players in March spent money in the game, and a healthy portion of our revenue is coming from players who started playing way back in October.
At the same time, our position in the market wasn’t defensible. We want players to be enjoying Marvel Puzzle Quest for a year after they started playing, but we built a game that achieved stickiness because it was “addictive”. There’s plenty of other “addictive” games out there. If we’re going to build truly long-term value, we need other reasons for people to keep playing and social connections are one of the best tools we have as developers.
As you can see, user acquisition remains a challenge for us as much as everyone else in mobile. You might think the Marvel license alone would peg us in the top-100 most-downloaded games, but there are many Marvel games out there. Aside from a simple Facebook sharing mechanic, we had no in-game systems for players to ask their friends to start playing.
Version 1: Not Viable Product?
The “minimum viable product” version of Alliances seemed huge — far too big for the handful of developers that were available for feature development to cram into our two-week release cycle. To get around that, we simply decided to launch the feature before it actually did anything.
For our first release, players could create a small alliance for a small soft-currency fee. Players could search for Alliances by name and join them. You could view the names and rosters of your alliance-mates. That’s it. You couldn’t interact with your alliance in any way. Any player could join any alliance. There was zero gameplay.
And players loved it. In the first few days in the launch of the low-functionality Alliances, 8,000 players spent the currency to create one for their friends. The lesson here was clear: Don’t hold back on cool new development efforts just because they’re not finished. Our players are also fans of the game, and they will gleefully take up new features even in a skeletal state.
Version 2: Moderation + Events
Next, we added some very simple moderation. Founders of the alliance are called “Commanders” and have the power to kick players out of their alliances and promote other players to be Commanders.
We also added the ability for Commanders to spend hard currency to expand the size of their alliance. Because it’s a durable good and because we didn’t want to create a high barrier to entry for socialization, we kept the price of these quite low. Essentially, if every player in an Alliance kicks in $0.25 worth of hard currency (which they can also earn), the alliance can expand. Even without any gameplay, many of our players still opted to spend their precious hard currency expanding their alliances! Currently, this spend makes up 1 percent to 2 percent of the daily hard currency spend in the game.
We wanted to drive engagement and improve user acquisition with alliances. For our first features, we wanted to select things that both seamlessly fit into the existing game and advanced our long-term goals for Alliances. Because we believe that players who engage with the social mechanics in the game are inherently more valuable to us than those that don’t, we decided our KPI (Key Performance Indicator) for Alliances would be the percent of our active players who are in alliances.
In our third revision of Alliances, we added a leaderboard to events that shows the top-performing alliances and moved some of the standard rewards from the single-player list over to the Alliances list. This fit elegantly into our UI, required essentially no new functionality, and simultaneously made alliances an integral part of our gameplay.This change has one big downside that we will eventually need to combat — the rich keep getting richer. All gameplay patterns follow a power-curve, but Alliances actually make that curve even steeper. The best players coalesce around the top Alliances leaving everyone else behind. As our player-base matures, we’ll eventually implement mechanics to combat this pattern but for now we’re happy to have a world where our best players are organizing online and enjoying some exciting competition.
Version 3: Social
To help with user-acquisition and long-term stickiness, we needed players to encourage their friends to join the game and apply some light social pressure to get existing players to play regularly. Again, trying to remain within the box of our existing systems, we added three small features.
The first is the ability for players to view how much each other players in their alliance is contributing to the total score. This leaderboard also encourages some friendly competition by highlighting the top-3 contributors. Our hope is that this will encourage socialization outside of the game with players actively kicking underperformers out of their alliances and recruiting higher-end teammates. Because we always have two or three events going on, this also enables players to coordinate among themselves, distributing efforts across the various events.
To facilitate better planning, we added real-time chat to the game. From a development standpoint, this could have been a monstrous effort, but we hunted around online and found several companies who offer high-speed messaging backends. We settled on PubNub and have been very happy with it thus far. We breadcrumb players into chat by showing a “!” over the Alliances icon in-game
The third and final social feature, which just went live last week, is tied into our daily rewards. If you’re not an alliance, we breadcrumb you into the Join Alliance UI every day. Once in an alliance, we grant every player a bonus that scales up based on how many of their fellow Alliance-mates joined that day.
After sizeable development effort, it’s still very hard to quantify the impact Alliances have had on our retention and monetization. I think free-to-play development teams are often focused on features that move a KPI or are easily quantifiable, but the primary driver of success in mobile is long-term retention. Building a causal connection between a feature and long-term retention is nearly impossible. In a way, that makes me really happy. In lieu of a metric, we are forced to ask ourselves the same question we did when we were building console games: “Is it fun?”
Next up, we’ll get back to numbers with a close look at how we measure event performance using some newly-implemented metrics.