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:
- When the target audience is undecided I tend to use myself as a base. I had never played Warcraft III before so this meant I would make a map that is challenging but doable for players new to the game.
- It would be a so-called ‘Hero-RPG’ instead of a RTS map. This means there is no base-building and a strong focus on narrative.
- Adding a new mapping editor to my repertoire. This goal doesn’t actively need to be achieved. It comes automatically, but it was a deciding factor for outlining this project.
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.
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 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.
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 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.
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.
- It gives the player a real sense of agency: His/her decisions really make a difference because characters react to them.
- It creates multiple ways of playing the map. Different people will have different experiences and be able to play it again with different decisions.
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:
- If the player saves the night-elf he will be happy and thank you (In retrospect he should also have rewarded player)
- If the player ignores the night-elf he will be sad and mourn the loss of his daughter
- 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.
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…
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.
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
- Even though the map is inherently linear, players do not feel it is.
- The Warcraft III editor is a great tool that is easy to learn, but at the same time has almost limitless possibilities.
- I learnt the basics about creating cut scenes, writing dialogue and delivering narrative.
- I learnt a lot about narrative, but I am not entirely happy with the end results. Especially near the end of the map, where Illidan turns, the dialogue is rather unconvincing. Next time when working on a map like this I would do a lot more research about creating narratives.
Thanks for reading! Feel free to contact me for questions, comments and discussion.