Tuesday, June 14, 2011

A deep look into RPG mechanics and how they build long-lasting gameplay. Abilities and talents.

I wanted to try to approach my post on abilities and talents in a different way to some of my previous articles. Abilities and talents are a core part of any RPG, and drilling down into individual games to see how they implement these would be far too long (and probably boring) to write about. I want to instead look at some key concepts I've seen in various games and illustrate how they were either good or bad.

Let's start with abilities. In most RPGs, abilities are what define each class.  Typically, an RPG will have a standard set of classes - warrior, mage, rogue, priest, perhaps an archer or a paladin. These classes tend to build on standards in terms of their abilities. For instance, mage will typically have a ranged magic damage spell such as fireball, rogue will have some sort of stealth, warrior will have a multi-target sword attack and priest will, of course, have a heal. Designers will then add other abilities around the flavour of those classes - some which are base abilities and others that can be obtained via talents.

Getting new abilities, either as you gain levels or as you obtain the talent points needed, is a strong carrot for players and can represent definite milestones in a game. Increases in power to abilities you already have represent a smaller milestone, depending on the change. For instance, if your heal just gets a little better or your fireball does a little more damage, it's not all that exciting, especially if the changes are largely absorbed into the scaling of your health, enemy health and so on. However, if you have an ability that allows you to run faster by a percentage and that percentage number increases, it will make a noticeable difference to your quality of life, and therefore be something to look forward to. Changes like lowered cooldowns or additional effects on existing abilities will also represent more important milestones to look forward to. Often, though, these are obtained via talents.

It is probably better to scale abilities rather than grant new ranks every few levels. Although it might initially seem exciting to buy that new rank of Fireball, after 60 levels of buying new ranks, it just becomes another trip to the trainer and more gold spent. These sort of artificial gold sinks are more of an irritation than anything else. World of Warcraft initially implemented ability scaling via purchasing ranks, but moved over to scaling already acquired abilities as you level in a later expansion.

When designing abilities, it goes without saying that the following apply:
- avoid having the same ability on multiple classes
- avoid creating abilities that are too niche in their application
- avoid creating abilities that are strictly worse versions of other abilities
- if you plan on having multiple classes in a party, consider synergies
- do create fun "quality of life" abilities

Examples of fun quality of life abilities in WoW include:
- Path of Frost (Death Knight): allows all members of the party to walk on water
- Aspect of the Pack (Hunter): increases movement speed of party members by 30%
- Teleport (Mage): opens a portal to a location that all party members can use

Creating abilities for one class that can synergize with other classes is something a designer should consider. For a single player game where you control a party of characters, adding such abilities can encourage players to diversify. These synergetic abilities can either be core class abilities or obtained through talents. A simple example might be a debuff that can be placed on an enemy (perhaps as a side effect of some other ability) that increases magic damage taken. If that ability is given to a magic user, it benefits not only that character, but also any other character that uses magic damage. WoW has many of these, and this encourages diversity in raid composition. If in your game a player can only choose, say, three out of a possible six classes for their party, they will have to examine how abilities of different classes and specs synergize with other classes when creating a party composition. These choices should not be so clear cut, though, so as to engage the player in some research.

Methods for elongating the accumulation of abilities past the "level cap" might include adding items to the game that can be used to further improve abilities past their cap. This was seen, for instance, in World of Warcraft vanilla when books were added for each class to teach new ranks of certain abilities.  However, imagine a book that, when used on a spell, would increase it's power, but you could use multiple books on the same ability. To prevent abuse, you could implement a chance for that book to fail (but still be used up) and increase the chance to fail, the more times it has been applied. Make such books costly and difficult to obtain and you have created a nice mechanism for players who like to min-max.

Another method could be to add books that teach completely new skills. Any class would be able to use these books. The books would have to be rare or difficult to craft, but would be quite powerful in that they'd add brand new abilities outside of those that can be obtained via talents or class abilities. Perhaps these could be carefully implemented as one-time quest rewards. If you make it so that players can never have all the additional abilities (say, they have to choose a subset of them), this opens up a choice in playstyle.

One method that Diablo 3 seems to be employing for ability modification and enhancement is Runestones. Each ability can have a runestone attached to it. The runestones come in 5 different colors and a multitude of different qualities.  When attached to a skill, the runestone modifies that ability in some way. This is a nice system, since it not only allows a player to experiment a lot, but to modify their character's playstyle to their choosing. The differing levels of quality allow players at low level to experiment with these modifications, while in the later game will encourage the player to find the most powerful versions so as to continue maxing their character.

Inotia 2 employed an interesting idea for elongating the aquisition of abilities. Each class had one locked talent at the bottom of their talent trees.  It was up to the player to do specific high-level quests to obtain a book that would unlock this skill. Also, there were book drops that improved certain talents past their normal cap, and these could be applied multiple times.  However, in Inotia 2, all abilities come from the talent trees (there are no default active abilities given to a class).

A system in which abilities could be combined is an interesting one that could also elongate the aquisition of new abilities (and allow for playstyle customization). For instance, combining a spell that shoots directional lightning with a spell that throws a fireball could create, for instance, either a trail of fire on the ground that does damage over time to enemies standing on top of it for a short period after the lightning had passed over it or an explosion, doing splash damage at the end of the lightning when the spell contacts an enemy. It would be up to a player to design spells that they find fun to use.  This is somewhat similar to how the Diablo 3 runestone example already works, but the implementation would be somewhat different.

Finally, one idea that I've heard about but never seen properly implemented is the idea of hero abilities. Once a player has hit the level cap, they can open up a path to modify their class in some way. By, for instance, completing a lengthy and difficult questline, the character will gain a new ability. After many such questlines and gaining of abilities, the character will then be opened up with a final, even more difficult questline, that allows them to transform into a hero class.

Let's move onto talents. The way that every game implements talents is different, but the key idea is the same. After gaining a level, or number of levels, players accumulate points that can be spent on improving their existing abilities or gaining new ones. Normally the player will have to choose carefully where to spend their points, since they will have less points to spend than there are talents available.  Therefore, the player customizes their character in a way that seems most fun or appropriate to their playstyle.

Having seen a great deal of different talent systems, I can't really say there's a "correct" way of doing this. I have, however, seen things that plain don't work well in addition to some fresh and innovative ideas. From seeing things that don't work, I can give the following advice:
- avoid boring talents
- avoid mandatory talents
- avoid almost useless or niche talents
- avoid talents that are strictly worse than others
- consider synergies
- figure out what players would choose to min-max, adjust the design, repeat

