2012 Post Mortem: The Corruption of Illidan

Most of my personal mapping projects have been for FPS’s and it was time to spice things up. I wanted to create something story driven. Something that, instead of being an evenly balanced playing field for competitive multiplayer, would create an interesting and directed experience.

I heard Warcraft III has a great editor and, dear reader, I was not disappointed! Having struggled with the Hammer editor many a times, I was expecting the worst. But it was the exact opposite. Whatever I made, it just worked.

This made me realise just how much different editors overlap, and how many level design concepts are universal. Mastering one editor will make learning others half the work. Or the Warcraft III editor is secretly built upon the Hammer editor…


As usual, I started with outlining some basic goals that I wanted to achieve with this project:


Warning: If you start a map with the freedom to choose anything, you may have a hard time narrowing down and focusing. Set yourself some constraints like only using a selection of assets or sticking to a setting already fleshed out in the game you are mapping for.


This is the first time I realised creating a layout based on the initial goals is NOT the first step of coming up with a new map. The story is. The story affects just about everything:

In The Corruption of Illidan the story was based on the existing Warcraft III campaign.

The full, unedited version can be read below to get a sense of how detailed the story was when I started:

Escaping the clutches of the Blood Elves, Illidan Stormrage and Tyrande Whisperwind take a low profile and try to sneak out of Blood Elf territory. As they stalk the shadows they get spotted and have to run! With the Blood Elves just behind them they rush off into a small passage they find in between the mountains. And as if things couldn't get any worse they run into another patrol. Jumping into an alcove gives them a narrow escape and as the two patrols give up and return to their duty, the heroes decide to trail the returning Blood Elves towards a small camp. One by one they pick off the guards of the camp until flattening it in its entirety. This weakens the entire Blood Elf activity in the area.

This gives our heroes a greater chance of escape and luckily Tyrande knows of a secret passageway leading straight to her base. As the two of you arrive, exhausted, the team takes a well‐earned rest. The next day, after gaining some new equipment and refreshing his supplies, Illidan (accompanied by Tyrande) goes on to Alleria's base from where they'll return to their homeland.

Suddenly, while passing a couple of mountains, a huge Demon lunges out of the shadows attacking both of our heroes. After an intense, but not too hard, boss-fight Tyrande heads back to her camp telling her general the mountains are safe again. Illidan, alone now, picks up the glowing skull of the Demon known as Gul'dan and feels a dark energy flowing through him. He sends out a loud echoing scream causing a couple of birds in the vicinity to fly off. As the skull's energy pulses through his veins he looks at his own hands and realizes his transformation. As he brings down a tree with a single strike an evil idea crosses Illidan's mind. What if he uses the power of this skull to create an army, destroy the Demons in this world and become the ruler of everything? With renewed vigour he heads of to Alleria's camp and, as she lost faith in the Night Elves, persuades her to join him [love story?]. As it became dark the two of them snuck up to the Moonwell and corrupted it by depositing Gul'dan's skull into it. Now it's only a matter of time untill Illidan gains an army strong enough to conquer the current ruler of these lands.

Tip: Think of a story before starting on the layout of your map, this does not only apply to single-player maps. This story, however basic, is crucial.

Based on this story I could set up the encounters and create a layout:

There’s a document that details out every single one of these encounters but going further into these details is not important for what I want to convey in this post mortem. The next image shows a top down view of the final layout.


To help myself creating a well-balanced experience I visualised the pacing of the encounters on a curve as you can see below. This aided me a lot during the creation of this map because I know knew what encounters should be hard, when to award loot, duration of cut scenes, etcetera.

Using these curves to dictate pacing can be really helpful when looking at your map and deciding upon how to set up encounters. In The Corruption of Illidan I used this to start on a high note, hopefully hooking the player, and then going back down to gradually work towards the climactic boss battle. However, the use of these curves do not entirely translate to the pacing of interactive media. The player can easily affect this curve by for instance getting lost for a couple of minutes, taking a break, or deciding to skip a side quest. For more on pacing in games I recommend Jacek Wesolowski’s great article about pacing on Gamasutra.

Focus: Non linearity

One of the important things I wanted to do is create a map that is interesting. One that has things to do, places to explore and characters to meet.

To do that my main focus became: make it non-linear; give the player freedom. The following chapter lists all techniques I used to attain this. Many of these were refined during the process of creating this map.

A Hub

A hub is a safe area containing NPC’s to talk to or trade with, quest givers and multiple routes branching off it. These are the types of areas players will visit multiple occasions. These areas benefit greatly if they change over time.

