Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Complex Hyper Triggers
Complex Hyper Triggers
Jul 27 2009, 6:53 pm
By: Ryan  

Jul 27 2009, 6:53 pm Ryan Post #1



suppeth.

I want to use complex hyper triggers in my map, but all 8 players will be Human players.

I will have many different triggers for each player, will this affect the hyper triggers?

Also, would having hyper triggers for 2 players out of 8 give them a disadvantage such as making their triggers run slower? Is there any known way where I can make all 8 players involved in the complex hyper trigger?

Thanks.




None.

Jul 27 2009, 6:57 pm UnholyUrine Post #2



You only really need hyper triggers for one player.. usually a computer

Since for your map, all 8 players are human, I'd suggest you use "All Players" and have a trigger that spams Wait(0);
The reason being is that if the hyper trigger is under a player that isn't being played (example: you put the trigger for Player 1, but there was no P1).. then there will not be any hyper trigs happening

Hyper Triggers will not "affect" your map as long as you do not use wait(x) triggers and use Deathcounts instead..

Please refer to this: http://www.staredit.net/?p=tutorials&tut=17 for guidance ^^



None.

Jul 27 2009, 7:01 pm Ryan Post #3



Urine, I'm using Complex Hyper Triggers. not the ugly wait 0000000000000000000000000000000000000000000000000 milisecond triggers which cause wait blocks.



None.

Jul 27 2009, 7:04 pm NudeRaider Post #4

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Generally the hyper triggers (complex or classic), if working properly increase the trigger checking speed for every player and to the same speed. You can adjust this speed by using values >100ms.
If you want to slow down certain players you could experiment with intentional wait blocks. Try adding waits from 100-500ms and check the results.

And yeah as urine said, you can use regular hyper triggers as long as you do all your timings with death counters instead of waits.




Jul 27 2009, 7:07 pm Ryan Post #5



So the hyper triggers won't give the players a disadvantage? And what do you mean by
Quote
you can adjust this speed by using values >100ms.
?



None.

Jul 27 2009, 7:11 pm JaFF Post #6



Waits with values under 84 ms are the same. So Hypers with such waits give the same result. If you want to make your hypers run slower, use waits with values over 84 ms.

To answer your initial question:
As long as your hypers do not run for a player that has Waits running, they affect nothing but the trigger speed. So turn them off before using waits and turn them on once the waits are done and you'll be fine.



None.

Jul 27 2009, 7:13 pm Ryan Post #7



I have been enlightened. This can be locked now, thanks guys.



None.

Jul 27 2009, 10:27 pm Falkoner Post #8



Quote
Waits with values under 84 ms are the same. So Hypers with such waits give the same result. If you want to make your hypers run slower, use waits with values over 84 ms.

I just want to clear this up, a while back me and Nude kinda argued over whether Waits are different at 42, or at 84, and from testing I saw that when waits are inside of Hyper Triggers, it actually changes the speed at 42, but otherwise they are the same up until 84. I am still unsure why this is, perhaps it has something to do with how waits block eachother, but that's how it works.

Quote
I want to use complex hyper triggers in my map, but all 8 players will be Human players.

When using 8 human players, I would not recommend Complex Hypers, because if either of the players who own one of the triggers is missing, they will no longer work, instead, I would recommend using Simple Hypers, but putting them under All Players and placing them at the bottom of the trigger list, this won't cause wait blocks, and should continue to work as long as there is a player active who is not running a Wait.



None.

Jul 27 2009, 11:03 pm KhaosKreator Post #9



Quote from Ryan
Also, would having hyper triggers for 2 players out of 8 give them a disadvantage such as making their triggers run slower? Is there any known way where I can make all 8 players involved in the complex hyper trigger?
I am reasonable sure this is not the case. However, if you don't have the two used slots filled, the complex triggers won't work. So you'll have to put [Slots 1 and 2 Required] into the force name, as Falkoner said.



None.

Jul 27 2009, 11:13 pm UnholyUrine Post #10



Quote
When using 8 human players, I would not recommend Complex Hypers, because if either of the players who own one of the triggers is missing, they will no longer work, instead, I would recommend using Simple Hypers, but putting them under All Players and placing them at the bottom of the trigger list, this won't cause wait blocks, and should continue to work as long as there is a player active who is not running a Wait.

See? Told'ja :P

Again tho.. I don't see the point of you wanting Complex Hyper triggers.. they do the same shit... <_<