Generally speaking, talent trees are set up so that you must spend a certain number of points in one tier to be able to then spend points in the next tier. Normally each tier will have a choice of things a player can spend their points on. Boring or useless talents in these early tiers are something a player must invest in, in order to reach the deeper tiers. Don't be tempted to put boring or useless talents in these tiers - it's bad design, and players will feel frustrated.

Also, boring or useless talents do not provide anything to look forward to while levelling. Imagine how fun it would be going from level 10 to 11 and knowing I can either get 1% increase to wand damage or a 2% decreased chance to be stunned or feared? My wand does 11 damage instead of 10, or 1 time out of 50, I won't stand there stunned for 4 seconds. Whoopdeedoo.

Mandatory talents are those things that don't add any fun to the game, but are necessary for a certain spec or playstyle. for instance, a talent that, after spending 5 points, gives 10% increased armor is not fun. But it is completely mandatory for being a tank. Even if you tack a secondary effect onto this talent, it's still a mandatory talent. A better way to implement something like this might be:
- some specialization clause in the game that says "if you have 15 points in this tree, you get 10% more armor"
- a separate tree for boring percent increases that you can fill in parallel
- a system like in WoW Cataclysm which locks you to a path of specialization, but gives the mandatory talents as part of that

Talking of specializations, and this is touching on a point I made in the list earlier, make sure to identify those in your design. Players will tend to min-max out the most damage, healing or survivability and those will become standard builds. In these cases, talents that add fun quality of life abilities will be skipped. In fact it might be better to put those in a different, parallel tree also.

Specialization is a whole topic in and of itself, really. Having played a lot of WoW, and played as all three roles, I can attest to how it feels to be pegged into a role where a majority of your talents go into such a niche part of the game as to make other parts of the game much more difficult. In WoW, specialization extends past the roles of tank, healer and damage dealer into separation of PVE and PVP specs (and gear). Even with a dual-spec system (one in which you can switch between two specs on the spot), you are still often without an easy option to play all aspects of the game if you play certain classes.

In my opinion, talent specs should allow the playstyle of that character to be modified to a player's liking without necessarily moving that character into a niche role. WoW doesn't have this luxury, it seems, based on the fact that it must not only balance PVP, but also balance damage meters. At least amongst the pure damage dealing classes, there is a nice choice of playstyles, but with the tendency to min-max, players of those classes gravitate towards which ever spec deals the most damage at that given moment.

One thing that I've often noticed happening in talent tree designs is a separation between talents that buff healing, survivability and damage. This is what often causes specializations to happen. My opinion is that it would be better to create talents with mixed effects (that are perhaps even mutually exclusive).

Some interesting innovations I've seen recently have come from a few games. One is Battleheart. In Battleheart, you gain a talent point every 5 levels.  Basically, this opens up, in most cases, a choice between two abilities or passives that you can freely switch in between matches. Thus you can create your desired spec based on five choices (of which three are active abilities). The last spot is opened up at level 30.

Rift is another game that looks fairly innovative. I'm not sure on the details, but at certain levels, you gain the ability to choose a second and then third tree to add to your character from a larger pool of talent trees. These are known as souls. Therefore, you can tailor your class quite a bit more than in a game with three fixed trees, such as World of Warcraft.

The WoW concept of glyphs - a small set of swappable mini-talents that can be added to characters, while an innovation, tends to also lean a little towards min-maxing. The minor glyphs are so insignificant that there's really nothing to get excited about (I don't remember even equipping them all on my characters). The major glyphs were pretty much no-brainer depending on your primary spec.

Torchlight's talent trees are still something that I feel is a great example to RPG designers. There are three classes in Torchlight, but each class has three trees that alter the playstyle of that class profoundly. The Vanquisher can play as a ranged physical damage class (Marksman), a melee dps class (Rogue) or as a caster (Arbiter). The Destroyer can play as a single-target melee dps (Berserker), AOE melee dps/tank (Titan) and a dot/pet class (Spectral). Finally, the Alchemist can play as a ranged magic dps (Arcane), magic dps/pet class (Lore) or a melee dps/caster (Battle). On top of this, talents can be picked from any tier of any tree as you have spent the prerequisite number in the previous tier (of any tree). For instance, if you spend 5 points in tier 1 of the marksman tree, you can spend your next 5 in tier 2 of the arbiter tree, if you wish.

As you can tell already, I'm a big fan of flexibility when it comes to talents, abilities and builds for characters. The more flexibility there is in the system, the more room there is for experimentation and creativity. This is highly engaging for players, and anything engaging will keep them playing longer. When designing abilities and talents, make sure everything is fun, not boring or mandatory. Make sure you can add neat synergies of combos at many different levels. Offer as much choice as possible in the way of play styles. Multiple layers of parallel talent systems are never bad - they allow way more customization options on top of adding more milestones for a player to reach. Adding ways to change the behaviour of abilities is a great concept. In the end, well designed abilities and talents are all about giving players the ability to explore, create and experiment.

Friday, June 10, 2011

A deep look into RPG mechanics and how they build long-lasting gameplay. A brief segway on character stats.

I need to spend this blog post on a brief segway into character stats. While character stats in themselves do not directly contribute to game lastability, the discussion of how games handle stats is an important prerequisite to discussing topics such as talents, loot, enchantments, gemming and abilities. Since that's really what I wanted to move onto next, I feel that it's important to cover the topic of stats as soon as possible to create a basis on which the next few articles can follow.

I have to admit that I've seen all too many RPG games handle character stats in the wrong way. Game designers often add stats that are near useless or stats that do too much. Often, games have one or two stats that you just pump as high as they can go. Also, a lot of designers don't model what happens when certain stats get to ridiculously high levels. Some games implement way too many stats, some of which overlap. Others implement too few. In most of these cases, it feels like the design and modelling of character stats was a mere afterthought.

And stats should be anything but an afterthought. With the correct amount of stats and the correct balancing, players will be given a lot of choice about how to gear, assign stat points and assign talents. There should be multiple paths available while combining these things, all of which open very different play styles within the same class.

Players will always try to min-max. If you add a variety of stats that can boost a character's damage, survivability or healing output, players will inevitably do the mathemetics for you and find the best way to gear and spec. The designer therefore needs to attempt to accurately model how stats interact with abilities, builds and rotations in order to minimize imbalance.  This is not always an easy task.

