I really want to make a "Pro Tips for Campaign-Making Page". It would be linked on the CCI page.
I just recently became aware of trigger libraries, which would of saved me a lot of time when I was makeing a difficulty selection menu. God damn! Oh well built some character I guess. Before I learned about libraries I just took a screen shot of someone's difficulty trigger and alt-tab for like 2 hours and then customized it to my map's needs. I did this method for a lot of other trigger's I wanted in my map. Face palm.
If you are interested in saving a newb's time?
What I need from you:
1) Tips for non-programmers that are time-saving
2) You can make as many tips as you want
3) Tips should be concise and to the point (remember geared toward non-programmers)
4) Pics are great
5) Please format with lots of bold, underlines, italics of key concepts. Less is more!!
6) Tips geared towards campaign-making are a big plus, but pretty much anything under the sun is great with regards to the editor!
7) Stories of learning something that you didn't realize the editor could to do to set the tip into context!!
Please post away!! I will do my best to format nicely and put on the wiki and CCI page!!
I think Gradius made a tutorial on custom voices for maps.
Voice stuff, I think that is out of the scope of what I'm thinking about, although it should be referenced. I've messaged with lots of folks over this last year who want to do voice-acting for their campaign and then they realize its so much work just to make one map!! Everyone starts with such high expectations!
I'm envisioning a quick reference guide for folks who are trying to dive into the editor. I would first encourage them to complete Blizzard's walk through tutorials (pretty out of data but useful) and some of the beginner tutorials on the wiki. The "Pro Tips" would be common pitfalls new mappers encounter and what the solutions are. My trigger library story is an example of that.
I'm really thinking this is for the non-programmer types. Who just want to make a map with a story (like myself) and just have for download on Mapster and not upload on the Arcade.
Other things off the top of my head are Terrain issues, basic trigger issues, cameras/cinematics, workflow and labeling, using comments
This is just a sort of a whim. I PM a lot of the Campaigners, but haven't head back.
I did some voice acting in my "Plan H" map. While it does take more work than just writing text, its really not too hard. And if it's geared towards beginners you don't need all the fancy effects tbh. I wouldn't care if a protoss sounded like a human. Just to throw random subjective numbers out there I would say basic voice acting could improve a maps story 2x, whereas fancy effects voice acting might improve it 2.5x.
Things like basic pro-tips are always pretty hard to pinpoint, especially since everyone has their own thought processes. You could organize your triggers like the folders in Blizzard maps or do your own system. Mine tends to have map initialization stuff in a folder, then specific ideas related to the map in their own folders (such as enemy waves as a folder, hero upgrades for another, etc), but then after the process drags on I sometimes get lazier and less organized xP.
I guess some common pitfalls (in regards to triggers, my best subject) would be things like don't confuse functions like picked player and picked integer when using a pick each action (you need to be consistent). Learn the difference between units and unit groups. For instance when using a create units action, "last created unit" refers to a single unit (the last one) created by that action. However, if you want to reference all the units created by that action, then you need to reference a unit group "last created units", notice one has an "S" and will be available to you in areas that call for unit groups rather than single units.
Can't think of anything else off the top of my head, but there's definitely been small things that have lead to big headaches as I tried to figure out what I did wrong.
Test your map all the time. Fix bugs or balance attack waves immediately, then re-start the level to see if it works beter now. Never publish a map before playing it one last time from start to finish. It may be boring, but it is the only way to be sure that your map is fun and playable.
If you have an idea, find a map that does something similar and look at how it does it. You can't re-invent every trigger on your own, so find your inspiration in the work of those who faced the problem before you. Don't worry, your map will be unique enough.
However long you think making the map(s) will take, it will be longer. Just keep that in mind before you decide how large your project should be, you can always add more maps later.
Don't be afraid to disallow most of the tech tree and/or unlock more units for each mission. An hour of 15 battlecruisers into a-move is boring, no one wants to do that more than once. If you disallow some units, the gameplay becomes a lot more unique: how will I fight brood lords without air? How will I fight roach/hydra without colossi? This is one the ways your macro map can stand out.
Try to use more than one unit types in an attack wave. There is nothing wrong with an occasionnal cloud of mutas (especially since it is a multiplayer strategy), but the AI will look smarter if it mixes DTs with its zealot, and kinda dumb if it keeps sending pure hydralisks.
Personally, I tend to make attack waves challenging in the beginning, increase them gradually, and then stabilize them at a tolerable level. "Challenging" is a subjective notion, but that's all you've got. If the attack waves are weak at the beginning, the player will be able to tech quickly to colossi/carriers/brood lords, and the map may be boring. If the attack waves are too intense for the whole mission, the player might lose after an hour of effort. This may or may not be problematic, depending on the challenge you want to provide. Still, no one likes playing more than a couple of hours-long meat grinders. Except for the final level: players are more willing to sweat on a map if they know it's the last one.
If you want an AI to attack the player, you need to initialize it with the triggers "Start Campaign AI for Player X" and "Set attack waves for player X to attack [someone]". Otherwise, nothing will happen.
If you want it to build units, you must give it enough ressources, the tech to do produce them, and supply (if applicable). Once the specified time has passed, the AI will send whatever it has produced to battle. Be sure you gave it enough production structures, or the attack waves might be smaller than you expect.
The AI never uses cloak or stim, not even in higher difficulties. You have to script most abilities by trigger.
The AI can't take any initiative. However, you can pre-place units or structures in the editor, double-clic on them and uncheck the box "Initiallyl Built". The AI will wait until it can build it, and then do it immediately. It still won't understand the tech tree, if you tell the AI to build a starport, but didn't give it a factory, nothing will happen (it won't build the factory on its own). Still, it is the only practical way to have the AI actually build its base.
You can fine-tune the AI behaviour with lines like "Set Gather Point for Player X to point P". All units produced by the AI will go there as they spawn, and the AI will rebuild them if they get killed before the attack wave is sent (if you don't want the AI to spam units as you move past its rally point, use "Set Gather Point (no rebuild)" instead). An other useful line is "Set Target for player X attack waves to point P" so that the unit will take a particular path. If an attack wave reaches its target point and doesn't find anything there, it will attack the closest enemy.
Making several difficulty levels is advisable, but again, be sure to complete the map in the hardest setting (or have a tester do it). Maps can quickly become unplayable if the attack waves get too large. Note that the difficulty has to be set for each AI; changing the difficulty to Hard for player 1 (the player) will not do anything.
Cutscenes are incredibly time-consuming. Well, mapmaking in general is time-consuming, but cutscenes even more so. If you want to make one, start by making the units move around with triggers, and only add camera effects when everything works. You want to make a trigger that directly plays your cutscene, so that you won't have to replay the entire level. Also, if you plan to have the camera zoom in, Warcraft 3-style, put doodads in that area. Close views of a few units in an empty desert are less interesting.
So is this more technical stuff about the editor, or just anything to make a good campaign.
I'd like to know too. I have saved some tips from talking to (Warcraft 3) campaign makers years ago, which can be applied to SC2. Most of them are regarding campaign design in general rather than SC2 Editor tips though.
Not the technical tips this thread was probably created for, but nontheless some tips based on personal experience gathered over 15+ years.
Have a story finished but don't be afraid to change it for improved gameplay
Plan as small as possible, not as big as possible. A few unique maps are better than many similar ones
Think about what is actually fun and what might not be. Study Blizzard maps
Plan as much as possible. Word, PowerPoint, Photoshop. Whatever you can do without the editor you should do
Don't rely on others. Don't make a campaign that relies on a model/skin/effect that hasn't been created yet. Work with placeholders
Know the workflow phases/pipeline. Gameplay->Art->Finishing touches (cinematics, hints, balancing etc.). Create your layout and create the most important data/trigger stuff for your editor. Work on it until your map is playable from start to finish, including balancing. Once it feels fine you know you won't change the gameplay anymore you can work on the art (terrain textures, effects, etc.). If you work on the art first you will have a difficult time changing/improving gameplay. Leave the details for last (that Marine needs 5 hp more!).
Work iteratively until you are happy with one aspect of your pipeline
Do not fix while you playtest, unless your fix is applied very quicky. Instead, write down what you notice (Word doc) and fix it after your playthrough. Allow yourself to spend as much time as possible in the game so you get a better feeling for the gameplay
You don't need to wait until the last minute to have your map tested, you can always ask someone, but definitely ask someone to play your map before publishing!
Don't be afraid to change things if they seem bad/weird. Not every idea that sounds good is good. That's why you should plan early and work in phases.
Add (many) cheat codes to your map. You will not always want to play through the entire map just to test the final boss fight
Don't overtest in the beginning. This is a bit hard to explain: Yes, do test your new ideas, and yes, do test your map as often as possible when in the finishing stages. But don't test it when you know there's still plenty of stuff to add and your current test run will not tell you much.
Do whatever you need to motivate youself. For example, I am currently replaying WoL/HotS. I play 2-4 missions at a time, get some good ideas and feel the need to implement/test them in my current map. Playing similar games/maps motivates me.
Know when to finish. You can always improve something about your maps, but knowing when to stop is important for your health. Give map-making a pause and reflect on your project after an extended period of time
A bit more technical:
Learn how to create functions. They will save you a lot of time, especially when having multiple, similar triggers.
Press Ctrl+NumPad0 to combine regions.
Leave the game window open if you plan on restarting your game from within the editor. Load times will be much faster.
Something more along the lines of your library discovery...
If you are using the same library in different maps then publish it to Bnet and include it in your maps as a dependency. That way whenever you need to change something in the library you just have to publish the library and all the maps will automatically reflect the change.
Otherwise you will have to open every map and mess about getting it to use the new version manually. Tedious things often lead to mistakes or missing something and your maps will start to get out of synch and use different versions of the library.
Also if you are doing lots of triggering then learning how to use records effectively will make your life much simpler.
ditto what others said about having cheat codes for streamlined testing
do the same with debugging. Create a debugging output function you can use between maps. The default one is cumbersome and annoying.
Try and reduce duplication wherever you can. If you find yourself doing something simillar in different places try and figure out how you can do it once and do it well and create a function for it.
an action deffinition is a function where you don't have to worry about the return type.
Somehow I hope banks aren'T enough to recreate the wc3 gamecache system for campaigns. Maybe Blizzard will want want to add better campaign support if they see we are motivated to recreate the campaign.
If you're publishing your campaign in battle.net, you can link your maps with edit boxes. You can write in them the URL to the next map, and the players can copy and paste them to open the maps from a web browser.