None.

Jul 27 2009, 11:32 pm NudeRaider Post #11

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

He wants to be able to use waits carelessly. Despite the fact that death counters are the way to go.




Jul 27 2009, 11:57 pm rockz Post #12

ᴄʜᴇᴇsᴇ ɪᴛ!

Quote from Falkoner
I just want to clear this up, a while back me and Nude kinda argued over whether Waits are different at 42, or at 84, and from testing I saw that when waits are inside of Hyper Triggers, it actually changes the speed at 42, but otherwise they are the same up until 84. I am still unsure why this is, perhaps it has something to do with how waits block eachother, but that's how it works.
I'll go test this out, since it's bugging me.

Also, 1/24=.041667.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Jul 28 2009, 12:03 am JaFF Post #13



Make sure to update the wiki if you make any conclusive findings.



None.

Jul 28 2009, 3:23 am rockz Post #14

ᴄʜᴇᴇsᴇ ɪᴛ!

Interesting finds, IMO. I'll fix up the map later for newb friendliness.

Alright, there's 251 sets of hyper triggers, ranging from 0 wait to 250 wait. Each one is complex, and therefore can be turned on and off. Build a vulture to increase the wait, build a tank to decrease the wait. When you're ready to test the number of trigger runs in 11 seconds, lift off the factory and it will count for you, in game seconds

I got these results:
0-42 = 88 = 8/s
43-84 = 59 = 5.36/s
85-126 = 44 = 4/s
127-168 = 35 = 3.18/s
169-210 = 29 = 2.63/s
211+ = 25 = 2.27/s

My implementation may be a little flawed, but the complex hyper triggers tend to take a while to come into effect. Sometimes if you change wait times, then do another test run, you'll get a number you didn't expect. However, if you then repeat it, it's fine.

Now, we know there are 16 frames in a game second based on hyper triggers and me just guessing wildly. This works fine for 0 and 85, but what about 43 and the others?

11 game seconds = 16*11 frames = 176 frames. The resulting is in frames per trigger (fpt)

0-42 = 176/88 = 2 fpt
43-84 = 176/59 = 2.98 fpt
85-126 = 176/44 = 4 fpt
127-168 = 176/35 = 5.02 fpt
169-210 = 176/29 = 6.06 fpt
211+ = 176/25 = 7.04 fpt

Notice anything? I'd be willing to bet that if I changed it from 11 seconds to 30 seconds (480 frames) and tried 43-84, I'd get exactly 160 trigger runs. If anyone sees something terribly wrong with my conclusions, say so, or else I'll stick some info in the wiki tomorrow or something.

Attachments:
Hyper Trigger Complex.scx
Hits: 2 Size: 60.85kb



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Jul 28 2009, 3:56 am Falkoner Post #15



Here's my test results with the waits inside of Hyper Triggers, these were done by having the hypertriggers with different Wait times, and then having a trigger that would add minerals until a certain elapsed in game time, for example, to test how many cycles happen in 1000 in-game seconds, I had the trigger:
Conditions:
Elapsed time is at most 999 seconds
Actions:
Add 1 mineral for Player 1
Preserve Trigger

This is one cycle off, since when it actually hits 1000 it is no longer at 999, so it skips one cycle.

2 Seconds:
Milliseconds: 0 Number of runs: 15
Milliseconds: 42 Number of runs: 15
Milliseconds: 43 Number of runs: 10

4 Seconds:
Milliseconds: 0 Number of runs: 31
Milliseconds: 42 Number of runs: 31
Milliseconds: 43 Number of runs: 21

11 Seconds:
Milliseconds: 0 Number of runs: 87
Milliseconds: 42 Number of runs: 87
Milliseconds: 43 Number of runs: 58

61 Seconds:
Milliseconds: 0 Number of runs: 487
Milliseconds: 42 Number of runs: 487
Milliseconds: 43 Number of runs: 325

1000 Seconds: (These were weird, I was testing hyper triggers that were slower than the trigger cycle itself)
Milliseconds: 8022 Number of runs: 327
Milliseconds: 7980 Number of runs: 586
Milliseconds: 7938 Number of runs: 590
Milliseconds: 7896 Number of runs: 592
Milliseconds: 4032 Number of runs: 659
Milliseconds: 2646 Number of runs: 749
Milliseconds: 1302 Number of runs: 500