Another problem that I have seen related to stats is with gear itself. Once you have modelled how players will play and determined what the min-maxers would do, a designer should really attempt to create gear that benefits these playstyles.  At this point, as a designer, you can look at how many different types of items the game will need and will be immediately able to determine whether loot tables are going to be too diverse. You can also eliminate gear items with undesirable stat combinations from being created by the game. You can additionally tailor quest rewards accordingly.

The bottom line is that stats should be designed in parallel with class abilities, talents and gear. While doing this design work, remember to extrapolate to the highest point you expect a character to reach should they maximize a given stat, and ensure that it does not trivialize gameplay or be deemed worthless compared to another stat.

In this post, I'm going to illustrate some design problems I've seen, and conclude with some ideas of my own on this subject.

Lets start the examples with World of Warcraft. The designers of this game have been constantly tweaking, adding and removing stats, so this discussion requires a brief walk back in history.

At the very beginning of World of Warcraft, there were essentially just the five basic stats on gear in addition to armor and weapon stats. Of these, the king of stats was agility, which granted armor, dodge, crit and attack power. Naturally, only melee classes benefitted from this stat, rogues being the class that benefitted most. Stamina increased hitpoints, intellect increased available mana (and to a small extent, spell crit), spirit affected mana regeneration (in the beta, however, it affected hit point regen as well) and strength affected attack power. As gear was added, all kinds of stats started to show up, such as raw attack power and percent increases to crit and dodge. Also added were weapon skill increases, resistances to certain types of magic damage and defense, which affected chance to block, parry and dodge as well as reducing the chance to receive crushing blows and crits from enemies. When the developers realized that there wasn't a single stat that allowed caster damage or healing to scale, stats were added to boost certain magic schools and healing. After this came increases in chance to hit and then a stat called spell penetration that allowed spells to ignore a certain amount of the corresponding resistance.

This was all in vanilla. As you can tell, the designers attempted to fix gameplay issues by throwing more and more stats at those issues. They also added mechanisms to raids creating the need for all players to stack certain magic resistances as an artificial gear-based barrier to progression.  This need for players to stack resistances caused the need to equip special gear instead of the shiny new epics they had been raiding for in the first place.  This situation was further worsened at the advent of the original Naxxaramas with buff and potion stacking becoming mandatory to survive encoutners.

Gear in vanilla was exceptionally poorly itemized, especially at the lower levels. It was not uncommon to hold onto a specific item for 30 levels due to nothing better being available. Crafted items were always way behind the level you would need to be to acquire the materials to craft them. Quest rewards were mostly stacked with stamina and spirit (a holdover from when spirit caused health regen). Forty player raids were the only place to pick up well itemized or "fixed" gear and even then, due to odd mechanics, some classes wore lower level gear just because of certain stats. Some of these issues can still be found today in lower-level play, although it took Blizzard the good part of six years to fix them.

When The Burning Crusade (TBC) was released, the designers took their first crack at fixing the stat issues. They realized that gear with flat percent increases would not scale well, so they changed some stats into "ratings". The rating system still exists today. As you gain levels, you need a respectively larger amount of a certain rating to obtain the same benefit. For example, at level 60, 20 crit rating might have given 1% crit, but at level 70, you would need 40 crit rating for the same 1% crit. This rating system scales the same way as some of the base stats. At level 60, you might need 20 agility for 1% crit, but at level 70, 50 agility is required. This system has the downside that, as you level, you become weaker unless you upgrade your gear - the upside being that it forces players to always search for new items and evaluate them. Rating systems can be a little complicated for some players, though.

TBC fixed some issues, but left others untouched. Healing power was still a separate stat to Spell Damage, meaning that healer classes needed to pick up different gear for soloing. Tanks still had their own itemization. Also, more stats were thrown at the game, including haste, armor penetration, expertise, spell haste, block rating, block value, parry rating, and probably more that I don't remember.

Min-maxers soon figured out the best stats for each class and role, rendering other stats quite useless. Also there were problems with loot tables, since almost every class and spec had their own armor type and stat requirements. At least during TBC, drops and quest rewards were better itemized. The problem, however, was that with the massive amount of different gear combinations needed for different classes, people noticed that a majority of quest rewards were "Moonkin Leather" or "Holy Paladin Plate".

Enter Wrath of the Lich King (WOTLK). Finally, some stats were merged - Healing and Spell Damage became Spell Power. Spell Crit Rating and Crit Rating became just "Crit Rating". The same for Haste. Blizzard had identified the problem that there were 30 different types of armor that needed to be on boss loot tables and quest rewards and started to consolidate them. However, they left the dearth of other stats around - we still had attack power, armor penetration, expertise, dodge, parry, block, etc.

This consolidation continued into Cataclysm and a new concept - Mastery - was added. Mastery is a spec that specifically boosts certain attributes of whatever spec you happen to be in. With this change, the game was altered to force players into choosing and sinking a majority of their talent points into a chosen spec. What made Mastery seemingly interesting was that the bonuses granted could be made more interesting than a simple base stat like strength or stamina or a simple percent increase to damage, healing or mitigation.

The story of stats in World of Warcraft is an interesting case study. It illustrates clearly the need to examine how stats work at the very early stages of your design phase. It also illustrates how fruitless throwing quick fix upon quick fix at something fundamentally broken ends up being.

Lets look at some other more subtle problems that have existed in the WoW stat system.

Stat caps have existed in the game since the introduction of things like expertise and hit rating. These are stats that are invaluable until you hit a certain number. After that magic number, any additional points of that stat are useless.  This problem is further compounded as you move between 5-man dungeons and raids.  The level of mobs in raids is one level higher than in 5-man instances. Hence, the amount of hit rating needed to not miss the one-level-higher mob is more.

Defense has a similar but slightly different problem. Below a certain amount of defense, the tank will be crushed or critted by a boss. This means that a tank must acquire a minimum amount of defense to even step into a dungeon or raid.  Additional defense above this point is still useful, however. Defense was removed from WoW when Cataclysm was released, since the designers finally pinpointed the problem. However, stats like hit and expertise still exist.

Another problem relates to the balance between two stats that have the same ultimate effect. This problem could be seen between dodge and parry (mostly from TBC onwards). These stats both have the same effect of allowing you to completely avoid a hit. However, dodge rating has always been slightly better point-for-point than parry rating and hence nobody bothered getting parry rating. This has since been fixed.

