{"id":3378,"date":"2014-07-26T16:34:30","date_gmt":"2014-07-26T06:34:30","guid":{"rendered":"http:\/\/www.vectorstorm.org\/?p=3378"},"modified":"2014-07-26T16:34:30","modified_gmt":"2014-07-26T06:34:30","slug":"mmorpg-abilities-ai","status":"publish","type":"post","link":"https:\/\/www.vectorstorm.com.au\/2014\/07\/26\/mmorpg-abilities-ai\/","title":{"rendered":"MMORPG Abilities & AI"},"content":{"rendered":"

World of Warcraft, I believe, is slightly unique amongst MMORPGs in that its different classes not only have different abilities, but actually have different resources providing access to those abilities.<\/p>\n

Spellcasters have “mana”, fighters have “rage”, and rogues have “energy”. Each of these is a limited resource which is consumed by invoking particular abilities. In practice, all three are exactly the same, except in what happens to them when they’re not actively being used. “Mana”, used by wizards, will slowly fill up, starting five seconds after the last time you used it. “Energy”, used by rogues, is like Mana, except that it fills up more quickly, and doesn’t have the five-second cooldown after use before it starts to recharge. “Rage”, used by warriors, fills up as a side-effect of certain warrior attacks. The rage can then be used to power even larger attacks.<\/p>\n

In MMORPG Tycoon 2, by default we use a “Health, Mana, Rage” system right now. Today I spent a little time looking into why it was that PCs were never using their mana, and quickly realised that it was because I wasn’t by default giving them any abilities which actually used mana (despite using ability names which sounded like they involved magic usage). PCs were just getting five boring abilities which simply did between 1 and 4 points of damage to their opponent.<\/p>\n

So I modified that. Now, they get the following abilities by default:<\/p>\n

<\/p>\n

Attack<\/strong>: A basic melee attack.
\n * -1 health to target
\n * +1 to user’s rage<\/p>\n

Beatdown<\/strong>: A rage attack
\n * -5 health to target
\n * cost: -2 to user’s rage<\/p>\n

Flare<\/strong>: A melee magic attack.
\n * -2 health to target
\n * cost: -1 to user’s mana<\/p>\n

Each of these attacks has the same cooldown duration, and each requires melee range.<\/p>\n

A human would very quickly find the optimal pattern here; use “Attack” twice, then “Beatdown”, and repeat. This will yield -7 health to the target for every three attacks. By comparison, using “Flare” will only yield -6 health to the target for every three attacks. But the current game’s AI isn’t yet smart enough to see that — it only looks a single move ahead while looking for the best option, which means that it will use Flare until its mana is exhausted, and only then discover the attack-attack-beatdown combo.<\/p>\n

I do wonder whether this sort of situation is part of why Blizzard chose to not use two different ‘energy’ systems within a single class; each class gets only one.<\/p>\n

Of course, the same situation could happen without needing two different types of energy; If ‘Flare’ used rage instead of mana, the AI would have the same problem — it would build up enough rage to use ‘Flare’, and would then use it, without ever considering that if it used ‘Attack’ just once more, it could then use ‘Beatdown’ to inflict significantly more damage.<\/p>\n

I’ve always smiled a little at the silly idea of implementing an “Elitist Jerks” system which was built to occasionally analyze these systems and find the optimal pattern (named after an Internet forum which does exactly that for World of Warcraft), and then have the more experienced PCs use whatever pattern had most recently been found (whether or not it was still the most optimal). But more and more, it’s seeming less like a joke, and more like something I might actually need to do.<\/p>\n","protected":false},"excerpt":{"rendered":"

World of Warcraft, I believe, is slightly unique amongst MMORPGs in that its different classes not only have different abilities, but actually have different resources providing access to those abilities. Spellcasters have “mana”, fighters have “rage”, and rogues have “energy”. Each of these is a limited resource which is consumed by invoking particular abilities. In…<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[24,25],"tags":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/po9WK-Su","_links":{"self":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/3378"}],"collection":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/comments?post=3378"}],"version-history":[{"count":3,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/3378\/revisions"}],"predecessor-version":[{"id":3382,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/3378\/revisions\/3382"}],"wp:attachment":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/media?parent=3378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/categories?post=3378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/tags?post=3378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}