|
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 States24343 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
Singapore66060 Posts
Wait, never use Wait trigger? Then how are we supposed to use hyper triggers?
Edit: Oh, it was addressed above
|
On January 06 2010 02:03 Grobyc wrote: HOLY SHIT ANTARCTICA MELTED Hawaii must have been submerged as well
|
Hypers are just as good for timing stuff, but more precise. Except for a short break every 2 days or so (depending on the number of hyper triggers you use, and no, there probably are no UMS maps that run for 2 days) they come in a fixed rate, too. But as long as you don't need them you shouldn't use them anyways.
|
It was said the other way, but I thought I would point out that even replays with a countdown timer and hyper triggers will not desynchronize as long as you do not alter the speed.
GL with your map (looks like diplo or risk), but I hope you focus on balance and gameplay just as much as you worked on terrain. The best diplo map is currently infinity 2.8 and the diplo community basically had to fight the mapmaker to even get it half-decent. Check out some of the old version suggestion threads on irongaming.net if you want to see what I mean.
|
Dude bill knows what he's doing, and balance and gameplay is always the best part of his UMS games. Team Micro Melee is one of the most fun UMS's I've ever played.
|
Taiwan is in there that better not be Philippine
|
|
On January 06 2010 02:53 konadora wrote: Wait, never use Wait trigger? >:-/
|
On January 06 2010 02:40 Bill307 wrote:It's a hidden message about the dangers of global warming!
Lol.... Global Warming lol.
|
Well as a UMS map maker I really don't care much if replays don't work lol. Most of the maps I make use 0 waits to speed up trigger actions so I automatically butcher replays by that alone.
|
United States3824 Posts
Awesomest thread I've seen. Thanks Bill!
|
Is that map round (meaning cylindrical)?!?!
|
hyper triggers do not desynch btw
|
United States4991 Posts
How is 60 game ticks the build time of a CC? There are like 22 game ticks per second -_-
e: oh, I see you're using game tick to mean the time it takes between trigger executions, not the ticks as used by replays.
|
Very insightful. I hated it so much when I just completed an epic UMS and then the replay sucks )=
|
damn that is some sexy stuff bill
|
Bill307
Canada9103 Posts
On January 06 2010 07:20 HnR)Insane wrote: How is 60 game ticks the build time of a CC? There are like 22 game ticks per second -_-
e: oh, I see you're using game tick to mean the time it takes between trigger executions, not the ticks as used by replays. Mmm bad language on my part. >_< I should've said game seconds. But yeah, I measured it and a CC builds in exactly the same amount of time as 60 trigger executions.
Curiously, the equivalent countdown timer is about 114 "seconds". (On Fastest speed, anyway.)
|
On January 06 2010 02:40 Bill307 wrote:It's a hidden message about the dangers of global warming!
STOP TRYING TO SPOON-FEED ME SUBLIMAL MESSAGES ABOUT GLOBAL WARMING! ahha jk. wow i've read the Avatar thread too much.
awesome looking map (:
|
Those Asian archons man...
|
Wait triggers are for nubs. high five!~
|
you should build a ums scenario that reenacts everything since 5000 bc
|
Oh, very cool. Do you know if Cause #2 includes hypertriggers as the only instance of the Wait action? Like: Always Wait for 0 milliseconds (x63) Preserve Trigger And then using death timers.
And omg mountain bias (Rockies so big) .
|
|
Bill307
Canada9103 Posts
Change of plans: I'm off work tomorrow so I'll probably test the map during the afternoon, if I can find people.
Post or PM me if you're interested.
|
Bill307
Canada9103 Posts
Bump.
Currently looking for testers for the Risk/Diplo micro map. Come to "op irc" on iccup.
|
Everyone get on iccup. :o
|
Baltimore, USA22222 Posts
*bump* Played the risk map, was fun! We need to play more games!
|
I'm down for playing this! I'm sure I can get a few friends as well. ianianian @useast
So doing this when I get home today :D
Anyone online and want to play now?>
|
hey! NICE EPIC MAP!
just want to ask whatever happened to it? haven't bumped on it in iCCup yet.
|
|
|
|