Another story related to tanking has been the ever changing value of avoidance compared to effective health. At some points in the game, stacking avoidance stats such as dodge were better than stacking armor and stamina. At other points, the opposite was better. The designers again threw quick-fixes at this problem - Sunwell Radiance being the first example, which was a debuff to lower everyone's dodge by 20%. A second kludge fix that exists today is a heavy diminishing returns above a certain point on dodge and parry.

I've probably just scratched the surface of the stat story in WoW, which seems to be ever changing. There are many things I've not even covered such as the resilience stat for PvP, the changing of how intellect and spirit work when Cataclysm was released and the removal of armor penetration and attack power.  This long story illustrates clearly that, even with a huge amount of resources available and a lot of thinking power, stats are simply hard to do correctly.  Looking over the history of just this one game, one can learn a lot about the evolution of such systems and can find many clear examples of what works and what doesn't. I'm completely sure that there will be further changes to the way stats work in WoW as time goes on.

I'm going to move on now to another game - Inotia 2. I played this game for several months and during that time, I decided to try to quantify all the game's stats. The thing about Inotia 2 that differs from WoW is that you don't have a combat log to parse. Inotia 2 has a plethora of stats on gear, but figuring out what they do, how they affect combat and which one is better is really a lot of trial and error. We eventually gave up trying.

Similar to games like Diablo, Inotia 2 has stats that affect the drop chance of magic items. It also has a stat called "LUCK" that affects numerous other stats. The base stats appeared to be budgeted very highly on gear compared to other stats, but almost every stat you could possibly think of appeared on gear, and none were explained in the game. In Inotia, armor value played a strong role too.

I've played a handful of games that include stats that affect the chance of finding magic items, and I've always tended to put together a set of armor that maximizes this, in an attempt to find better gear (and not really worn much else). Gear in Inotia 2 is randomly generated, with a certain set of rules about which stats can appear on which slots, but in general you could find almost any stat on almost any item.  This allowed for a lot of experimentation, since you could put together a set for mitigation or avoidance, a set for damage, a set for item collection, and so on. Couple this with the fact that you have a party of three characters and that's a lot of grinding!

