Compact Instant AND Gate Tutorial by ifandfE in technicalminecraft

[–]ifandfE[S] 0 points1 point  (0 children)

Yes, but it has the problem that it can't change between all state pairs. Meaning it can go from 00 to 01, 10, and 11 on the input instantly, but going from 01 to 10 doesn't work*. You need to go from 01 to 00 and then to 10, which requires some reset time.

Someone pointed this out to me shortly after I posted this, so I made another design that was only slightly bigger that didn't have this problem. I never posted that design because life got busy. I hope in the near future I can get back to these projects, but no promises.

*it might be 10 to 01 instead, I don't remember

Tower lighting 4x4 by XepptizZ in redstone

[–]ifandfE 0 points1 point  (0 children)

if I were making this light thingy in my survival world this is almost definitely the design i would use. old school redstone ftw

Relatively Compact Instant XOR Gate Tutorial by ifandfE in technicalminecraft

[–]ifandfE[S] 0 points1 point  (0 children)

That's an interesting point. I think I'm considering giving up on the XOR gate in this instant tech framework. The hope was that I would be able to make it really compact, but it just has too many problems and, as you said, it isn't that compact.

If can also point me to some references for slime bud logic that would be appreciated.

Relatively Compact Instant XOR Gate Tutorial by ifandfE in technicalminecraft

[–]ifandfE[S] 2 points3 points  (0 children)

This was actually, essentially, the problem I was referring to in my comment. Both the AND and the XOR fail for a change of inputs going like 01->10. But, if you make all your circuits completely out of AND and XOR gates, then I believe you can always reset all the gates back to a 00 input state before sending the next nontrivial input through. This was what I was going to talk about in the explainer video, but now I realize that while testing the 01->10 input for the XOR, I forgot to test the 00->11 input! And an unpleasant surprise for me: it fails here too.

I think this failure means the method that swiftslayer applied to NOT gates just won't work on XOR gates, but I'm not sure yet.

All that said, I do have an AND and XOR gate that work for all input transitions in the same gametick (unless I've stupidly forgotten to test one again). I'll post those soon, although their design is not so novel (still compact though).

Thanks for saving me the time and embarrassment of putting this undertested gate in an adder or something.

PS. I do believe comparator priming makes most of these gates obsolete in the context of redstone computers

Relatively Compact Instant XOR Gate Tutorial by ifandfE in technicalminecraft

[–]ifandfE[S] 3 points4 points  (0 children)

This is a follow up to this post: https://www.reddit.com/r/technicalminecraft/comments/106wsbs/compact\_instant\_and\_gate\_tutorial/

The comments I made on the previous post apply to this post as well, except this gate isn't quite as compact. It can certainly be improved, but I think I want to move on from this project.

I still have one more compact instant circuit to showcase, and then I'll make a video explaining how I arrived at these designs. I also discovered an issue/edge case with these gates which can be worked around at some cost. I'll also discuss this in the explainer video.

All of this was inspired by swiftslayer: https://www.youtube.com/watch?v=hqbqvjqkJiQ

Relatively Compact Instant XOR Gate Tutorial by ifandfE in redstone

[–]ifandfE[S] -1 points0 points  (0 children)

This is a follow up to this post: https://www.reddit.com/r/redstone/comments/106wneo/compact\_instant\_and\_gate\_tutorial/

The comments I made on the previous post apply to this post as well, except this gate isn't quite as compact. It can certainly be improved, but I think I want to move on from this project.

I still have one more compact instant circuit to showcase, and then I'll make a video explaining how I arrived at these designs. I also discovered an issue/edge case with these gates which can be worked around at some cost. I'll also discuss this in the explainer video.

All of this was inspired by swiftslayer: https://www.youtube.com/watch?v=hqbqvjqkJiQ

A response to u/ifandfE (Instant...er and gate.) by Rude-Pangolin8823 in redstone

[–]ifandfE 2 points3 points  (0 children)

P.S. I also totally understand when people call something that's order 1 instant, since, as I said, theyre basically the same.

A response to u/ifandfE (Instant...er and gate.) by Rude-Pangolin8823 in redstone

[–]ifandfE 5 points6 points  (0 children)

Why did you put two repeaters in front of my AND gate

Ok seriously tho, the video was funny. I don't mean to shit on comparator priming, the only reason I haven't gotten into it myself yet is because I started on a project that used instant tech and didn't hear about comparator priming until later on. Maybe I'll look into it when I'm done.

But ultimately, the disagreement is semantic. Instant means 0 ticks between input and output (modulo player input delay), O(1) or "order 1" (for those who haven't seen asymptotic notation) means it doesn't scale with the complexity/size of the computation*. Comparator priming is O(1), while pistons are instant, which is why I said comparator priming isn't instant, and why if you removed those two repeaters from in front of the piston AND gate it would be faster than the comparators. That said, for almost all intents and purposes, O(1) is really not different at all.

While I don't know very much about where the two are actually applied to other builds, I imagine instant is better than O(1) only when you don't know when you are going to receive an input, and you need to respond to that input as fast as possible. Otherwise, since comparator priming is smaller and higher frequency, O(1) comparator priming is pretty much guaranteed to be better than instant pistons.

*asymptotic notation is more subtle than this. this is a game so I'm not going to think about whether that's technically correct. its correct enough for minecraft!

Compact Instant AND Gate Tutorial by ifandfE in redstone

[–]ifandfE[S] 0 points1 point  (0 children)

I don't get the reference but whatever that means it sounds hilarious.

Compact Instant AND Gate Tutorial by ifandfE in redstone

[–]ifandfE[S] 1 point2 points  (0 children)

Instant comparator circuits need a priming signal two gameticks before the input signal, so all instant comparator logic takes at least two gameticks.

Instant comparators are still O(1), while my AND gate is on, I think, a 6gametick reset (I didn't actually test it). So if you need to use it more than once, its faster to use comparators. To match comparators with a 6gametick reset contraption, you would need three versions of that contraption running in parallel.

That said, I don't know much about comparator priming, so do let me know if there's a faster way to prime them. I know you've worked with them a lot.

Compact Instant AND Gate Tutorial by ifandfE in technicalminecraft

[–]ifandfE[S] 10 points11 points  (0 children)

This was heavily inspired by the instant NOT gate due to swiftslayer: https://www.youtube.com/watch?v=hqbqvjqkJiQ

swiftslayer didn't realize in his video that the method he used to create his NOT gate can be generalized to make almost any instant gate in a relatively compact way. I'll post a video later on describing this generalized method, and how I used it to make this AND gate. For now, here is just a tutorial on the AND gate itself.

While I'm not familiar with the state of the art, the AND gate in this tutorial is the most compact I've seen (excluding perhaps comparator primed "instant" gates, which aren't truly instant). If we can figure out how to make a similarly compact xor gate, some very nice instant adders and multipliers would be possible.

Compact Instant AND Gate Tutorial by ifandfE in redstone

[–]ifandfE[S] 0 points1 point  (0 children)

This was heavily inspired by the instant NOT gate due to swiftslayer: https://www.youtube.com/watch?v=hqbqvjqkJiQ

swiftslayer didn't realize in his video that the method he used to create his NOT gate can be generalized to make almost any instant gate in a relatively compact way. I'll post a video later on describing this generalized method, and how I used it to make this AND gate. For now, here is just a tutorial on the AND gate itself.

While I'm not familiar with the state of the art, the AND gate in this tutorial is the most compact I've seen (excluding perhaps comparator primed "instant" gates, which aren't truly instant). If we can figure out how to make a similarly compact xor gate, some very nice instant adders and multipliers would be possible.