Tip: Hubs are a great way to let the player get some breath and explore at a leisurely pace. Alternating between hubs and intense combat areas is a good example of pacing.

In The Corruption of Illidan hub, the player can talk to multiple people, find an optional quest and explore the area reached by going through the northwest exit. This area contains items needed for this quest.

Image: The HUB in The Corruption of Illidan has multiple exits leading to entirely different areas.


Backtracking does two things very well: It removes linearity and can add gameplay time without the designer needing to create entirely new areas. The trick with backtracking is that players should not recognise it as being a cheap way to add padding to the gameplay. What I found to be the best way to do this is by changing the area when the player traverses it for the second time. An added bonus to this technique is that at the same time you are creating the illusion that the game-world is alive and changing instead of being static and only revolving around the player.

Image: In The Corruption of Illidan I ‘hid’ the backtracking by opening a shortcut back that was initially closed. On top of that when you decide to go back for the first time, a cut scene triggers in which you see the heroes run back instead of letting the player walk the distance.

Side quests

Side quests are an important way of breaking up the standard, often linear, main quest. Instead of A -> B players encounter X, Y and Z whilst going to B, making them deviate from the path eliminating linearity.

Branching dialogue

Image: Branching dialogue can get complicated quickly.

At first, I just did this because I liked the idea that characters would say different things depending on the player’s actions, but then I noticed the great positive effect is had on the gameplay experience.

If I didn’t learn about this at the end of the project I would have incorporated this more in The Corruption of Illidan. As of now there is just one case of branching dialogue: The player is in the position to save a wounded night-elf in the beginning of the map. Later, when reaching a village, the player encounters the father of the wounded elf and depending on the player’s action he reacts differently:

  1. If the player saves the night-elf he will be happy and thank you (In retrospect he should also have rewarded player)
  2. If the player ignores the night-elf he will be sad and mourn the loss of his daughter
  3. If the player tries to save the night-elf but can’t stop her from dying on the way to the village he will blame you for the loss.


Exploration is pretty self-explanatory: Providing optional routes and rewarding the players taking those routes. Rewards can by anything: Loot, side-quests, dialogue or even an advantageous flanking position for the next fight.

This is the easiest way to eliminate linearity.

Warning: Too many dead ends or complicated routes can have a negative impact on the gameplay. Make sure the player knows which route will progress the story whilst at the same time providing options.

Focus: In-game scripting

Not to be confused by scripting in Lua or Java. This is the setting up of the encounters through triggers and variables available in most level editing tools.

A player will quickly learn the mechanics of the game: The controls, the player’s abilities, the enemy AI, etc. To keep stuff interesting in-game scripting is a crucial way of adding more to a game than mechanics alone.

To keep the gameplay interesting, us level designers are able to make our own scripts that make a map interact in unique ways. This is so important that I would go as far as to say a (narrative driven) map without scripted events cannot be successful.

I used scripting everywhere: from signs that warn you jokingly about upcoming enemies to cut-scenes filled with plot.

Below you can see a couple examples. I chose two that are relatively simple for demonstration purposes:

Image: Here an enemy constantly runs away from the player as he/she gets near. The player will have to use both playable characters to trap it, kill it and grab that loot.

Image: In this example a dialogue is triggered when the player wants to continue without making necessary precautions. The player will be able to continue but he/she has been warned…

Tip: Play around! When learning new tools, but especially if you are using an in-editor scripting tool, it is important to know all the possibilities available to you within that tool. You will find these when experimenting and trying out new stuff; not whilst deliberately trying to make your idea work.


As is the case with many of my projects I decided this would be a short project with a strong focus on gameplay. This means, again, that I did not put much time and thought into the visual look of the map.

Of course we do want it to look good, and a quick and easy way to do that when using an editor for an existing game is (re)using an environment from that game and adding a nice twist to it. You don’t need to reinvent the wheel if that isn’t your aspiration. Use an existing theme that has already been proven to work.

This is exactly what I did:

Image: I looked at the Outland theme.

Image: Incorporated it into The Corruption of Illidan.

Image: And added a twist: The night-elves brought some of their forest with them to the Outland.

Tip: When making maps for an already existing game you can use the predefined settings/themes to easily make your map look good (“learning from the masters”). Add a twist to make it your own.

Final Thoughts

For me, this map was a great introduction to making singleplayer maps with a focus on narrative, exploration for the RPG genre. After spending a lot of my time creating competitive shooter maps, this opened my eyes in many ways to a much wider range of skills needed to become a great level designer.

Positives Negatives

Thanks for reading! Feel free to contact me for questions, comments and discussion.