The immediate problem I can identify with Inotia 2 is the difference in budgets.  Stats that provide the same benefit should be budgeted the same. This is something that WoW does well (enough), but it comes from their six years of iterative changes. Inotia 2 also seems to have the problem that certain stats do the same thing (or seem to - the lack of documentation really doesn't help).  Also, although damage done is shown on screen, healing isn't, making it difficult to tell which stats affect healing. Finally, the best way to get gear in Inotia 2 was from the travelling vendor who appeared at random locations.  This led players to run in and out of a small room with a large number of visible spawn locations in order to get the vendor to spawn, and then pick him over for the chance at something useful and itemized correctly. Inotia 2 fell into the same trap as early WoW in that many of the stat combinations on items made no sense, since they are generated randomly. Random stats on gear should still be made according to certain pre-defined templates.

Let's have a short recap of what we've learned just from these two games:
- design your player stats, abilities, talents and gear in parallel
- figure out how the most obvious spec, gear and rotation combos and model them
- make sure you don't have too many different types of gear
- make sure quest rewards, drops, set items and crafted items conform to certain useful stat templates
- don't create capped stats or stats that you must have x amount of
- extrapolate gear levels higher than is possible for each stat and make sure nothing is broken
- don't create stats that do the same thing, and especially not with different item budgets
- make sure stats are budgeted correctly against each other and on gear
- clearly explain what each stat is meant to do
- don't create one be-all-end-all stat
- try and anticipate scaling with respect to all classes and abilities

That's a lot to think about, and if you can get it right the first time, you're better than probably 99% of RPG designers out there!

I promised to share some ideas I've had on stats. I've been working on some ideas for an RPG in which I do the opposite to what most designers do. I started by throwing out all the legacy stats that have been around since the pen and paper era. I decided to instead map out all of the things I might need a stat for, mix them up a bit and create a new set of stats. No longer do I have stats that benefit only a melee class or only a tank or only a caster. Instead, I decided to make all stats good for all classes. Then I designed the classes and specs in such a way that each class prefers three of the five stats slightly more than the last two, but that the distribution the player will ultimately choose will depend more on play style than on the constraints of abilities or talents.

For instance, a player has to make a choice on whether to boost a stat that improves crit chance, a stat that lowers cooldowns, a stat that improves the radius of AOE effects or a stat that increases the damage they deal. However, each stat I've been designing affects upwards of three variables.

The same stat that improves AOE radius, for instance, also improves mana regen, healing received by this character, maximum range of magic abilities and increases any passive healing effects that this character generates. As you can see, this stat is good not only for a caster (AOE radius and spell range), but for a healer (mana regen and +passive healing), a tank (healing taken) and any class that generates passive healing effects from their abilities (and most of my class/spec combinations do that to a certain extent).

In my design, I've omitted a stat for increasing hit points completely. The reason for this is that every class has some optional talents to increase their health pools and health pools will otherwise be calculated based on a combination of character level and gear level.

Here's an example for context:

Vixen's Craftiness (Tier 1, Assault Tree)
Increases your Cunning by 1% and you gain 1 HP for every 1 point of  Cunning. Your Sabotage critical hits heal you for 5% of the damage done.
(5 points)

Recoil (Tier 2, Assault Tree)
Increases your HP by 5%, the number of targets hit by your Spiked Arrows ability by 1 and the damage done by your Grapple ability by 2%.
(3 points)

While designing this system, I made sure to create talents that affect multiple playstyles at the same time. Instead of the traditional method of assigning a talent tree or path for each different role, my system spreads these roles out over each tree. This means that within each class there exist several completely distinct playstyles that overlap with different roles. For instance, a class may have two tanking playstyles that play very differently, and in addition two DPS playstyles that also differ fundamentally. Each playstyle favours a slightly different stat point distibution and within each playstyle, there is no min-max equation - you will stack stats in a way that optimizes the feel you enjoy the most, whether it's based on lowering cooldowns, more self-healing, more damage mitigation, more AOE, etc.

The intent of this game is to have a party of three members from a possible 6 different classes. The classes are all designed to have different synergies (depending on spec and abilities) with different types of playstyle, so there's a huge variety of potential combinations to experiment with. Each class has multiple auras, group-wide temporary buffs, offensive debuffs and group utility spells.

I mentioned at the beginning of this post that it would be brief, but I seem to have ended up digging deep into an issue that is close to my heart. I stated at the beginning of this post that stats themselves don't directly add lastability to an RPG, but I'm going to take that statement back. Given different classes, abilities, talents and gear, along with the possiblity for manual stat point distribution each time a level is gained, stats provide a huge base for experimentation, research and engagement on the part of a player. If the system is well designed enough, players will want to try gearing their characters in multiple different ways and try every possibility to find an interesting and fun playstyle for themselves. Although stats are just a building block for this, it's a well built foundation that really grants the designer (and player) more creativity.

Thursday, June 9, 2011

A deep look into RPG mechanics and how they build long-lasting gameplay. NPC helpers.

NPC party members or helpers are a great way to increase playtime and lastability in an RPG. Not only are you gearing and levelling up your main character, you're doing the same for the NPC helpers. You are also increasing the player's engagement as they must learn about how the NPCs work, make choices about how to assemble their party, how to spec and gear the NPCs and experiment with different playstyles. In this section, I want to illustrate some systems that have been used in recently games to add NPCs into a single player experience.

Before we get into recent games, I'd like to reminisce for a moment about Final Fantasy VII. This wasn't, by a long shot, the first game to use a party system, but it sticks in my mind as one of the first times that such a system fully engaged me.

In FFVII, you chose to include three party members to your main group from a selection of many characters that were introduced slowly throughout the game. Two of the possible party members were, in fact, hidden (and optional), but finding them was fun in and of itself. Each character had their own special skills, but with the Materia system, you could equip the party with enough abilities to be able to accomplish all fights. Only members of the fighting party would gain XP during fights and only equipped materia would level up.

Naturally, at the time, I levelled all characters to the cap and all materia too, which took countless hours of fighting. But it was fun and rewarding. The need to see every character at a maximum level with their skills and abilities was the reason I spent all that time (in addition to performing the other side-quests in the game). I attribute this as the primary reason why this was the first game that I really sunk hours and hours of playtime into.

Lets move on a little and look at how some more recent games are handling NPC party members.

My first example is Battleheart. In this game, you don't have a main character, but a group of four that you can assemble from a pool of several different classes. Again, only characters participating in battle (and alive at the end) will gain XP. You must equip each character separately. As each character gains levels, they gain access to new skills. The fun is to try out different group compositions, try out all of the skills available to all of the classes and, of course, to equip all the characters in the best available gear. The play style of this game is very engaging - the only qualm I have is that it takes too little time to do everything in the game.

Moving on, my next example is another iOS game, Inotia 2 (and 3). In this game, you start off by choosing a main character. As you move through the storyline, you're introduced to the game's concept of Warrior Seals. Your first Warrior Seal is given to you as a quest reward. When used, a Warrior Seal generates an NPC "mercenary" based on the type of seal used. For instance, a Priest Warrior Seal generates a Priest mercenary. Each new mercenary will have randomly generated stats and a subset of usable talents. Pure luck determines how good the stats are and how many talents are unlocked. It is not uncommon to go through countless Warrior Seals to find mercenaries that either have inadequate stats or only a few talents available. The generated mercenary will start at the same level as your main character and will only gain XP while in your party. You can leave a certain number of mercenaries in the inn, but only mercenaries in your party will gain XP. Therefore, if you find a potentially good mercenary at a low level, but don't want to include that mercenary in your main party (due to group composition or the gamble that you may find a better one later), you will need to level them later on. Each mercenary can be equipped with the same number of gear slots as your main character. You can also switch control of the active member of your group at any time and manually control any party member. The mercenary classes are the same as those you can choose for your initial main character and your party can consist of a maximum of three characters.

The system used in the Inotia series is thoroughly engaging. Not only do you spend time having to learn each of the six classes, you need to make choices about your party composition, gearing (and there were a lot of gear choices) and which ones to level. At any given time, you might find a new Warrior Seal that yields a better mercenary than the one you already have, However, there are certain book drops you can use to improve talents on any character or unlock new locked talents, and some of these books are unique quest rewards. Therefore you have to choose whether to use those on a current mercenary or wait for a potentially better one. Luckily gear can be moved between characters. In my opinion, this party and NPC system goes beyond what we've seen in games like the Final Fantasy series and is probably the best way I've ever seen this done. The fact that you can switch to control any character in your party means that you get to experience the game-play styles of each class during one playthrough. However, only your main character can have all their talents available, so it gives incentive to play through the game with other classes.

The next game I'd like to look at is Torchlight. Torchlight gives every new player a pet (regardless of class chosen). The pet can be either a cat or a dog, but the difference is purely cosmetic. The pet functions as a pseudo tank (if needed), a dps boost, and can be equipped with spells and items. This allows, for instance, the pet to be turned into a healer.  The pet has it's own bag space, the same size as your own, and you can send the pet off to town to vendor off all the items in their bag. This is really handy in a game where a lot of loot drops, but most of it is inferior to what you might already be using. Finally, the pet can be fed different fish (obtained from fishing) that temporarily transform it into a different beast. During this transformation, the pet gains the abilities of that beast in addition to any abilities you equipped on it already.

This is a very flexible helper system and one I have really enjoyed. The pet does not require any micromanagement and can function in a few different roles depending on your needs and the way you equip it. The pet does feel like a sidekick and, especially later in the game, is a lot less powerful than your actual character.  I think of this pet as someting similar to what a warlock, hunter or death knight might have in World of Warcraft.

Moving onto the next example, I'm looking ahead a little into the future and at Diablo 3. Diablo 3 has recently introduced their new NPC system "Followers". From the Diablo Wiki (http://diablo.wikia.com/wiki/Followers):

"Followers are the new name of the hirelings that also appear in Diablo III.  They have been revealed to have been improved much in the development process, including customizable skills and new appearances that change by leveling up and being equipped.

There are three followers available in Diablo III: the Templar, Scoundrel, and Enchantress. Each have their own reasons for fighting and a storyline that will progress in, but not detract from, the main story arc.

Only one follower can accompany you at a time, but even while not at your side, the other followers will stay with your current level so they can join you at any time without needing to be leveled up first in an easy area.

The followers are customizable enough to suit your style, depending on which four of their twelve skills you decide to develop. Each follower will be able to be equipped with two weapon slots, two ring slots, and also one of their own unique class-specific item.

You need to be in town to pick up your followers or switch between them, but you do not need to go back if they are defeated in battle. When followers are low on health, rather than die and require resurrection, they will depart from battle for an amount of time, then automatically return later. While gone, you will not receive any bonus from them."

According to sources, the three followers are a Templar that can be specced as either a tank or healer, a rogue that is a primarily ranged damage dealer with some crowd control abilities and an enchantress that is a primary caster or buffer class. Although there is nothing really groundbreaking about this system, it is nice to see that the NPCs have completely different skills to each other and also to any of the choices for main character.

I'm currently evaluating a game called "Companions" on the iPad. This game puts you in charge of independently controlling four party members. The dungeons are reminiscent of rogue-like games, with a graphical style similar to Gauntlet. The four party members are of fixed classes (one melee, one archer, one mage and one engineer), but each class can be specced in one of three ways. Each class has 3 skills, which differ depending on spec. Characters can be levelled and geared with drops. I haven't really had enough time with this game yet to evaluate everything that can be done, but so far it feels in some ways similar to Battleheart, but without the line-drawing mechanics.

Finally, a popular game that uses this idea is Dragon Age. There isn't anything really special to say about the gameplay mechanics of these NPCs that I haven't already mentioned about other games. They are part of your party, you choose a few to participate in fights with you, but those that are left out will gain levels with the others. They can be geared and specced in as detailed a manner as your own character can. The interesting thing about these NPCs is that you can interact with them back at camp and affect your main character's relationships with them by way of conversation or gifts. As is to be expected in such a high-quality game, the implementation of these NPCs is very detailed and each has their own storyline that can be explored. Much like in FFVII, you are introduced to the various available NPCs throughout the main storyline and the order in which you meet them is based upon your path through the game.

One thing that Dragon Age and Companions have in common is battle interaction. Battles can be paused in order to issue detailed commands to each party member, allowing fine-grained control of the situation which wouldn't be possible if the game were purely realtime. This is in contrast to Inotia 2 or Battleheart, where pausing combat does not allow you to issue commands.

Comparing all of the above games, I noticed that in games where the NPCs had less gearing and customization options compared to the main character, I tended to neglect gearing the characters, mostly just giving them "hand-me-down" items from my main. However, when playing games like Inotia 2 or Battleheart, I geared all of the characters with equal priority and care.

The amount of engagement and additional time spent playing a game which includes NPC party members is proportional to the options the player is given - gearing, speccing and also choices about how to construct the party. More options create more immersion since the player is compelled to spend time experimenting, whether it be with gear choices, party compositions or spec choices. Additionally, gear, gear enhancements, crafting materials and consumables must be collected for each party member to construct the optimum setup for attempting harder content, and this all takes time. Simple "default" NPCs such as those seen in Torchlight or for certain World of Warcraft classes do not noticeably increase player engagement.

One innovation in NPC party members that I think I've heard of is a more social-based system where you can bring avatars of your friends' characters into your group. This, however, removes part of the players own engagement as they slowly invest into each character in the party. Another idea that comes to mind would be a game who's available quests or story-lines would differ based on your party composition, thus creating the incentive for multiple play-throughs with different party compositions. Yet another idea would be to create dynamic synergies between party members based on the party composition. A game where each separate class had passive buffs to other party members as talents would encourage a lot more experimentation than simply classes that have talents and abilities that only affect themselves. These synergies could be set up such as to change the play-style in profoundly different ways.

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.

Tuesday, June 7, 2011

A deep look into RPG mechanics and how they build long-lasting gameplay. Series Intro.

After writing my previous blog post, I started thinking that it would be good to expand on some of the points I made on lastability, not only to give examples or focus on details of why certain systems in certain games are good, but to attempt to suggest further improvements. I quickly came to the realization that this is not the topic for a single blog post, lest I spend the next few months writing it. So I decided to split it up into sections covering different game areas and systems and deliver each as a separate blog post.

I have chosen to look primarily into RPG mechanics. The reason for this is that RPGs often employ a range of techniques to extend play-time. I'll take a look at some games that are on iOS, but also some PC or console games. Many techniques used in RPGs can easily be ported over to a whole range of other types of games with the same success.

Let's look at a quick example where we translate some RPG concepts onto a golf game.

Levelling a character in an RPG through experience points leads to the character gaining stat points and talent points. In an RPG, these stats might be agility, strength, intelligence or stamina. In a golf game, these could be pitching accuracy, shot strength, putting accuracy, etc. Talent points applied to a character in an RPG might unlock skills or percent improvements to existing abilities. In the same way, you could unlock skills pertaining to ball spin, ability to use new clubs, ability to hit more easily out of rough or bunkers, and so on.

As a character levels in an RPG, they are able to visit new areas with harder monsters. In our golf analogy, that could be equivalent to unlocking new opponents or courses. In our RPG, killing monsters yields gold and items, whereas in our golf game, beating opponents yields gold (used to buy, repair or upgrade gear) and items, such as new clubs, balls, tees, gloves, tropies, etc.). In an RPG you may take a potion to impart a short duration improvement to strength. In the same way, you could allow potions in the golf game to impart short duration effects such as shot strength, accuracy, the ability to mulligan, etc.

