|
Bill307
Canada9103 Posts
This one's for all the UMS map-makers out there. You may have noticed that replays of UMS maps often "don't work". More specifically, if you play them back at a different speed, the replay desyncs.
So far, I have noticed two causes of these desyncs.
Cause #1: the Countdown Timer reaches 0. You see, the Countdown Timer does not speed up when you speed up a replay. So obviously you can't rely on it if you want replays to work on your map. But there's more to it: even if you have no triggers that depend on the Countdown Timer, it can still desync your replay when it reaches 0! This is because when the timer reaches 0, it causes SC to update all the triggers immediately, out of sync with its usual periodic updates.
Solution: don't let the Countdown Timer reach 0. Generally, you can avoid this by adding a condition to pause the timer when it is less than 3, then unpause it whenever you reset the timer.
Cause #2: using Wait actions. These suffer from the same problems as the Countdown Timer: they don't speed up when the replay is sped up, and they cause SC to update all triggers when the wait ends.
Solution: never use Wait actions.
Now, you might be wondering: if you can't rely on the Countdown Timer, and you can't use Wait actions, then how do you measure time? Here's an example of how to do this: first, pick an unused unit, like Zerg Cerebrate, and rename it to iCountdown. Next, add the following triggers:
Trigger 1: Conditions: <whenever you want to start the countdown> Actions: + Set deaths for Current Player: set to 60 for iCountdown.
Trigger 2: Conditions: + Current Player has suffered exactly 1 deaths of iCountdown. Actions: <stuff happens at the end of the countdown>
Trigger 3: Conditions: + Current Player has suffered at least 1 deaths of iCountdown. Actions: + Set deaths for Current Player: subtract 1 for iCountdown.
These triggers will give you a countdown for 60 game ticks, which is exactly the build time of a Command Center.
Note: this countdown will affect only the Current Player: if you want it to affect all players, you need to set the # of deaths of iCountdown for All Players and make sure All Players run the other two triggers. In this way, each player will decrement their own # of deaths, and check if their own # of deaths equals 1, independently of the others.
Also note: the order of the triggers is important. If you put the subtract-1 trigger above the equals-1 trigger, then the countdown will end 1 tick early. If you put the countdown-start trigger below the others, then the countdown will end 1 tick late.
And that's how you can make UMS maps with replays that won't desync.
|
Hmm, I wonder what inspired you to make this :3
|
Bill307
Canada9103 Posts
|
wow that picture is really impressive, and I think I understand why you want the replays to work properly lol
|
United States24483 Posts
If you don't mind me asking, how did you generate the map? Did you make it by hand or use some tool to convert an image into tiles or something?
|
Hong Kong20321 Posts
|
On January 06 2010 00:33 alffla wrote: holy shit epic map +1
Also, awesome guide man. This should make it to liquipedia somehow
|
Epic diplomacy ums coming soon?!! xD
|
American bias! Those are some puny himalayas/alps. Ural doesnt get any love at all =(
|
Oh sweet, keep us updated on this new map. :D
|
|
If you can't use waits, you can't use Hyper Triggers either. Or do those miraculously work just fine? (after all they use very special waits). For the average multiplayer UMS hypers aren't very useful, but the more sophisticated maps often rely heavily on them.
Wow, I once made a world map that looked almost identical to this one. I had more highground in Asia and no Uluru in Australia though
|
I've never meddled myself with UMS mapmaking, but this info seems very insightful, good job. And the map looks badass too, I'm curious what will it turn into!
|
Roffles
Pitcairn19291 Posts
Ridiculous. I'd love to play worldwide diplo. That'd be amazingly sick.
|
|
HOLY SHIT ANTARCTICA MELTED
|
Bill307
Canada9103 Posts
On January 06 2010 00:14 micronesia wrote: If you don't mind me asking, how did you generate the map? Did you make it by hand or use some tool to convert an image into tiles or something? About 10 hours of trying to match a picture of the world + various continent-specific images.
Thanks for all the comments. I'm pretty amazed by how well it turned out too, to be honest. ^^;;
Honestly, I don't know crap about what the terrain looks like in ANY part of the world. I was just basing the cliffs off of satellite terrain maps of the various continents and guessing where the mountains ended. I don't think I found a good one for Russia, which is why it's all flat right now.
I started working on it after a good game of Risk (the board game). I decided the existing Risk UMSes could be a lot better if they incorporated more micro options and other things, so I'm combining Risk with the micro aspects of Team Micro Melee. I'm also hoping to make all 3 races play a little differently from each other. Furthermore, each continent gives different bonus units, so you have to take that into account as well when you're making your game plan.
All of these asymmetries will hopefully make every 4-8 player game strategically different. This is in contrast to Team Micro Melee, where there's not a whole lot of variety in the strategies used.
As for hyper triggers, I assume they desync replays as well, but haven't verified it. Since all my maps rely on SC's fixed rate of trigger updating for timing, I wouldn't use hyper triggers anyway.
|
Bill307
Canada9103 Posts
On January 06 2010 02:03 Grobyc wrote: HOLY SHIT ANTARCTICA MELTED It's a hidden message about the dangers of global warming!
|
really nice but... i demand a hatchery on cuba!
|
konadora
Singapore66063 Posts
Wait, never use Wait trigger? Then how are we supposed to use hyper triggers?
Edit: Oh, it was addressed above
|
|
|
|