Welcome back for Part 2 of the Dota Outland review; check out Part 1 if you’re not up to date. We’ll resume going through the enormous list of map features…
This silly little feature allows units to jump down certain cliffs, as a one-way ticket to enter a lane. It was intended to help a team defending their base to initiate fights from an unlikely angle, without also giving the attacking team a route into the base. In practice, having a tiny number of predetermined initiation spots in awkward places was a very unsuccessful idea, and the pads saw no use. Had they been placed better, or been deeply integrated with moving around the map, some very interesting dynamics might have arisen. But when it comes to simple initiation, having good hero abilities is a much better solution, and if those can leverage the terrain, then all the better.
True to the DotA formula, Outland has a number of creep camps scattered between the lanes. These respawn at regular intervals, and offer decent rewards, though very few heroes could make a living off them (not enough sustain options).
On each side of the map was one camp with a single randomly chosen Level 10 creep: a powerful, specialised opponent. These included a creep with 100% damage return against melee attackers, another with low damage but a strong mana burn on attacks, and a third which was spell immune.
Level 10 creeps were designed so that every hero would find at least some of them challenging, even when farmed. They provided a very respectable gold bounty (25× the value of a lane creep), but since they were by nature not a reliable income stream, not approachable until later in the game due to their stats, and time consuming to kill and recover from fighting with, players mostly left them alone.
A more refined version of this feature might have five possible creeps that can spawn, and each player on a team can efficiently kill one of those. So teams would be required to scout and coordinate their movements to keep clearing that camp for its high bounty, while still farming the rest of the map and achieving objectives with the remaining four. If the opponent could deduce who’s going to be at the camp based on enemy movements, maybe they could even arrange a gank!
Playing a very minor role, four small non-respawning camps were placed around the map, with two in the river. These existed as an point of contention for heroes looking to get an early boost in experience.
An idea that had been floating around at the time was: “What if there was an AoS with quests?”. I decided to try it out, by making an area on the map where heroes could pick up items that would start them on a quest. Completion would carry a substantial gold reward, while failure would be punished by losing experience. The quests were:
- Defence: Ensure that no enemy troops reach your side of the map for the next 100 seconds.
- Rampage: Kill 50 units in the next 180 seconds.
- Slaughter: Assassinate a randomly chosen enemy hero within the next 180 seconds.
- Survival: Stay alive for 180 seconds. Both teams’ AI-controlled units will attack you during this time.
Quests were announced to both teams when started, so that the enemy team would have an opportunity to interfere or sabotage the quest’s progress. The Defence quest in particular was a team effort with team rewards, and of course only worth doing when the timing was right.
The problem with individual quests was that they took players “out of the game”, and quite literally so in the case of Survival, where staying on the lanes was greatly discouraged. At one point, accepting a quest would also provide a relevant buff, such as Bloodlust (bonus movement speed and attack rate) when starting a Rampage. Players started to take the quests exclusively for the buffs, making it clear that the penalties weren’t nearly high enough for failure. Individually-motivated quests seem to be a bad idea, and team-oriented quests are much better implemented as map objectives, where the team can converge around them to indicate willingness to participate.
Wards are a special item type in Outland. Only one of each type can exist on the map at a time, and they are sold by a special mid-map shop called the Wardlord. Upon placing a ward, it will provide its effect for the specified duration (or until destroyed), and then revert to simply being an item on the ground. Anyone can pick it up, and place it again to enjoy its effects. The available wards are:
- Healing Ward: Heals nearby allies, lasts 15 seconds.
- Mystic Ward: Restores mana to nearby allies, lasts 15 seconds.
- Astral Ward: Damages nearby enemies over time by casting Starfall. Lasts 9 seconds.
- Stasis Trap: After a short arming time, it becomes invisible and will explode to stun nearby enemies when next approached by an enemy unit. Lasts 150 seconds.
The Stasis Trap is the most interesting, since the enemy can retrieve the trap for their own use if the first player wasn’t there to take advantage when the trap went off. There is no option to disarm the trap early, since the ward is a friendly unit and cannot be attacked.
Was this a good system? My ideal at the time was to see players placing wards often (because they were strong), and changing hands often (because they were vulnerable), which would make them tricky to use well, but rewarding. In practice, the first three wards were typically used in a very advantageous lane, or while under towers to prevent theft. Often players would simply leave wards in their fountain to remove them from the game if the enemy was getting more use from them. Also if the opponent had any hero which could go invisible, they could be stolen trivially and were a waste of time. They were a fun experiment, but not one with good results.
Totems are another special type of item, and the innovation that I was most pleased with, even if they were far from balanced. Totems are activated, single-target items which become more versatile and valuable when more people on a team have one. The five totems are as follows:
- Totem of Souls: Averages the life and mana of the caster and the target. Can only target allies who carry a Totem of Souls.
- Focus Totem: Damages the target unit for 75*(number of nearby heroes with a Focus Totem).
- Petal Totem: Applies an shield which absorbs 500 magic damage. Can only target allies who carry a Petal Totem.
- Unicorn Totem: Speeds up an ally, or slows an enemy. Can only target heroes who carry a Unicorn Totem.
- Totem of Winds: Teleports the caster to the target. Global range, can only target allies who carry a Totem of Winds.
Some of these are weird, and some of them are plain crazy. It is one thing when an individual hero can equalise life/mana with an ally, but quite another when two heroes, or an entire team can do it to each-other. Requiring that both players have the item to unlock its potential means that there’s a attitude shift from “I’m supporting you” to “we’re supporting each-other”, which is a change for the better.
Totem of Winds is not a balanced item at all, and completely changes how the game works. Once teams are using it, a 5v5 fight can break out anywhere at any time; everyone just piles on top of each other! But if they are having fun and cooperating, then we’re on the right track to iterate towards something that’s both fun and balanced.
Unfortunately, very few players ever got around to using Totems. They were jumbled in among all the other items in the shop, as well as being expensive. Outland could have been a much more interesting game, had players’ attention been focused on Totems, and my attention focused on making them work. I still think there is great potential in the idea.
Movement Speed and Attack Rate:
Almost every AoS developer has at some point found themselves writing a helpful little note to explain that “movement speed from items does not stack”. This is typical Warcraft behaviour, and makes sense for the game’s balance. But I didn’t like that players could never justify picking up two boots items, so I sought an alternative.
My idea was to retract passive movement speed bonuses, and instead give items an activated ability that would provide a buff for 60 seconds, granting the extra speed. (It was not a permanent buff, since I didn’t want people using the active and then dropping the item for an extra slot.) But the base ability that granted the buff could easily be configured to also affect attack rate, so I incorporated that into the system as well. The resulting items were:
- Boots of Speed: Activate for +15% movement speed.
- Gloves of Haste: Activate for +15% attack rate.
- Power Treads: Activate for +15% movement speed, +15% attack rate.
- Trekkers: Activate for +30% movement speed, +10% attack rate.
- Sonic Slashers: Activate for +10% movement speed, +30% attack rate.
- Hyperstone: Activate for +45% attack rate.
- Windrunners: Activate for +45% movement speed.
The nature of Warcraft’s buff system made it so that only one of the above items’ bonuses could be active at a time. This made for a pretty interesting system, where movement speed and attack rate were tightly coupled, and players could justify carrying two ‘speed’ items for the versatility of switching their active bonus at any time.
My goal had been achieved, but there were problems. The hassle of renewing buffs every 60 seconds was annoying both myself and my players, and I didn’t have the necessary experience to improve the system’s usability. So sadly, this got scrapped, and I reverted to passive bonuses.
And that concludes the list of evidence that I was an additive designer. A huge number of features and quirks, but not single one that made Outland particularly unique, or was given the room to define its gameplay. Looking back, almost all of them could be stripped away, and the core of the game wouldn’t change.
But what was the core of the game, if not any of the mechanics we’ve seen so far? For me, and I am comfortable saying for most of its players, heroes were the big draw. Outland was among the forerunners in its day at having lots of characters with custom art assets and unique triggered spells.
That is not to say that I was either an artist or a programmer: rather, I was simply leveraging the resources that were available to me. Users on sites like wc3c.net, or the now-extinct wc3sear.ch (the Hive is its successor) were generously publishing their work online, including unit models, skins, and spells that they had written along with the source code. I trawled through their work, hunting for pieces I could use and hidden gems, and these formed a substantial amount of Outland‘s best content. Good spells were particularly valuable, as nothing makes a hero stand out quite like unique abilities.
But not every hero relied on fancy scripted spells. A long standing player favourite is Shadowdancer, a hero who can only move by blinking, and his entire skill set revolved around this unique mechanic. His Spires of Darkness ability leaves behind a tentacle with each blink to harass and obstruct the movement of his enemies. The spires aren’t a problem for him though; he can just blink past them. The combination of being very demanding to use (for the wrong reasons, but still), with his extremely high mobility, meant he offered players a new and different experience. This didn’t take any scripting to achieve, though it would have helped greatly with usability.
Another example of a minimally-scripted hero is Kali, a blind hero (zero sight radius) who relies on Satyrs that he can summon from the trees to be his eyes. He can drop an immobile death ward whose base damage starts low, and builds up over 2-3 minutes: very dangerous if he can lure enemies into it at the right time and stun them there. Kali is a nice example of creative use of object editor data. But many heroes leveraged a mixture of object editor tricks and scripted spells.
Surprisingly, I seemed to be alone in giving standalone scripts and spells a new home, at least within the AoS genre where they seemed most suited. Other developers were perhaps busy writing their own spells, unaware of what was available, or satisfied with the same kind of data editing that I was used to.
Unfortunately, borrowing code wasn’t all sunshine and rainbows. Outland was a consistently buggy game, thanks to a combination of constantly adding new things, and not fully understanding how those things worked. Gradually though, I learned to work with the Warcraft editor’s scripting language, and reached the point where I could write simple spells of my own. I owe a lot to the people who made their scripts available for developers like myself; their scripts, tutorials, and helping hands are what led me to study programming properly.
In fact, it was learning to program that led to Outland‘s end. I realised just how badly cobbled together the map was, and concluded that a clean slate was the only way forward. Which is what I eventually did, leaving all the ideas presented in this article to rest while I began work on a new AoS project… but that’s a story for another time.