[In a Gamasutra-exclusive postmortem, some of the key figures behind seminal Warcraft III mod Defense Of The Ancients, now working on the DoTA-influenced League Of Legends for Riot Games, provide a look at the creation of the original title.]
Having touched the hands of more than 10 million people worldwide since its inception nearly 5 years ago, Defense of the Ancients, (DotA) is arguably one of the most popular game mods of all time.
Created primarily with the free "World Editor" packaged with Blizzard's amazingly popular RTS game Warcraft III: The Frozen Throne, each new version of DotA is the culmination of tens of thousands of man-hours of work by hundreds of community volunteers.
DotA is an online session-based game where each of up to 10 players chooses a "hero" to play during a 5v5 match. Assisted by computer-controlled units, (known as "creeps"), you can kill enemy heroes and creeps to gain resources and levels that allow you to purchase items and train new abilities for your hero.
The game is won by destroying your opponent's primary structure (Ancient), before yours falls. DotA is typically played online or over LAN in sessions that last about an hour on average.
Drawing inspiration from a popular Starcraft mod known as Aeon of Strife, the first version of DotA was released in the middle of 2003 by an individual known only by his pseudonym "Eul".
In Eul's original DotA, players could choose one of 32 heroes, and hold up to six items simultaneously from a pool of 39 available options. This rudimentary predecessor of the current DotA paved the way for the future innovations that have led to the success it is today.
On May 29, 2003, Blizzard officially released the Warcraft III: The Frozen Throne expansion pack which added a breadth of new features to Warcraft III, including a new and improved World Editor.
This new tool provided map-makers far more options for customizing items, skills, models, tiles, etc. Utilizing these newly released tools, many spinoffs of the original DotA were created with vastly superior sets of features, including the first versions of Steve "Guinsoo" Feak's Defense of the Ancients: Allstars which is the focus of this postmortem.
Guinsoo originally began development on DotA Allstars because he was frustrated with bugs and balance issues in the version of DotA that was most prominent at the time.
His original intent was not to begin a large-scale project, but simply to create a more fun version for himself and his friends. After finding success with these initial changes, he started to enjoy map development more and more, and began expanding his releases.
1. Diversity of content
It was quickly realized that replayability would be the key to DotA's success; it was necessary for Guinsoo to make the game as deep as possible while still working within the limitations of the engine and tools to which he was bound.
This was executed by examining the "fun" elements of gameplay, and expanding on the game simply by adding more choices (and therefore more possible combinations of gameplay). Guinsoo began adding content at an extremely rapid pace, with each individual hero or item increasing the replay value of the game exponentially.
Heroes - By the time Guinsoo released his final version of DotA, there were 69 completely unique and diverse hero options for a person to choose from -- creating over 300 million possible 5v5 matchups.
With every new hero added to the game increasing the number of possible unique matchups, adding heroes was a simple way to enhance the gameplay depth and longevity without having big-company resources. Ideas for new heroes came from Guinsoo's group of close friends, the community forums, volunteer beta testers, etc. Hero names have been influenced by many popular anime, Magic: The Gathering, comics, and so on.
Items - In DotA, items were originally added to create additional ways for you to customize your hero during a session. In the original version of DotA, however, a single gameplay session lasted long enough that most players could get the "best" items for their character in every item slot and still have lots of unused gold left over by the time the game ended.
Guinsoo felt that it was necessary for items to be able to scale with the character, so players had cheap options for the beginning of the game, mid-priced options for the middle of the game, and high-priced options for the end of the game.
Unfortunately, simply adding lots of items for each tier would mean that if you wanted to replace the items in your inventory with more powerful ones, you would have to sell your items back to the shop losing half the gold that you paid for them.
Since having to sell and replace your items was not a desirable option, Guinsoo created an item combination system as a solution to this problem. This allowed players to buy cheap items early in the game, combine multiple cheap items into mid-priced items for the middle of the game, and combine multiple mid-priced items to create expensive and powerful items for the end of the game.
Doing so meant that the resources players were gathering throughout the game had consistent usefulness, and created a persistent goal of trying to get to the next tier of items.
Roshan - In version 4.0a, Guinsoo added Roshan. Roshan was a computer controlled "boss mob" which required an entire team to kill.
Defeating Roshan rewarded your team with experience and items, but left your defenses exposed during the fight. As such, choosing to battle him was a potentially risky endeavor.
If the other team became aware that you were fighting him, they could either try to kill you, (and steal Roshan), or push into your base to destroy key structures.
As an attestation of the fact that many sources have influenced the progress of DotA, Roshan was actually named after Guinsoo's bowling ball.
The addition of such a substantial amount of gameplay diversity led to balancing issues. Due to the limitations of the tools that Guinsoo had available to him, balancing decisions had to be made through direct observations and direct player feedback.
Balance was tuned each version, and the only way for him to know if he got it right was to see if the players stopped complaining.