As you can see from this simple example, adding RPG elements to a decidedly non-RPG game such as an arcade golf game will instantly add reasons for the player to keep playing in order to be rewarded with that feeling of improvement.

This is the very essence of why RPG games such as World of Warcraft keep a great deal of players immersed. There's always a carrot on a stick right in front of their nose whether it be a new level, a quest completed, a new piece of equipment, a new achievement gained or a new dungeon cleared. And indeed, for some its not just the achievement of getting to that next carrot, but of getting to it before everyone else does.

However, it's not to say that just adding these carrots would be enough to make a game last. There still needs to be enough immersion provided via storyline, certain large milestones and a sense of progression towards the next big milestone that feels within reasonable reach.

Take the original World of Warcraft. At every 10 levels, you get a new and interesting skill. At level 40, you got your first mount, making travel that much easier. At level 50 there were class-specific quests rewarding nice items. Level 60 was the cap, and a chance not only to go into the more exciting high-level dungeons, but to be able to properly fight against other players. After that, raids, which mean't your first epic gear. Then higher-level raids that required you geared to a certain level. At some point, you might have enough gold stored to buy an epic mount. During all this time, a background story unfolds, providing the player with immersion via changing scenery, quests and storyline. During that time, the look of your character slowly transforms from ragged peasant to a hero wearing elaborate and colorful armor. At the lower levels, you'd fly across Searing Gorge and Burning Steppes, seeing skull-level monsters and wondering how dangerous those places could be. A sense of things to look forward to.

In our golf analogy, milestones can easily be represented by the opening of new courses to the character, the opening of certain tournaments, the ability to challenge certain opponents. The "story line" of our golf game could be in the form of a ladder system where, as you level and progress, you slowly make your way up. Certain textual storyline elements could then provide some flavour.

