Advanced Update Order | Difficulty: šŸŸŖ

Normally I just track people down

1 Like

Iā€™m gonna confuse new users by bumping this :smiley:

3 Likes

Itā€™s one of those things where you think itā€™s an extremely big brain concept that you can only understand if you are an expert, but it actually is just ā€œthe wires will trigger in a certain order depending on when you made themā€

5 Likes

Yeah :slight_smile:
Thereā€™s some thing so wish I could make guides on, but theyā€™re so complex that I donā€™t even know where to start.

For example, compressing block code.

4 Likes

Iā€™m still lazy and I havenā€™t made the hill cipher, and even if I did it wouldnā€™t be guide worthy because it would be more of a showcase than an actual guide.

Cryptography is so obscure in gimkit, not to mention that the hill cipher is vulnerable because itā€™s completely linear, that thereā€™s no point in making it for a guide. Thatā€™s why Iā€™m putting it off for now -@mysz.

4 Likes

i just realized this is because js uses event loops to run one task in an event loop queue which is also one of the reasons why gimkit creative uses block code rather than other code (because ppl could potentially make lag-inducing code, purposefully or accidentally)

1 Like

:sob: i feel so dumb

3 Likes

if anyone else wonders why this works, its because this

1 Like

what

1 Like

? wdym

1 Like

why does it work

1 Like

Javascript is different from some other coding languages because itā€™s single-threaded which means that it operates tasks through a sequence of events (an event loop). Itā€™ll go through each task in the sequence and update UI (what appears on the screen) according to it. So like block code, wires, and stuff like that will go through the event loop, but block code runs but also doesnā€™t block the main thread so while block code runs, other events can happen I assume.

As for why block code is used instead of coding languages, a coding language could block the event loop which would create more lag in a creative game, which could result in breaking the system, while block code runs aside from the event loop and possibly adds the result to the event loop while maybe being in another specific order(? this idea might have to be investigated more)

4 Likes

i might have gotten that so wrong and offended programmers, mb if thatā€™s the case

1 Like

doesnā€™t understand a single word you said

3 Likes

Javascript runs in a sequence, so AUO. Another coding language could block the sequence.

1 Like

Right, but for slightly wrong reasons.
(the below is theory based of of programming knowledge and experiments.)

Gimkit stores connections between devices in a list. When its triggering connections, it just loops over the list. Because connections are appended to the list, the first one placed will be the first one appended, and therefore the first one triggered.

6 Likes

Makes sense.

1 Like

Advanced Bumping Order: If you bump two guides, the guide you bumped first will be under the guide you bumped second.

3 Likes

Josh said that he doesnā€™t even know the update order for gimkit, BUT, he did confirm AUO is correct!

9 Likes

Dang it we should have asked him to list it as a concept in the docs.

5 Likes