The problem, in a nutshell. These guys are not aware of each other. Like, at all.
Interaction is the life-blood of cooperation, by which I mean that cooperating without interacting is literally impossible. However, encouraging interaction between players can be a challenge, especially in a genre where each player’s attention is so selfishly monopolized by the task of navigating their own little ship through a sea of bullets.
After implementing the player-reviving and credit systems mentioned in the previous section, along with other core gameplay mechanics like the Vaunt shield, we identified five major interactions that tended to happen between playtesters:
- Players use Vaunt shields to protect each other from certain death.
- Players inform other players that they have just died, in the hopes that their resurrection will be prioritized by those who still live (and to make sure they know that they’ve lost a gun).
- Players encourage the last player left alive to stay that way, usually by jumping up and down on the couch while bellowing something along the lines of STAY ALIVE, STAY ALIVE YOU CRAZY SON OF A- FOUR MORE SECONDS FOR GOD’S SAKE JUST HOOOOOOOLD OOOOOOOOONNNNNNNN and so forth.
- Players bring their dead teammates back into the action by grabbing Revive Tokens.
- Players say thank you when a teammate just did them a solid (i.e. shielded them, revived them, or just helped kill a big scary monster that was giving them trouble).
We came to realize that these interactions were happening because we had empowered the players in a specific way. We had not only enabled them to make a conscious decision to help a teammate, but also to deliver that help in a way that was both visible and unmistakably critical to said teammate’s success. By encouraging the closure of the feedback loop between players, we were able to ensure that the events listed above were true interactions, and that everyone was aware of what their teammates were doing on their behalf. After all, even if your teammates don’t say thanks, they still remember, and in a co-op game that makes all the difference.
As he dozed on that airplane to California, Tim had only just begun the journey towards understanding what co-op was really going to cost as a feature. Believe it or not, this article is the same way. Conceiving of asymmetrical (and synergistic!) ship designs and playstyles, striving for symmetry and scalability between the designs of single- and multiplayer gameplay systems, and the all-important meta-balancing of a the entire game across five difficulties and all possible player-counts/ship-combinations in a robust and sane way... these problems and solutions would take even longer to communicate.
Perhaps the Internet is better for it? Or perhaps there will be a Part 2!
For now (at least until Co-Optimus lets us anywhere near the Publish button again) this will have to do. Thanks for reading, and please know that we encourage any developers among you to consider working co-op into your own projects. It’s not easy, but almost nothing in game development is. It also may not make sense for your budget and goals, and you must always respect those constraints.
However: if you decide to make the attempt, and if you somehow succeed, then the realization that your game has helped a group of strangers to transform into a cohesive team is a thrill that, at least for us, is unlikely to ever truly fade.
[Ed. Note: Doilies are also key]
Are you an indie developer with a co-op game and would like to share your own development story? Let us know by dropping a line to firstname.lastname@example.org!