Recently I decided to buy a rather casual game called Coin Drop on my iPad and spent a few commute rides playing it. It had many of these elements, but they were so watered down or condensed that I finished the game itself in just a few hours of played time. The milestones were in the form of new background scenery and the occasional new obstacle and cut scene that would naturally unlock after a certain number of stars had been picked up (also the prerequisite for finishing each level). Other unlockables were presented as simply skins for the main character once you had replayed levels to achieve a higher number of stars. Once I had completed all levels, I had unlocked more than half of the skins and I didn't feel the need to get the rest of them by playing through the same levels over, especially since the nature of the game was quite random.

What can we learn from this?

Firstly, the level progression was too fast. Being able to unlock all of the levels, all of the major milestones in the game, within a few hours spelled an end to wanting to play more. There was no character progression - the new skins were cosmetic and didn't add anything to the game. The storyline was fun, but not engaging. There were no additional paths of progression and very little to encourage continuation of play after all of the primary milestones had been reached. Additionally, the barrier to unlocking every last skin was simply a matter of time, and knowing that, after doing that, I'd see nothing new, there was no incentive to do it. If the game had some other mode of play, say an endless mode where I try and achieve a high score, I honestly don't see myself playing that either. Why? Well, there's no incentive. For people like me, high scores are not enough of a carrot to continue playing. High scores are something that worked with Pacman and Space Invaders, but we've come a long way since then.

Let's take a look at a second example, again an iOS game, Battleheart. This game captured my attention for a good 20 hours. What went right and what went wrong? This game presented multiple classes to form your party with. That was good. However, they were all unlocked very early in the game. Major milestone gone in a flash. As a side note, there were duplicates of several of the classes, which was bad. There were many locations on the map to visit, but progression was in a linear fashion and it really didn't take long to work through the maps. The most exciting map locations had boss fights on them that in some cases required a combination of leveling and learning. This was good. However, it didn't, again, take too long to beat those fights.

Gear was acquired via a random drop at the end of each map location (which were repayable) and for gold which was acquired for competing each map. However, the purchasable gear was the same as the drops (but normally better). There was no gear enhancement system and the drops were pre-defined, not random. Hence, the path to equipping your characters with the best of best gear was straightforward, easy and frankly dull.

Leveling occurred at a reasonable, if not slightly fast rate (which was intended by the developers), but the level soft cap was 30, meaning it didn't take too long to level one of every class to the soft cap. I mention soft cap here, since you can level beyond 30, but you don't acquire new skills past that point.

As a recap - although this game had some time sinks mostly related to acquiring gear and leveling multiple classes to a certain point, the major milestones were, again, too easily reached. The game itself didn't present enough of a challenge. This could have been easily remedied in a few ways:
- spread out the acquisition of new party members
- include more map locations
- make the later encounters require some further leveling or gearing
- add random drops and an item enhancement system. Do not make the loot straightforward to obtain (from a vendor)
- increase the level cap or slow down leveling
- add a hard mode that you start with the current characters after finishing the main campaign

The only thing this game added for replayability was a set of three arena maps with endless play, one of which dropped better loot. However, we're essentially back to the old high score problem once you get all the loot you need.

My third and final example for today is Fargoal. This game, on the surface, seems like it should fit my ideals on replayability pretty well. It has an endless number of randomly generated dungeon levels, monsters that scale with your level, challenging gameplay and different difficulty settings. I've probably logged about 20 hours into this game, which honestly really doesn't do it justice. I'll explain why I stopped when I did. I think that fundamentally this game lacks variety. After less than 10 hours of play, you've probably seen all the items you can pick up in the game, and most of the monsters. At that point, the game becomes somewhat repetitive, and to a certain extend, luck-based, which really detracts. Fall down a deep enough hole and you're most likely screwed, and you've burned away a sizable time investment. Also there's really only one milestone in the game - getting to a certain level and retrieving the sword. That carrot is a little too far away, and if you ever do manage to get it you're probably not going to try again a second time.

Now that I've examined a few iOS titles and given examples of what was missing from those games, I'll wrap this introduction up. In the next entry, I'll start examining a number of games that I consider to be successful, in some way, at a certain thing. In each post in this series, we'll walk through different facets of good RPG titles and see what gave them the lastability and appeal that I'd hope for in a title I purchase.

Tuesday, May 31, 2011

Ten ways to add depth and replayability to your game

I started to think about all the ways I've seen games almost create great replayability, but just fall short of the mark, and I decided it was time to write a short blog post on it. I'm apparently not your average iOS gamer who wants to spend 15 seconds every now and then playing. I want games that I can spend hours at a time playing - on my commute, on flights, on my couch in the evening. So these thoughts I'm sharing are to do with non-casual games. A lot of these ideas are extremely simple and cheap to add to a game as long as you plan ahead (a little). Remember that unless you intend to make your game online pvp, you really can go wild with the power level of characters as long as the game scales appropriately.

1) Implement things to do once the main storyline is complete. The game shouldn't end at that point. Imagine World of Warcraft ending with nothing to do once you hit level 60. Imagine Starcraft 2 having only the campaign missions in it. Ideally, a game should implement things to do with the character you took through the storyline such that you can continue to play with that character and continue to be challenged (or even increase the challenge). The Inotia series does this really well. This is also what made Final Fantasy 7 probably the most loved game in that series. Anyone remember raising and breeding Chocobos up to the gold one to go get Knights of the Round materia? That's what made the game amazing - all the stuff you could do after the main storyline finished.

2) Implement difficult to achieve upgrade systems. This might include rare drops for the best loot. But think a little ahead. How about rare drops for item enhancement scrolls or gems. How about rare book drops for new abilities or ability improvements? Make it difficult to get the best of the best. I don't want to be handed my top-tier loot on a plate from trash mob drops or random chests. That doesn't feel very rewarding.

3) Implement achievements. Implement lots of them. Implement difficult ones. Implement insane ones. This goes without saying, really. Many people try to get all of the achievements in a game. This is a simple idea that a lot of games implement already (for instance, the one, two, three stars system that lots of puzzle games have or game center/open feint integration).

