Breaking the recursion cap | TUTORIAL | Difficulty: 🟧

It’s pretty well known that the amount of times you can recurse (having a trigger trigger itself) before you’re stopped by gimkit is 300. Unfortunately, in cases where we need to do a lot of math quickly (AI, 3D rendering, any rendering really, etc) this limit becomes a massive problem.

Thanks to a recent discovery, it’s actually possible to trigger something 15,000 times before gimkit stops you, and it’s surprisingly simple to do.

Start by setting up a trigger that broadcasts and receives on the channel “1”.

Now the way this method works isn’t by making the trigger iterate 15,000 times, it’s about making the receiving device trigger 15,000 times. When you place a comma in between two channels, it will trigger when trigger once when receiving on either of them. This means that if we just spam 1,1,1,1,1, the receiving device (in this example, a counter) will trigger 5 times for every turn the channel 1 is broadcasted upon.

Here’s the copy-paste for the most number of 1s you can fit:
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1

As you can see, when the trigger is triggered the counter jumps to 15,000!
IMG_8598

That’s really all! Hopefully this guide will speed up whatever insanely complex contraptions you want to make, if you found it useful a like would be appreciated :heart:. Thanks for reading this short little guide!

- Blackhole927

27 Likes

Nice! Credit to train guy for the original post?
And I feel like this is easier than orange difficulty lol.
What would happen if we reversed it and the trigger had the 1s?

4 Likes

Yeah, I agree. It’s really quite simple and doesn’t require any block code whatsoever.
Understandinf how it works is a bit different though lol

4 Likes

I’m not quite sure who actually discovered it, so I just said “discovered recently”. It seems to have been used in some guides before this, so I figured better not to start a crediting war here if all places.

As for difficulty, if more people think it should be lower I might change it but I think it’s fine for now. Recursion is a mildly advanced concept that I’ve seen a lot of people struggle to get so idk (also this is like the second easiest difficulty according to the old system which is forever burned into my head so maybe I’m just outdated).

6 Likes

Huh, never knew you could have a trigger receive on multiple channels. Great concept!

2 Likes

I believe there is no trigger cap in Gimkit. You can further break the cap with wiring more triggers, although this is extremely laggy and gives an unpredictable number of channel triggers each time.

gimkit has no trigger cap
2 Likes

I wish I knew about this sooner!!! Triggers can receive on multiple channels!?!? I can get rid of a TON of wires now.

6 Likes

So the channel in front (like 1,2) 1 would be triggered first if they were triggered at the same time, right?
and does this work on all devices? if so, we never have to ever use wires again!

4 Likes

As always, I can count on blueboat to revolutionize gimkit when needed. Nice guide!

3 Likes

Wait WHAT that works? This is huge!

4 Likes

Now that I think about it, was Caviare3d the first time something like this was shown?

2 Likes

wait what you can do that

2 Likes

yeah and no one understood what he meant lol
lemme try to find a screenshot

no idea what this means

4 Likes

Doesn’t this also have a side effect of making commas in a channel name very risky? How does GKC even process a comma when it sees it? Would the channel “1,1,1” be able to be received on, or would it just not exist? I have so many questions!

4 Likes

@TrainGuy53 Thanks for starting this. You are awesome.

5 Likes

Well, we know that the comma was splitting his channel into two, but why could one of his channels not receive on it? Does this work in block code? Lemme go run tests later, this is really interesting!

3 Likes

When broadcasting to SPix(1, 1)W: “SPix(1”. “1)W”
When broadcasting to SPix(1, 1): “SPix(1”, “1)”

2 Likes

Nah, that doesn’t work in this context, since you can still only send on the channel 300 times per second. Because of this, the max you can receive in terms of signals is 15k/s

3 Likes

What if you packed a block with broadcast on channel messages?

1 Like

:bangbang:WARNING :bangbang:

These new discoveries have proven that putting commas in your broadcast may cause your system to break!

3 Likes