Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Setting flag versus matching exact conditions
Setting flag versus matching exact conditions
May 12 2014, 12:38 am
By: sethmachine  

May 12 2014, 12:38 am sethmachine Post #1



Hi,

I think the title is vague (apologies, didn't know what to call this).

Consider this case where, once determined, the value of some predicate P (true or false) is set permanently. In our case predicates are some chains of conjunctions/disjunctions of Starcraft conditions.

In any case, is it more efficient to:

1. Have a single trigger that detects P's value, then stores this in a boolean variable.

2. Triggers which need to know P's valuation now reference this boolean instead of testing all of P's valuations.

Or

1. Triggers which need to know P's valuations always test them as part of their conditions.

I am figuring that the former case is probably more efficient, but in any case, is it the norm for SC mapmaking (or coding in general)?



None.

May 12 2014, 12:49 am Roy Post #2

An artist's depiction of an Extended Unit Death

You're thinking on an efficiency level that doesn't matter for most maps, so if performance isn't an issue, I wouldn't bother increasing the complexity of your triggers.

That being said, checking the value of a switch / death counter is much more efficient than checking certain conditions, such as the Bring condition (which is notorious for causing performance issues on large-scale maps).

It's always wise to order your conditions so that switches come first, followed by simple numerical comparisons (like death counters or accumulated resources), followed by the other, more complicated conditions.

For coding in general, your suggestion is a form of caching or maintaining state, where computing a result once and storing it can be much more efficient than computing the value repetitively. However, for a lot of higher-level languages, this is unnecessary, as the compiler will optimize it for you (e.g., you can say "1000 * 60 * 60 * 5" as means of calculating 5 hours from milliseconds, and the compiler will convert this to a constant value rather than do the multiplication every time).




Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[04:03 pm]
IskatuMesk -- no Hello World? No Hello . jpeg? Not even ddosing some government website? smh my head
[2026-5-31. : 10:02 pm]
Symmetry -- I was really just figuring out how to compile
[2026-5-31. : 10:02 pm]
Symmetry -- I didn't make it do anything
[2026-5-31. : 9:17 pm]
Ultraviolet -- hell yeah. did you have trouble making the button functional, or just haven't gotten there yet?
[2026-5-31. : 8:29 pm]
Symmetry -- I made the marine shoot lasers and gave the medic a nonfunctional button
[2026-5-31. : 8:07 pm]
Ultraviolet -- Symmetry
Symmetry shouted: I did my first EUD thing today. Feels like me finding arsenal at age 8 again
haha for sure. in some ways it's even more exciting because you can play EUD maps on regular battle.net, don't need to convince someone to download your mod to play with you. what did you do?
[2026-5-31. : 6:47 pm]
Symmetry -- I did my first EUD thing today. Feels like me finding arsenal at age 8 again
[2026-5-31. : 3:20 pm]
l)ark_ssj9kevin -- le reddit
[2026-5-31. : 2:55 pm]
Moose -- >reddit :rip2:
[2026-5-31. : 2:07 pm]
IskatuMesk -- reddit 💀
Please log in to shout.


Members Online: RIVE