1001 Seconds:
Milliseconds: 0 Number of runs: 8007
Milliseconds: 42 Number of runs: 8007
Milliseconds: 84 Number of runs: 5338
Milliseconds: 85 Number of runs: 4004
Milliseconds: 126 Number of runs: 4004
Milliseconds: 127 Number of runs: 3203
Milliseconds: 168 Number of runs: 3203
Milliseconds: 210 Number of runs: 2669
Milliseconds: 252 Number of runs: 2288
Milliseconds: 294 Number of runs: 2002
Milliseconds: 336 Number of runs: 1780
Milliseconds: 378 Number of runs: 1602
Milliseconds: 420 Number of runs: 1456

That basically proves that when waits are stacked on eachother, there is a change from 42 to 43, but from other testing(not recorded), if the waits are not stacked, it's just a single wait in a single trigger, it goes the same up until 84.

Using that information, I was able to make this program, that calculates the number of times Hyper Triggers run per second with a single Wait time in them.

EDIT: These were done using Simple Hyper Triggers.

Post has been edited 1 time(s), last time on Jul 28 2009, 4:02 am by Falkoner.



None.

Jul 28 2009, 4:15 am rockz Post #16

ᴄʜᴇᴇsᴇ ɪᴛ!

So I suppose you concur that each wait section increases the delay between frames by 1?

On fastest, the wait sections are 42 ms apiece, on faster, they are 48 ms, 56 ms for fast, etc...



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Jul 28 2009, 4:29 am Falkoner Post #17



Quote from rockz
So I suppose you concur that each wait section increases the delay between frames by 1?

On fastest, the wait sections are 42 ms apiece, on faster, they are 48 ms, 56 ms for fast, etc...

Yes, but I have yet to figure out a truly technical explanation of why standalone waits only go down to 84, other than perhaps it has to wait for the next frame to run, rather than immediately starting the next stacked wait.



None.

Jul 28 2009, 4:39 am rockz Post #18

ᴄʜᴇᴇsᴇ ɪᴛ!

I find it helps to think in terms of frames, since frames don't change based on speed.

Now the real question is can we get off frames. I thought I tried this once, but I don't remember how I did it.

Under 2 frame hypers, if you have a wait 0, that delays the next action 2 frames. If you have a wait 43, does it delay 3 frames, or still just 2?



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Jul 28 2009, 4:41 am Falkoner Post #19



A Wait 43 is the same as a Wait 84, I like to think of it in time, since I only use Fastest anyway.



None.

Jul 29 2009, 12:32 am Ryan Post #20



Well my question was answered already... My topic has become a test ground for hyper triggers :P

Also, the complex triggers wont work if they aren't filled for other players, but the game would be ruined anyways if there were missing players. All players will essentially be required; even then, there will be 2 forces - 1st players for both forces will tradeoff the hyper triggers. This is why I can use complex hypers regardless. Plus they look nicer, and they seem like they have a more controlled speed of running triggers >.<




None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[01:05 am]
Vrael -- I won't stand for people going around saying things like im not a total madman
[01:05 am]
Vrael -- that's better
[12:39 am]
NudeRaider -- can confirm, Vrael is a total madman
[10:18 pm]
Vrael -- who says I'm not a total madman?
[02:26 pm]
UndeadStar -- Vrael, since the ad messages get removed, you look like a total madman for someone that come late
[2024-5-02. : 1:19 pm]
Vrael -- IM GONNA MANUFACTURE SOME SPORTBALL EQUIPMENT WHERE THE SUN DONT SHINE BOY
[2024-5-02. : 1:35 am]
Ultraviolet -- Vrael
Vrael shouted: NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
Gonna put deez sportballs in your mouth
[2024-5-01. : 1:24 pm]
Vrael -- NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
[2024-4-30. : 5:08 pm]
Oh_Man -- https://youtu.be/lGxUOgfmUCQ
[2024-4-30. : 7:43 am]
NudeRaider -- Vrael
Vrael shouted: if you're gonna link that shit at least link some quality shit: https://www.youtube.com/watch?v=uUV3KvnvT-w
Yeah I'm not a big fan of Westernhagen either, Fanta vier much better! But they didn't drop the lyrics that fit the situation. Farty: Ich bin wieder hier; nobody: in meinem Revier; Me: war nie wirklich weg
Please log in to shout.


Members Online: Roy, Moose, Oh_Man