- BASIC RPG TUTORIAL - Part I
Basic RPG Tutorial with the worx (Created for TFT... but may have use for ROC)
For this tutorial i will create a basic single player RPG. It will be composed of a good quality Terrain, an introduction to selection Triggers and spawning creeps, basic overview of the Object Editor and teach you what the word BALANCE truely means.
Step 0: Open the World Editor found in your program files > Warcraft III folder and let it finish loading up
Step 1: For this RPG we will be using the Village tileset. Map Size we will leave at 64x64 (Which is a very small map size, but good for a demo). Change the Initial Tile to 'Thick Grass' and leave the Initial Cliff Level stuff alone, that is not very important. After that is set up click OK and wait for the map to load.
Step 2: Now you should see the most basic form of a map... Its the Terrain you are looking at, though it doesnt look like much yet this tutorial will make it look beautiful! Now for this map we will use the classic hero selection with Circle of Power's and Triggers. So first we will set up the terrain for that. What i always like to do first is make the map size even on every side so its organized. Do this by going 'Scenario' > 'Map Size and Camera Bounds' There you can change the dimensions of your map, for me i like to keep things squared off... so i will try to get the edges to all have the same absolute value while keeping the dimensions within 2 of each other (Ex. 60,62 64x63). This is completely optional - Click OK if you did it anyways.
Step 3: Now we have our map ready for editing. If you have no tool palette (A small thin window shown only on the Terrain Editor piece of the World Editor) then go to Window > New Palette > Terrain. Now for the Selection of our heroes we will need a small piece of the map to choose from, do thing by finding a corner (Or a unused area) and in the tool palette select 'Apply Cliff - Raise Two', 'Shape Square' and 'Size 5'. Now that you have your brush set up go back on the terrain and go to View > Grid > Large, Then using the grid find a nice spot to raise the terrain where you will put your hero selection area. (In the View Menu it would be wise to check the Camera box if it is not already checked, Any units placed outside of this border will be DELETED when you start the game!) Now apply your brush just like in the screenshot below.
Step 4: Now that we have the area for the heroes set up, lets get started on the heroes! In the toolbar on the Terrain Editor there is several buttons, one looks like a helmet that says "Object Editor" Click on this to edit our heroes (It may take a minute to start up depending on the speed of your computer). Now what heroes should we create... hmm... Lets take the Paladin, Blade Master, Demon Hunter, and the Lich (Each is located in -Race- > Melee > Heroes). On each of these heroes we will add a few spells from other heroes of that race. Now, Click on the Paladin, find Abilities - Hero, and double click on that field. Change Devotion Aura to Brilliance Aura, and Ressurection to Pheonix (TFT only, you could try using Avatar, or leaving this field the same if you have ROC). Now we have a combination Paladin, Archmage, Blood Mage hero... Edit the other 3 heroes as you wish the same way, keep the ultimates (Bladestorm, Demon Form, etc) together, do not have a hero with 4 basic abilities, or 2 ultimates!
Step 5: Now that we have 4 slightly customized heroes we are done with the object editor for now. Go back to the Terrain Editor and find your Palette (If you closed it follow the steps in step 3). Change 'Terrain' to 'Unit palette' and find each hero, alternatively you can right click on the heroes in the object editor and choose 'Select in tool palette'. Place each hero in a different corner on the selection area you created, then select them all and hold CTRL and left-click in the center, they will all face the center. While they are selected press ENTER, then change the owner to Neutral Passive. Now go back to your tool palette and change where it says 'Melee' to 'Campaign' (It should have changed the player in the tool palette to neutral passive to). Select the Circle of Power (Small) and put one in front of each hero. Now change the Palette to 'Region' and place a small region across each circle to cover it around each edge (Do not make them to big). When you have placed all 4 press SPACE to clear your brush allowing you to select them, now select each one and change it to the hero it will represent.
Step 6: Before we get to the trigger section, we must first start our terrain. We will need only a few more regions in order to finish the hero choosing. Now what we need to do is find a nice place to have the starting town, it should be basic town with level 1 and 2 creeps outside (This begins the Balance section of the tutorial). Now for the terrain, we should make it look as nice as we can so that when we make our new map we can look back at this as a reference! Its also a good idea to use the 'Hieght' feature in the terrain palette. Now find your starting point for your town and start terraining, what i like to do is take open the Terrain palette again, and select a Rock, Stone, or dirt path and use it to map out the roads in my town. Try to use as much variation in tiles as you can, but keep it looking nice not sloppy, no stone/grass/stone/grass patterns! Now that you have created the layout for your town you can start adding the 'Doodads'. All a doodad is is like a terrain prop, there the detailed piece of terraining and i recommend you use a mild quantity per town, and even outside the town. Doodads range from birds and banners, to houses and bridges. Theres fire pits, fences, trees, bushes, flower, etc etc! You can use the palette for doodads, but i recommend using the bottom left box (referred to as the Brush List) Simply select Doodads and begin creating! (You may also want to save some room for a shop or fountain of health... This is an RPG after all :) )
Step 7: Now that we have a nice starting town we can begin adding some basic units. But before we do that create another region at a good place in the town, free of obstructions (This will be where your here will spawn). If you forgot how to make regions read step 5 again. Name this region either Starting Town, or Main Town (Or something along those lines, not that its important its just nice to be organized). Now in the brush list go to units > neutral passive > melee > buildings > Goblin Merchant and place 1 in your town, maybe a fountain of health also. Now we can start with the creeps, go outside of the town and decorate it like a generic light forest. With trees, rocks, birds, flowers, and brush. If you want you can create water using the terrain palette. Its also nice to use the 'hieght' feature of the terrain palette here, and in all other terrain we will cover. Okay now that we have some decorated landscape we can begin placing the creeps... Go to units > neutral hostile > melee and find some creeps. Get level 1-2 creeps near the town, and level 3-5 at the next town (NOTE: You can not level past 5 from creeps, you must change the game constants creep reduction table to 100 [take off the ,80 ,60 ,40 ,0 to gain full experience) You can view what level the creeps are in the Unit Palette, it says above the units Bandit - Level 1 for example, i will use bandits and brigands. Now we can start with some triggers!
Step 8: Triggering will be the best part of map making when you get more experienced, you can do so much so easily once your good at it ;). We will only need a few basic triggers for this map and i will guide you through them so try not to get lost. First we will do hero selection, start off by opening the Trigger Editor (Like when we opened Object Editor, its a small 'a' icon in the toolbar). Now you will see a 'Melee Initialization' trigger, when you play you will win when the game starts, along with many other errors. Delete all of the 'Actions' listed in that trigger EXCEPT for the 'use melee game time of day'. Now here is where i break my format, create a new trigger by right clicking on the 'Melee Initialization' folder, and choosing 'New Trigger'. Name this trigger Paladin Selection, Lich Selection etc.. only name it one of the selections and we will base the others off of it. Now create an event: Unit - A unit enters Paladin All you do with these triggers is find the event class, then look for the most basic form of the event you need, then you will define it more specifically with conditions and actions. (Remember, Triggers launch the Actions, which only occur if it meets the certain Conditions). So far this trigger does nothing, so we will add a condition, right click Condition and choose 'New Condition' then search for Unit-Type Comparison, select the first field and change it to Unit-Type of (Event Respone - ENTERING UNIT) and the second field should be changed from Footman to Wisp. Now any actions that will fire when a unit enters that region, will only fire if the unit entering is a wisp, which we will customize at the end of the tutorial. Now for the actions, create your first action like the condition, now scroll way way down untill you find the 'Unit - Create at Facing ', edit the fields to look like this, replacing the hero with whatever the event name was (Ex. Paladin Selection - Paladin, Blademaster - Blademaster). For the Region select the Starting Town region (Or whatever you named it), also create 1 unit facing 270 degrees (Degrees are hardly important). ALSO For the Player under which has control, select 'Owner of Unit' and change 'Unit' to 'Event Response - Entering Unit'. Now create a new action, 'Unit - Explode' Set the exploding unit to 'Event Response - Entering Unit' once again. Now what should happen, your wisp steps on the circle which has an invisible region on it, then your wisp explodes creating a hero of whatever type the region was for. If your staying with me good job :).
Step 9: Now you must finish the selection triggers, select the one you just made (For me it was Paladin Selection) and edit>copy, edit>paste, now to change the name hold shift and left click, wait 3 seconds, and then you should be able to name it Blademaster Selection. Just change any fields that you see paladin in, such as 'paladin region' and 'create 1 paladin' to Blademaster, do this for the Lich and Demon Hunter also. Now we do the respawn trigger for both your hero and the creeps. Create a new trigger in the Melee Initialization folder (Its ok to be unorganized here because we wont have very many triggers anyway) Name it Respawning. Create a new event > Unit - Generic unit event > Unit - A unit dies. Now this trigger fires whenever a unit dies. Add a condition type 'OR' with field 1 'Player comparison', change the field to look like this: "Owner of (event response - Dying Unit) equal to Neutral Hostile" OR "boolean > (Dying unit) is a hero equal to TRUE". This will enable spawns to be recreated, and your hero to revive with a simple if/then/else. Now create that if/then/else (MULTIPLE FUNCTIONS) with fields: IF (boolean - dying unit is a hero equal to true) then do (wait 10 seconds - revive (dying unit) at (Starting town)) else do (wait 40 seconds - create 1 (unit-type of dying unit) at position of (dying unit) for (owner of (dying unit)). NOTE: I don't think the if/then/else (multiple functions) exists for ROC, so once again... this is a tft only part. Now what this trigger does, when anything dies, if its either a hero or a unit owned by neutral hostile it will revive. It gets pretty self-explanitory after you do a few ;).
Step 10: We are almost done with the tutorial, leaving you alot of room to finish up! We still have a few things left to cover that i will cover in this step, but since they are different catagories i will make sub catagories.
A: Customize the night elf wisp, remove its abilities just like how we changed the hero abilities, and scroll to the bottom to 'Techtree', structures built, upgrades used etc should all be blank. Now right click on the wisp in the treeview on the left and select 'Select in tool palette'. Now put 1 down in the center of the circle of power cliff area.. not on any circles though! Also create your starting location here.
B: Since this is 1 players we do not need to mess with the player properties, but we will still name it. Go to Scenario > Map Properties, and fill out each form however you want, leave the map and camera bounds alone though...
C: Polishing - I like to call it polishing when im almost done with a map and i just gotta clean the stuff up and make it look nice, really what i do is fix any bugs, such as bounties (Which we havent delt with), bugs, imbalances, and pretty much anything along the lines of beta-ness :).