Advanced Update Order | Difficulty: 🟪

WARNING: AUO IS A NEW CONECPT STILL BEING RESEARCHED. THIS TUTORIAL IS NOT A FULL LIST OF EVERYTHING RELATED TO AUO.

Yep, this is a purple tutorial. However, Advanced Update Order (AUO) is such a weird and complex thing that I think it deserves it.

What is Advanced Update Order?

AUO is the order that gimkit does things. You can think of it like a list of things: Move the player, then check if player is tagged, then check if player is josh, etc. Normally, AUO doesn’t matter too much. However, in some situations, this difference can be super useful! Using AUO will allow you to make wires trigger (without wire repeaters) in an order, at incredible speeds!

How do you do AUO?

Well this brings up the question: What order does gimkit trigger wires in, if there are multiple wires leaving something? The answer to this lays in something you don’t really think about, but is super important: The order you placed the wires. I can’t dig through gimkit’s code to check, but here’s what I think is happening to cause this: Each device has a list. This list stores all the wires that leave that device. When the device needs to send signals through these wires, it sends a signal down the first wire, then the second, then the third, and so on. In summary, because code stuff, the first wire placed is the first one triggered. Let’s look at an example:

The Example

For this, we will have two wires leaving a button. One will reset a counter, the other will add one to the counter. We will place two wire repeaters in the middle because you can’t connect something to something else twice. Here is our un-wired setup:

Now, wire a wire to the top wire repeater, and then wire that wire repeater to the counter. Select “Reset Counter”. Then wire the button to the bottom repeater and the bottom repeater to the counter, this time selecting “Increment Counter”. Here is our setup now:

When you test this, and press the button, you’ll notice that no matter how many times you press it the counter says 1. This is because the counter resets and THEN adds 1. Because we wired the reset wire first, the counter resets first. Now, let’s try it the other way around. Delete the wires, and this time wire the “Increment Counter” first. When you’re done, it will appear that nothing has changed, but testing shows us otherwise. Now, when we press the button, the counter stays at 0. This is because the counter is incremented first, and THEN is reset. It is incremented first because we wired it first!

How AUO behaves with multiple wires

Here are some wires. I placed them by column, starting at the left column working to the right. The number next to a wire represents the order it was placed in, in that column. When a pulse gets to one of the text objects that says "Placing here", it will display the order of when the signal reached, whether it was first, second, third, or fourth.


So which pulse will reach the end first? And how do we find that? Well, here is how gimkit triggers wires: (It’s an animation)

You can see that whenever there is a split in the wires, the path takes the smaller number (oldest wire). Then, when there are no more wires to go to, the path goes back until it finds a split it hasn’t gone down yet! As a result, after the button has been pressed, the output will be:
1
0
3
2

Who Cares?

Overall in your games this isn’t very important. However, if you want to have a series of events occur in an order, very fast, without wire repeaters, this can be very useful.

Conclusion

In conclusion, we learned what AUO was, and how to perform it. Will this be useful? Probably not, I can’t think of a time I would ever use it. But it’s something that could prove to be useful in the future! I hope you learned something from this tutorial! Like this post if you enjoyed reading and learning about this! If you found any errors, tell me so I can fix them!

Thanks for reading!
- Blackhole927
58 Likes

Wow @Blackhole927, this is really cool mechanic that I didn’t know about! And you explained it so well; It doesn’t even seem like a :purple_square: difficulty guide at all! Great job! :clap: :clap: :clap:

14 Likes

does AOU also affect channels?

4 Likes

This is unknown. I’m doing some testing and I will update this tutorial when it is done.

7 Likes

@josh just curious, is the information here correct?

6 Likes

@GimAI /gimai_rate post

7 Likes

Great job @Blackhole927! Having gone through your tutorial on Advanced Update Order (AUO), I must say that I am impressed by the depth of your explanation and the simplicity of your language which makes it easy for anyone to follow, regardless of their familiarity with the concept.

Here’s my honest feedback:

What you did well:

  1. Your tutorial is extremely detailed and comprehensive. You managed to simplify a complex concept into an easy-to-understand guide, which is a remarkable feat.
  2. I appreciate the use of images and animations. They break down the information into digestible parts, making it easier to comprehend.
  3. Your examples are practical, allowing readers to not only understand AUO theoretically but also see it in action. This is extremely useful in teaching and understanding any new concept.
  4. The way you respond to comments shows that you are committed to providing accurate information and ensuring that your readers truly understand AUO. It reflects your dedication to educating and assisting others.

Areas for improvement:

  1. Despite the detailed explanation, the actual applicability of AUO could be explained better. Why should a reader care about AUO? You mention that it’s probably not going to be used often, which might discourage readers from investing time to understand it. If there are any potential use cases, even if they are niche, it would be helpful to mention them.
  2. While the tutorial is comprehensive, it could benefit from a summary or key points section at the end. This would help readers recall the important parts of the tutorial and make it easier for them to reference back later.

Overall, I would rate this tutorial 8.5/10. Your strong understanding of the subject and your skill in explaining it shine through. However, highlighting its practicality and providing a summary could enhance the tutorial’s value for the reader.

Keep up the fantastic work, and I look forward to seeing more of your contributions in the future!

6 Likes

This is very helpful, and I will surely use it in the future. Thanks for sharing this with the community!

4 Likes

Say that when a counter reaches zero, it would send a wire pulse to both a property and a notification. When the text receives the pulse, it sets a true/false property called ‘Tag’ to the opposite of its current value. When the notification receives the pulse, it would display different notifications based on whether tag was true or not. Which would update first, the property or the notification?
@Blackhole927

4 Likes

Great idea! Sadly, I can’t edit this post anymore, so for now I’ll write it down and when I have enough data to make a new bigger post I’ll put it there

10 Likes

Did you come up with the name AUO yourself? It seems like a big deal to invent a whole Gimkit field yourself :face_with_open_eyes_and_hand_over_mouth:! Great job in explaining it and even just discovering this!

7 Likes

I agree. that was really complex

4 Likes

@GimAI /gimai_help What do you think of user Blackhole927 based on this post?

5 Likes

Based solely on this post by @Blackhole927, here are a few impressions:

  1. Detail-oriented: The post is very thorough and comprehensive, indicating that @Blackhole927 is meticulous and attentive to details.

  2. Effective Communicator: The user communicates the complex topic of Advanced Update Order (AUO) in an easy-to-understand manner, which suggests that they are adept at breaking down complex topics for a wide range of users.

  3. Willing to Share Knowledge: By creating this tutorial, @Blackhole927 shows a willingness to share their knowledge and help others understand a complex concept.

  4. Open to Feedback: The author invites corrections and suggestions, demonstrating an openness to feedback and a desire to improve.

  5. Community-minded: The user’s overall tone and encouragement for interaction indicate that they are community-minded and likely to be a positive contributor to the Gimkit forum.

Please remember that these impressions are based solely on a single post, and the complete picture of a user might require a broader view of their activity and interactions.

8 Likes

Let’s not…
xxxxxxxxxxx

6 Likes

In the who cares section, I care and I used this to find a dupe glitch. Thanks for being so helpful!

10 Likes

Extending AUO to other things in Gimkit that happen at the same time, the sub-category of ADVANCED BLOCK ORDER was created.

This is the birth of another new field: ACO: Advanced Channel Order.

8 Likes

What do you mean @ClicClac?

5 Likes

Could you make a post involving ABO?

3 Likes

Sure, after my Candy Land post.

1 Like