4) Implement unlockables. Make some difficult to get. Tie unlockables to difficult achievements. Make the unlockables so worth getting that people will get them. Make long and difficult attunement chains to access new areas. Unlockable stuff is what gives a lot of games on other devices (console games, etc.) their long play time. For instance, I consider "Everybody's Golf" on the PSP to be one of the best games on that platform simply because I spent months unlocking all the courses, characters, clubs, clothes, etc. Simply unlocking a different skin for your main character isn't really as good of an incentive as unlocking a new level or an item that improves the strength of your character. Unlockables have to be worth getting and not just fluff.

5) Implement statistics. And make them visible. They are as much bragging rights as achievements. Statistics are cool, if they're done right, and are really easy to implement if you've designed your game with them in mind. Time spent playing, largest crit, monsters killed, longest combo, etc. For some more involved games, you might want to implement stats that players can track while experimenting with different equipment setups. DPS, crit %, average damage per hit, average heal done, etc. If you can make some statistics shareable online, they definitely become more valuable.

6) Implement randomness. Randomly generate the world. Randomly generate items. Do enhancements systems based on luck. Think rogue-like games or something like Torchlight. Randomness allows you to build essentially infinite dungeons. For randomness on enchantments, look at Torchlight's or Inotia's enchantment systems. These "gambling" style item upgrade systems allow for complete uniqueness between players (and in-turn bragging rights).

7) Make your game endless. Don't implement a level cap. Allow the possibility, however expensive, to keep adding another plus one to that item. Auto generate new areas as needed. This reflects on the previous point, but in a different way. With some simple maths, you can scale the stats of enemies and in turn the stats on drops as far as you want. If designed correctly, you don't need to even implement level caps (just scale the XP needed to get to the next level such that it ends up taking longer and longer to get another level). Your game world could have a series of dungeons that are only accessible after the character has reached a certain level or completed the previous one, or done some attunement quest. For item enhancements, just make it more and more expensive (in terms of time invested) for each additional +1. If a player wants to grind to level 150 and get +30 to their sword, no matter how long it takes, they should be able to do that.

8) Implement difficult crafting. Rare recipes that need lots of expensive or rare ingredients. Even rarer recipes that need the previous crafted item as a precursor. Make some of the best stuff crafted. Crafting, as long as you can implement the storage system properly, is a nice time sink. Make sure that reagents stack in an effective way (there's no need to cap the stacking number of a reagent, for instance). Make some reagents difficult to get (rare chance to drop from a difficult boss). There's nothing more satisfying than finally assembling a truly awesome new sword after hours and hours of fetching the reagents needed, and there's nothing more satisfying than finding that super-rare recipe drop.

9) Open harder modes that you play with the same character you just finished the game with. And an even harder one after that. Remember that a lot of scaling is just mob health and damage output. If your game has a finite story line and end point and you don't want to extend play past that, allow your character that you just finished the game with to go back out, from the beginning, against even harder mobs, wearing the gear they just spend a lot of time collecting and improving.

10) Implement discovery. For instance, don't document every recipe, drop, enemy and location. Don't make the game linear. If I know what the best stuff in the game is, sure it allows me to know when I've finished the game, but it also lets me know that the game has a defined end point. I hate linear games that give out the gear needed as I go - it doesn't feel like discovery or accomplishment. I should have to re-visit old areas to find new things. It shouldn't matter what order I do things in, aside from the main story quests, but I should have to do a certain amount of side questing to move on. I want to see new monsters later in the game, or at least new abilities on higher level versions of lower-level monsters.

Think of an XP bar in an RPG. The bar goes up and eventually fills. Then you gain a level, the bar empties and you have to refill it again. Many many gamers just want to fill bars like this. Whether it be levels, ranks, reputation, ladders or whatever, they just want a number that they can make go up. The more of these bars you can add to your game, the more engaging it will be for gamers. This is where companies like Blizzard are so successful. You don't need to be a rocket scientist to add these to your game.

Can at least one games developer learn to content update properly?

I don't know how often I need to mention this, as, to me, it feels like plain common sense. But I guess I haven't seen pretty much a single developer do this. What am I talking about? Content updates closely following the release of a game.

My first line of thought is that developers push out a game, rake in piles of cash and figure "that's it, I'm good". Okay, that's pretty understandable. I mean, they probably spent the last half a year working on something and it probably got pretty hectic towards the end. They want a break. The problem is what happens after that. They lose interest, work on something else, probably push out the odd bug fix, and eventually abandon the project.

Fair enough.

However, what they could have done was have a content update ready for deployment, even before the game is released. If they would plan ahead a little, they could serve this update at the right timing to keep people who are finishing the release-time content interested. After that, have a roadmap. Plan to always be a month or less away from the next content update.

Why would you want to do this when you can just roll in your newly acquired pile of cash and move onto a new project? I can think of a few reasons:

Recognition
If a gamer buys your game and before they're even done with it, there's a new content update that keeps them going, they will remember that. They'll tell their friends about it, who will buy the game. You'll build a following not just for that game, but for your company's name. In this current climate, you'll definitely stand out. The next game you put out will probably sell more on the initial week. You'll likely get written about online (by Touch Arcade, etc.)

Hype
What better way to make someone's mind up about a purchase than to know that they'll be getting more and more content down the line. And when you deliver as advertised, not 3 months later, if at all, your promises will be trusted. Often I've seen developers promise content updates that either never happened or happened so late that nobody even noticed or cared. Why work on a content update that you aren't going to be paid for? You just wasted your time.

In-App Purchases
Provide some free content and sprinkle in some IAP stuff. If people are getting all the updates and actually playing them, they will most certainly want to buy the little extras, be they maps, levels, weapons, new classes, etc.

As a side note, let's mention pricing.

For the most part (and I know there are some minor exceptions), when a game debuts at a price higher than a couple of dollars, you can expect the price to be lowered on it eventually. Most likely after a month or less. This is fairly predictable, and I've seen a developer friend of mine doing a similar thing. I know that you can get graphs on purchase trends for your apps. After the initial buying rush subsides and you see the graph slope tending towards zero, you lower the price. Certain app monitoring sites and tools notice it. A site may even write about it. Then you'll see a second peak as effectively the last of your sales happen (those people who waited for the inevitable to happen or who were on the fence about buying the game in the first place). The only people who will pick up your app after that will pick it up when you make it free for a day.

I'm sure there's some statistical maths to be done here (by someone), but I'm guessing that debuting at a lower price (one that falls in the realm of impulse buy) might actually be beneficial. You would get more coverage and probably more word-of-mouth sales (and this is likely quite common given how many apps come out per day). Unless this is a massively hyped game that people have been itching to get for months. But those are few and far between.