How to create your own Campaign!

Discussion in 'Tutorial Repository' started by Exide, Jul 16, 2008.

  1. Exide

    Exide I am amazingly focused right now!

    +449 / 0 / -0
    Hello, everyone!

    I have decided to write a thorough Tutorial on how to create your own Campaign.

    What's a campaign, you might wonder?
    -A campaign is a series of maps linked together, which follows the same story and (usually) has the same character through all the maps.

    What do I need?
    -Well, before you start linking your maps together it's a good thing to have at least two maps done already. (Or at least have the terrain done on each map.)
    In this tutorial, I am assuming that you have at least two maps!

    How do I play my custom-made Campaign?
    *First off you need to put it in the correct folder, which is the Campaign folder in your Warcraft3 map. A common path for this would be: C:\Program Files\WarcraftIII\Campaign.
    When the map is in the correct folder, Warcraft will be able to located it properly.
    *Secondly, start up the game and choose 'Single Player', then choose 'Custom Campaign' and finally choose the name of your campaign, to start!

    In this Tutorial, I will show you how to create a very simple way of creating your One-Hero-Campaign. -Much similar to the one made by Blizzard, about the Beastmaster.
    Are you ready to start? Great! Let's go.

    -The basic settings
    Start the World Editor (no need to load any map) and open your 'Campaign Editor' (hotkey: F7).

    In the first tab (General) You have 4 rather obvious fields to your left: Name, Difficulty, Author and Description.
    Name - The Name of the Campaign
    Difficulty - The difficulty level of your Campaign
    Author - Your name, to "prevent map stealing"
    Description - This is the description of the map. It will be displayed in Warcraft3 when you select the campaign from the Custom Campaign Menu.

    Below these fields you have: 'Options:', in Options we can set the following:
    Use Variable Difficuly Level - Enabling this will give you the option in the Custom Campaign Menu in Warcraft to choose what Difficulty you want to be playing. (Easy, Normal and Hard.)
    Image - What Image your Campaign will be displaying in the Custom Campaign Menu.
    *None - Obvious, no image.
    *Preset - These are Blizzard made images for their campaigns; Human, Orc, Undead, Night Elf and Orc Campaign.
    *Use Minimap From - This option allows you to pick a minimap as the display picture, from one of the maps that you have assigned to your Campaign (I will tell you more about this later).
    *Imported File - This will let you use a custom-made picture. (Really cool.)
    -> More info on this can be found here <-

    The last, but definitely not the least, field in this Tab is the 'Map Files:' field.
    This field handles all the maps that are connected by your Campaign. Right-click on the Campaign-Name in this field (same Name as on your left) and choose 'Add map' then browse for your first map, and repeat for your second map.
    Your General Tab should look similar to this:

    Note: When you have added maps in this field, you will be able to choose their minimaps as Display Picture for your Campaign, as mentioned earlier.

    Wasn't that hard, was it?

    Quickly moving on to the next Tab!

    Loading Screen:
    In this tab we will define the loading screen of the Campaign.

    First field, the largest one in the middle of the Tab: 'Campaign Screen Buttons'.
    Right-click on this field and choose 'Add Button'.
    You will now be prompted to fill in some fields:
    Chapter - The name of the Chapter, I prefer naming the first map: 'Chapter One', second: 'Chapter Two', third: 'Chapter three', and so on.
    Title - This is the title of the button (see picture below), name it something "cool" like: 'A day in the Army', or whatever you prefer.
    File Loaded - This value decides what map you wish to load, when you press this button.
    Visible - If you check this box, you will be able to start from this map. (I choose to check this box, only for the first map. - So that no one may skip the first level.)



    Further in this tab (below) we have the Background Screen settings:
    None - Obvious, and not-attractive.
    Game Screen - This is the option I prefer to use. Here are Blizzard-made game screens, lots of them!
    Imported File - If you are skilled enough to create your own picture, use this option.
    -> More info here. <-

    Cursor - What cursor you wish to use. Obvious.

    Ambient Sound -
    None - I won't bother explaining these anymore.
    Game Sound - Blizzard-made. I prefer this option.
    Imported File - Same as always..

    Custom Fog Effects - I have no idea what this does. My wild guess is that fog will appear and look "cool" across the loading screen, when you choose if you want to start the Campaign or not. You can change color and other advanced settings for this. -Over my head.


    Next two Tabs are rather obvious, but just as crucial for your Campaign as the first two Tabs.

    Custom Data
    This Tab works in a similar way as the Object Editor. (You can copy objects from the Object Editor into this Tab to save time.) In this Tab you must add all the objects that will be transfered across your maps. -Items, abilities and your Hero are such objects!
    Easy enough.

    Imported Files
    Works in a similar way as the Import Manager and Custom Data combined. -I won't bother explaining this in this Tutorial.
    Just remember, if you import something to one map that you want to use in the other maps, use this tab! (The Hero's model is an example of such a file.)

    There we go, we've got the basics covered!
    We're swiftly moving on to the advanced stuff. -Fortunately it won't get much more difficult.

    - Save your campaign file. -
    Return to the General-Tab and right-click on the maps you added earlier. Now choose 'Edit map' -The map will now be loaded in your World Editor.
    Further, you can actually DELETE the MapName.w3x file, if you WANT to!
    -Because the map has been added to your campaign file, and you can edit it this way. You can also use the 'Save Map As' to "get it back", if you wish.
    I think all this is really cool!

    Now. You will need some triggers to move your Hero across the maps.
    - I am assuming that you have the terrain all done, as well as your hero, his abilities, etc.. -

    So what triggers do we need?
    First of all, we need to save our Hero somehow. (Check my Example map, attached below, for more clear triggers.)
    I am lazy, so I choose to save the map on Player Chat -Events. I assume you understand that the event can be changed to, for example: <A unit Enters *Next_Map_Region*>


    The first action: Create a game chache from.. will create a file containing info that you later can store in, or restore from. The name can be anything -as long as it is the same in _ALL your maps_, and ends with '.w3v'!
    I call my Game Cache in the example map 'FallenMonk.w3v', because that is the name of the Campaign. (WIP, please don't steal.)

    Second action: Store <unit> as as <name1> of <name2> in.. the unit is a variable I named 'Hero' (obvious). Name1 and Name2 is the same as above, it can be anything as long as it is the _SAME in ALL maps_!

    Third action: Store <Integer> as <name1> of <name2> in.. Integer in this case is the Level of my Hero. -It can also be 'Level of Ability for Hero', or 'Amount of Gold/Lumber for <Player>'. You know Name1 and 2 by now..

    The last thing we need is: Game Cache - Save.. Just put this in the end of the trigger to save everything to your Game Cache.

    The next trigger, you can run it from the first one if you wish I choose to use the Player Chat Event on this one as well:


    There are only two actions needed, but they are quite crucial!

    First action: Game - Set the next level to.. This action decides what map is going to be the next one! Needs: 'MapName.w3x' to work.

    Second action: Victory.. Choose the player that is moving on, perhaps (Owner of (Triggering Unit)), -all depending on the event, obviously! Also, I prefer to _SKIP_ Dialogs and scores - this way the next map will start loading immidiately.

    Here's an alternative action of saving your map, that you can use:


    Notice how this action takes two actions and puts them into one.
    It first saves the info as CacheName.w3z, and then changes the level to MapName.w3x.
    (Why it turned out to be .w3z by default, I don't know. -Maybe .w3z = Frozen Throne -only action. When .w3v is the original (RoC). Just make sure that they're the same when saving and loading!)

    - Save your Map (ctrl+s) -
    Now, you can actually close the map (ctrl+w), and open the Campaign Editor (F7).
    Then choose your next map, right-click and choose 'edit map'.

    So what triggers do we need to succesfully load our brave hero?
    Well.. the following:


    -Obvious, runs a trigger.


    First action: Create a game cache from.. Here you must use the same name as in the first map!
    Then the "real" trigger begins..


    First action: Restore <<name1>> of <<name2>> from.. -Just like when you saved it, but now you are loading. -Make sure all names are the same as in the first map!

    Second action: unit-variable, gotta have them!

    Third action: Obvious..

    Fourth action: Also quite obvious. Only thing that should be noticed is the 'Load Hero_Level of Map1 from (Last created game cache)' -two names, must be identical, as always!
    This can also be done with level of abilities for your hero.

    Fifth action: Obvious..

    Guess what?
    -Your campaign has got it's "system" all set now!
    Wasn't too hard, was it?
    The hard part will be to add all the 'level of abilities for Hero', etc. But I'm sure you will be able to figure it out.

    -Advanced Settings

    First of all, I'm going to explain a little about Game Cache, from what I've learned by experimenting.

    Game Cache is saved as a file on your computer. More precisely it is saved in your Profile Folder. The Profile Folder is located in: 'Warcraft III\save'.
    If you have several Profiles, they are named 'Profile1', 'Profile2', 'Profile3', and so on..
    I believe the Warcraft3 Main campaign progress is also saved in the Profile. Meaning, if you remove the profile, the Main Campaign progress will be removed as well.

    Now you might be wondering why I'm telling you this?
    Well, because Game Cache isn't automatically deleted. Which is both good and bad. To give an example:
    The first map of your Campaign contains a Cinematic. You want the Hero to be able to return the the first map whenever he wishes. When the map is loaded, the Cinematic will play again. If you store a value in the Game Cache, you can prevent the Cinematic from playing more than one time, if you wish.
    However, if you then exit the game, make a small change to the map, and start it up again. The Cache will now remember that you already saw the cinematic, and will skip it.
    However. I believe that if you save the game and wish to continue tomorrow on the campaign, and the cache is still there. You won't be treated as if you just started the campaign, the next day when you load your old game.
    So it's both good and bad.

    Now, when creating the campaign, you will probably be deleting the game cache in order to test the triggers properly. So that's why I'm telling you this, and I will show you two ways of doing it!

    First is to delete it from outside the game, by going to the Profile Folder in the Warcraft3 folder. (The default path is, I believe; 'C:\Program Files\Warcraft III\save') -Here you can remove the *.w3v files, where * is the name of the Game Cache. (That you set, using triggers.)

    Second way is to do it from inside Warcraft3. However, this will remove the complete Profile. I recommend you create a new Profile from playtesting your Campaigns. The best way for me to show how to do this is by showing you a screenshot. It's very simple, really..


    As you can see. You can have several Profiles, and choose what Profile you wish to be playing with. You can also delete old profiles and create new, as you wish. -Easy enough!

    I have attached a better Example map of how a, slightly more advanced, Campaign can be triggered.

    I hope this was helpful!
    Also, bear in mind that I wrote this at 1 AM my time, so if you find any mistakes, I'll fix them when my head is straight!

    Thank you. :)

    Attached Files:

    • Like Like x 3
  2. Kazuga

    Kazuga Let the game begin...

    +110 / 0 / -0
    Nice, learned a lot and it comes in handy since I'm making a campaign at the moment^^ One thing I bumped into though, When I start the campaign from wc3 I get into the campaign loading screen where all the maps are displayed, although there are no maps displayed... I added a map and saved but it's still not there... Also the text of the map in campaign editor is blue if that now makes any difference.
  3. Exide

    Exide I am amazingly focused right now!

    +449 / 0 / -0
    Maybe you're in the wrong "place".
    -Start Wc3 normally.
    -Single Player (alt+s)
    -Custom Campaign (alt+u)
    And there you have it.

    Also, make sure your campaign file is in the Campaing Folder in the Warcraft3 folder.
    For more info, see the How do I play my custom-made Campaign?
    -part, in the first post.
  4. Kazuga

    Kazuga Let the game begin...

    +110 / 0 / -0
    Yes... I just said I could enter my campaign, but there is no maps attached to it. And I did import my map to the campaign.
  5. Exide

    Exide I am amazingly focused right now!

    +449 / 0 / -0
    Sorry. I misunderstood you.
    -Did you add buttons in the 'Loading Screen' Tab?

    Could you take a screenshot and show?
  6. Kazuga

    Kazuga Let the game begin...

    +110 / 0 / -0
    Ah sorry, forgot to add a button^^ Hm now the button is displayed, but when I press it the screen goes black but then I come back to the button selection again... The map isn't running but still I attached the map to the button...
  7. Exide

    Exide I am amazingly focused right now!

    +449 / 0 / -0
    I need more screenshots. :p
    -Fixing it in the morning!

    I'm sorry, I can't think of anything right now.
    Try experimenting for now. I'll get back with this in the morning. -With more screenshots as well.

    Try adding the second map and a button for that as well. -Doubt that's the problem, but.. what the heck. :p
  8. Kazuga

    Kazuga Let the game begin...

    +110 / 0 / -0
    ...I tested to add a complete random map and added a button to it, you know what? That map worked but my campaign map still doesn't... I tested to switch them but no difference... This means it has to be something with my campaign map? Strange I mean I can start it from wc3 and open it from world editor with no problems =/
  9. Exide

    Exide I am amazingly focused right now!

    +449 / 0 / -0
    I added two more screenshots. -I think that's all the screenshots that are needed..

    Kazuga, I can't tell you what's wrong, because it's obviously something with your map. :confused:
    -Maybe you have some setting in the map that you haven't transferred in the Custom Data Tab?
    -Another thing might be that your map crashes because of some trigger/imported file? (Try disabling/removing all things you think might be responsible, such as endless loops. :p)
    -Are you using WEU or some other horrible thing like that? :p (These things (Newgen, and whatnot) tend to crash maps with no reasons..)

    Hope you fix it eventually. :)
  10. cr4xzZz

    cr4xzZz Also known as azwraith_ftL.

    +51 / 0 / -0
    > These things (Newgen, and whatnot) tend to crash maps with no reasons..
    NewGen does not crashes map. Nor is it horrible.

    GJ on the tutorial, I was wondering a lot how to make a custom campaign. Thanks for creating this helpful thingy. ^^
  11. Romek

    Romek Super Moderator Staff Member

    +961 / 0 / -0
    I heard Newgen doesn't work well on campaigns cr4xzZz. It doesn't save properly. (Although I've never tried)

    Anyway, This is a good tutorial! I was planning to make a campaign tutorial, seems like you beat me to it! (Although I could still do more in-depth things, like quests, and Multi-Map ORPG's.. Not planning it at the moment anyway :p)

    One thing I'd suggest is to have pictures of the triggers like in Andrews TD Tutorial. It's much easier to read and looks much better :) (I could do those for you if you want.. Just PM me, I have too much free time now)

  12. Exide

    Exide I am amazingly focused right now!

    +449 / 0 / -0
    Thank you Romek. :)
    Sorry I beat you to it. :p

    Pictures of the triggers is actually a good idea.
    I was planning on remaking one or two of them, as a matter of fact..

    This is meant to be a simple Tutorial covering only the basics.
    If you like you can do the "part 2", with more advanced triggers. :)
  13. Romek

    Romek Super Moderator Staff Member

    +961 / 0 / -0
    I'll do the pictures of the triggers and send them to you in a PM :)

    I'm not planning on making a tutorial at the moment, so if you want to do a Part 2, don't feel like you can't because I'm doing it :D
  14. Exide

    Exide I am amazingly focused right now!

    +449 / 0 / -0
    I already made the pictures, actually. :p
    Thanks, though. :)

    Uploading them as I write this. ^^
  15. Romek

    Romek Super Moderator Staff Member

    +961 / 0 / -0
    Ahh.. Cool =]
    The ones I did have the same background colour as these forums though, so a big white background won't be visible :p


    Has a spelling mistake: [del]game chace[/del] game cache
  16. Exide

    Exide I am amazingly focused right now!

    +449 / 0 / -0
    I came to think of one more thing, Kazuga.
    Your Campaign maps can't have more than one players. (Can only be played via the Single Player menu.)
    • Like Like x 1
  17. Kazuga

    Kazuga Let the game begin...

    +110 / 0 / -0
    Yes, I am using Unlimited. I do not like it but I noticed that it was unlimited far too late to start over and there is no way to convert it into newgen/normal world edit.(Yes I tried exporting all triggers and data and importing them into a normal map but that also became unlimited, trust me I have no idea how...)

    Any who, there is only one players slot so it shouldn't be that.
  18. Exide

    Exide I am amazingly focused right now!

    +449 / 0 / -0
    I updated the Example map again.
    -Added quests to be moved across the maps.
  19. bthamilton07

    bthamilton07 Guest

    +0 / 0 / -0
    I thought you could help?

    I am having a problem with my map and I am not sure how to fix the problem. Basically I am making a campaign for me to play against the computer, but each time I load it and try to play it the computer does nothing unless i go in rage of its attack. It doesn't gather any resources for itself, it doesn't move its units around the map, they just stay put where i placed them when i bulit the map. I am not a computer wiz, or a starcraft guru,, so please if you can help me. Do you know what is wrong with my map?:confused:
  20. UndeadDragon

    UndeadDragon Super Moderator Staff Member

    +450 / 0 / -0
    Use the action:

    Melee Game - Run melee AI scripts (for computer players)

Share This Page