Wednesday, June 8, 2011

A deep look into RPG mechanics and how they build long-lasting gameplay. Player interaction.

Player interaction in an RPG can range widely from the complete interaction you see in a typical MMORPG such as World of Warcraft through to simple interactions such as online leader-boards. It is my belief that games should strive to add player interaction in order to build lastability through either competition, cooperation or socializing. In this section, I would like to mention some innovative ways that games have employed to build player interaction and mention some of the pitfalls that I've seen in the process.

When building an iOS game, oftentimes developers don't want to add online functionality outside of something like Game Center or OpenFeint, since it would require them to implement and maintain their own server infrastructure. Planning this infrastructure can be tricky; you can't predict how big of a splash you game will make before it's out. Setup and maintenance of this infrastructure can be costly. Also, you may need a different skill-set to code a properly scalable backend as well as the necessary safeguards to prevent cheating. Typically, very small outfits will completely avoid this (Mom and Pop software houses).

Game center has recently added some support for hosted infrastructure and APIs for multiplayer gaming (although I don't know the details of the APIs provided), and this could potentially open up the ability to add simple multiplayer functionality into games without the need to maintain one's own server infrastructure overhead. What sort of simple multiplayer features could one add to a game to enable more cooperation, competition or socializing?

In-game messaging and chat rooms are probably the simplest form of player interaction. iOS games have been doing this all the way back since Aurora Feint, one of the first iPhone games available.

Your own implementation could start simple and just include something like a mailbox. Extend this a little further and let players send items or gold to each other. Being able to trade items opens up nice social possibilities, as well as allowing players a new way of acquiring stuff. This works especially well if there are rare items or loot with random stats. It also works well with crafting, allowing players to trade materials or craft items for friends.

Moving on from this, how about an auction house? This suddenly adds yet another dimension to the game as you will create a living in-game economy. We've likely all seen how popular the auction house systems in MMOs are. If your small game had mailboxes and an auction house as the only player interaction, imagine how many new gameplay options you've added to your player-base:
- a reason for people to get their friends playing
- a reason for people to play more in order to acquire gold for buying or items for selling
- a reason to craft
- a new way to acquire difficult to get items

Imagine adding such a system to a game like Galaxy on Fire 2. The extra dimension added would bring this game one step closer to an iOS version of Eve Online.

Moving our thought process one step further and implementing some sort of guild or clan structure into our game would open up nice cooperative and competitive options for players. The ability to share resources, to cooperate with friends and to compete with other guilds. This works even in a single player game.

The simplest method to foster guild competition is to implement leader-boards for guilds based on various in-game stats.

Adding guilds also opens up the possibility for "guild quests" - quest-lines that would be unreasonably long or time consuming for a single player to complete, but that would be perfectly doable by a guild.

In-game guilds could also open up the possibility in a single-player game to allow NPC avatars of your guild mates to join your character while playing, allowing you to complete more difficult tasks.

One idea that has also been implemented recently in games such as World of Warcraft is a guild talent system whereby players' characters will receive tangible benefits from being in a guild and earn experience towards their guild in order to unlock new abilities or perks. This creates a nice incentive to belong to a guild, even for single-player gaming.

One interesting idea I've seen recently has been from an upcoming game called "Ruin". In this game, as a player levels, he or she will be able to create their own dungeon, design it's layout and populate it with mobs. As the player gets more powerful, their dungeon grows in size and the mobs get stronger. Other players can raid these dungeons and the player who owns the dungeon can move in to defend.  This idea could theoretically be transformed for a single player game or onto a guild level. A guild could own and manage their own dungeon that is proportional in strength to the guild's strength. Other players could attempt to conquer that dungeon, perhaps winning some nice drops from various bosses or heavily guarded loot chests.

This fabulous idea opens up crowd-sourced content in a game, and a limitless amount of it. If a player enters the dungeon, the current version of the map need only be checked and downloaded from the server for offline play. To construct the guild dungeon, each player would build and maintain their own wing of the complete dungeon, and invaders must pass through multiple wings in order to reach the final boss or loot. Large guilds could pride themselves on maintaining an impenetrable fortress.

If you don't want to set your game up in a way that people must find a guild for themselves, you could easily add a number of pre-made factions or guilds and allow a new character to choose one or randomly be joined to one.

One interesting competitive multiplayer idea that I've seen in the Inotia series of games is PvP arenas using avatars of existing players. As you enter an arena, you are pitted in a single-player venue against an AI controlled avatar of the opponent (or in Inotia's case, your team versus theirs). This is a simple way that does not require true online play (and latency-dependent network traffic).

Remember that any PvP you implement must be considered right at the very beginning of class design. You must make sure all classes are balanced and that item and enhancement combinations don't allow for exploitive or broken combos. However, PvP does add probably the best player competition you can want in a game, as players will always strive for better gear and better skills against other real players.

True cooperative multiplayer action is probably best seen in MMOs where dungeons and larger-scale raids are offered. This enables the game creators to offer truly difficult encounters requiring skillful coordination between players. In order to support this, guild structures should be in place, as well as tools similar to the "LFG" tools in World of Warcraft. Designing encounters for multiplayer poses some of it's own difficulties and constraints. For instance, looking at a game like World of Warcraft, dungeons are designed for tank, healer and DPS roles specifically, and group size and composition need to be adhered to. However, Diablo achieves multiplayer encounters by scaling encounters based on the number of participants. Scaling can easily be achieved by modifying variables such as enemy health, cooldowns, numbers of adds and damage output.

Boss fights are probably the most joyful and challenging occasion in RPG games and I've yet to see truly innovative and difficult boss fights implemented for single player scenarios (although I'm hoping that Diablo 3 will change that). In a single player game where the player controls a group of characters (such as Inotia, Battleheart and Companions), one can assume, to a certain extent, group size and composition and such, tailor the fights according to the holy trinity of tank, healer and damage dealer accordingly. For single player RPGs to implement innovative single character boss fights, the assumption that any class/spec combination can tank a certain amount of damage, heal itself and crowd control adds must be present.

After six years of playing World of Warcraft, I'm of the opinion that games should offer their multiplayer experience as an option, not a requirement. Some people simply prefer to play alone on occasion, and some players simply don't have the time to spend long uninterrupted sessions online. Alienating players from areas of a game by enforcing social contact is not the best course of action if you want to grow and retain a large player base (which is incidentally why I predict a vast number of World of Warcraft players will move to Diablo 3 this year). In the iOS world, you cannot assume online connectivity one hundred percent of the time, so games should be structured such that offline play is a fulfilling option.

Outside of the RPG field, some innovative ideas that I've been throwing around for adding multiplayer elements to games include a "Tower Defense/Offense" idea where players assemble their own maps, populate the defenses and then go up against enemy waves created by players (with a leveling system unlocking tougher attacking mobs and better defenses), and a "Hacker" game where you maintain your own systems and try to discover and subsequently hack into other players' systems. There's still plenty of innovation to be done in the realm of multiplayer online games, and with the increasingly connected world, we're likely to see some much more innovative ideas down the road.

No comments:

Post a Comment