I Made RGB Tetris with just Redstone!
Vložit
- čas přidán 22. 05. 2024
- To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/mattbatwings
You’ll also get 20% off an annual premium subscription.
Patreon: / mattbatwings
Discord: / discord
My socials: linktr.ee/mattbatwings
My texture pack: modrinth.com/resourcepack/mat...
World Download: (JAVA 1.18.2) www.planetminecraft.com/proje...
Tetris Texture Pack: drive.google.com/file/d/1-N_b...
-------------------------
0:00 Introduction
0:44 How Tetris Works
1:54 Display
3:52 Showing Pieces
4:58 Rotation
7:27 Movement
8:52 User Interface
9:28 Sponsor
10:17 Two Systems
11:56 Collision Detection
14:13 Line Clearing
16:00 Clock / Control Logic
17:19 Next Piece Display
17:54 Scoring System
19:38 Showcase
Music (in order):
Tetris 99 - Main Theme • Tetris 99 - Main Theme
Harris Heller - Guilty Spark • Guilty Spark
Infraction - Serotonin • Vlog Lo-Fi Chill by In...
PRNV - Happy High • Happy High || happy lo...
Harris Heller - Streamline • Streamline
Helynt - Continue • Continue
Harris Heller - Plethora • Plethora
LAKEY INSPIRED - Chill Day • LAKEY INSPIRED - Chill...
Infraction - Jeju • Vlog Chill Hip-Hop by ...
Harris Heller - Path Less Traveled • Path Less Traveled
Sascha Ende - Finger ins Ohr • Sascha Ende Finger ins...
Helynt - Moog City • Moog City
LuKremBo - bisuit • (no copyright music) l...
Harris Heller - Iridescent • Iridescent
Milky Wayvers - Love In Japan • Love in Japan
HOME - Still Life • HOME - Still Life
Harris Heller - Meteor Binge • Meteor Binge
LitKidBeats - GOOD VIBES • [FREE] Happy Type Beat...
unfeel - Kinda Love • Kinda Love
Creo - Place On Fire • Creo - Place On Fire
This video was sponsored by Brilliant - Hry
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/mattbatwings
You’ll also get 20% off an annual premium subscription.
it be good i use it
This comment was posted 2 hours ago... THE VIDEO WAS UPLOADED 1 HOURER AGO!!!!
MAKE GEOMETRY DASH
sponsored guy gg
Awesome video, but you made a vital flaw. NES tetres uses what is known as a grab bag randomizer. easily done with shulkers, I would think. Basically tetris picks a spread of pieces then puts them in a register, it then shuffles the order of that register. This is to prevent a series of repeating pieces say being line piece 3 times in a row. or say never drawing a square piece for hundreds of moves. Both of wich were problems the original teris had to face and fix. All and all an impressive feat of redstone programming and engineering. However I would argue that because of your one fundamental change to its algorithm, you didn't make an NES based tetris, you made an NES inspired tetris with changes. Love the video great content, always happy to see you post.
Next thing to try is Minecraft in Minecraft (color edition)
It'd take like 3 days per frame
@@HyperCodecwat
hey i commented first
Considering Matt already did a 3d render its definetly possible just really, and I mean REALLY hard
@@Diamondsword85_RS Yes?
"I need to look into the future" - least complex minecraft redstone
full color era of MBW has started
First comment award 🥇
HOW 3 HOURS AGO THIS VIDEO WAS 1 HOUR AGO
bro's a time traveler 💀💀
Mmm yes
@@matthewdevries6590membership perk
Another way you could make the controls is giving villagers an item, then when you hold that item in your inventory, a sculk sensor would detect it
I was gonna say this as well
yeah this
How does this system work?
calibrated sculk sensors can detect certain things, such at what @Yackalips said@@peckychicken
@@peckychicken If you hold an item that villagers will trade for, they will display the trade in their hands, this produces an interaction that skulk sensors can pick up
@minecraft should take notes, redstoners want blocks that change colors depending of signal strength
last useful Minecraft update was 1.5 💀
What about dyeable redstone lamps? Crafting a dye with a redstone lamp will give you a redstone lamp of the respective dye color
@@BlueKirby808 The problem with this is that the player will expect the light emitted by the lamp to also have a different color. But this will take a complete redesign of the lighting engine of the game
Modders did it long time ago so company that big can do this too.
@@ayrton9808I mean, if bedrock had a shader redesign (renderdragon) and still managed to do it, java surely can redesign their lighting engine
4:04 Local Redstoner realizes what the “tetr” in “Tetris” means
the timestamp is perfect
"Tetr" in Tetris means 4 in Greek (probably). because each piece only has 4 tiles
okay, is it just me or did you forget the most important thing... a game over! its truly an amazing video, but the whole time i was wondering how you where going to implement it. and it got left out!
i was wondering the same thing
I think you can just detect if there is a collision as soon as a piece is created. If so then game over
@@earendiIeur but it only checks for movement right? there are only checks for going left, right and down. because rendering the blocks doesnt follow these checks, it just renders inside the already existing blocks, just like before the movement collision was added.
He forgot the functionality to store as well
@@typoilu3413nes tetris doesn't have holding
I recommend space invaders.
Don't forget that it speeds up as it goes
I think the falling animation for line clears looks way cooler than real tetris
This is spectacular! Huge improvements from the first iteration. Also love the Blue Scuti cameo at the beginning :D
I coded Tetris myself a few years ago (not in Minecraft 😅), and it’s amazing to see how the implementation decisions are straight just identical
MOM: Matt! you still playing minecraft?! MATT:Nah just tetris.
*THE ONE PIEECE!*
5:17
10:25
10:31
11:20
THE ONE PIECE IS REEEEAAAAAAL
THE ONE PEICE IS REEEEEAAAAAAAALLLLLLLLLLLLLLLLLLLLLLLLLLL!!!!!!!!!!!!!!!
best comment
CAN WE GET MUCH HIGHER!!!!!!!!!!!!!!!!!
Is that a one piece reference?
matt 5:24: "you can't rotate the square"
every tetris player: it's an O piece
every modern tetris player: all-spin
I struggle building a 4x4 meanwhile this guy is out here building tetris
i still need to point out that building redstone doors don't exactly use the same skill set as building redstone computers
hell yeah another mattbatwings video
oh hey! you missed an interesting detail about how exactly pieces are "randomly" selected
quoting the tetris fandom page:
The Random Generator is BPS's name for the algorithm used to generate the sequence of tetrominoes in Tetris brand games that follow the Tetris Guideline.
Random Generator generates a sequence of all seven one-sided tetrominoes (I, J, L, O, S, T, Z) permuted randomly, as if they were drawn from a bag. Then it deals all seven tetrominoes to the piece sequence before generating another bag.
tetris works this way so the RNG is more balanced, and you're not dealt similar pieces back to back
just sharing because i figured you might find it interesting!
Not an expert on this, but I believe I've heard that in the original NES Tetris pieces were truly random. I'm pretty sure the bag randomizer was added in later games.
@@DamienPup oh! youre probably right, I should've double checked for the NES version specifically
yea he kinda based it around nes
0:05 OMG diao !
omg maxicubi
It’s crazy how a game as simple as Tetris can be made in Minecraft and also it takes ALL of this redstone just for one thing
Imagine how much “redstone” there is in a phone or PC that runs incredibly complex programs
Very nice video ! I codded myself a tetris game in C with arduino and i met the same issue as you had with off-screen rotations. What I did is that i allowed them, and checked after a rotation if there was a part of it outside, if so, i move its x (+1 or -1 depending of the side the off-limits blocks are) and check it again, until the whole piece fits in the screen. However, i have no idea how hars it would be to do that in redstone, your work is really impressive
How do you deal with pieces that can't be moved sideways after a rotation (like a T piece falling down a 2 block wide opening, being rotated so that the flat side now points up or down) ?
@@davr1 oh yeah, T spin
Tbh I didn't really cared about them, it was for a school project and my teacher isn't a pro so I don't think he even tried that lmao
Subbed, I really enjoy how understandable you make it and how genuinely skilled you are. I’ve watched a few of your videos before and your effort is appreciated, enjoyable watch!
@mattbatwings
1. Great video
2. insane to see that done with just redstone and no commands
3. As someone who read EVERY single instruction in the NES Tetris ROM:
In the game movements within a frame is processed in the order of horizontal shifts, rotation, vertical drop
The lines above a cleared line are shifted down one by one. The game check for a full line 4 times, but only where the piece locked.
The next piece is not 100% random, the code to generate a random piece has a strong bias against repeating a piece and a small bias against I and L pieces.
(This is just a very basic explanation; NES Tetris has a lot of quirks)
loving the work that you do. might i say, you can use the rising and falling edge detection from 1 clock. no need for 2....
This is actually really good. The logic behind this is really advanced stuff. Well done!
"Hey dude, do you wanna play Tetris with me?"
"Uh sure"
"Okay, join this Minecraft server"
It is PERFECT ! Just one little thing is missing : The kalinka !
You are amazing at redstone but i think your real unique skill is in explaining things in a very understanding and entertaining way. In my opinion you are the absolute best redstone youtuber on the entire platform even if ur not the best redstoner.
Oh, it was nice to hear Place on Fire by Creo at the end!
Great project. I'm currently learning microelectronics, and this was fun to watch. :)
Well, in the nes tetris, it used a sprite sheet then colored it, so you could use something like glass, so it would show the black and white version of it, then put glass in front
At least, thats how i think it worked
I just watched one of your other videos. I love your videos, u earned a sub.
I allways go strait to the showcase wich is, for me, the best part.
Amazing video. The redstone level is just incredible
Loving these color videos
Using various sounds such as shifting armor pieces for a user interface could be a viable alternative to the jump, that way, you can rotate while moving.
Somebody : hum this seems complicated
Mattbatwings : make more ROM
My guy, this is insane. You deserve millions of views for this. Great job on this work of genius 👍
Using Pacman's idea in Tetris? Genius 😎
Big brain complex 🧠😎
I really wanted worldedit so I can follow your tutorials, so I'm so happy that I got worldedit.
Really awesome build!
I think that instead of 2 pressure plates on opposing sides for left and right movement, instead, use 2 tripwires that are at the player head level (and face the opposite direction of the jump tripwire-) because it is at head level, if they jump, they still can trigger it. This enables simultaneous movement and rotation.
I would've also added pistons to the left and right of the pressure plates to immediately move you to the center. But it is entirely up to choice, as some people might find it obstructing.
creo music in the showcase was amazing
My cursed brain expected Luffy to appear on screen every time you said 'one piece'
You could do the soft drop by applying it to the player’s input controls tick. So with the clock alternating between input/down/input/down etc. the input tick would also move it down and double the speed of the piece when you soft drop it.
And for increasing the speed you could use a comparator clock with a signal strength comparison to make a variable speed clock that changes the speed of the clock based on the signal strength comparison, and you can change the signal strength to change the frequency of the comparator clock. If it’s all going on one clock you can make a 1 digit binary counter. Whenever the bit flips on it checks the input and when it flips off it does the down movement. That alternates the pulse from the clock between two circuits and makes it all operate on one controllable timer.
It's kinda hard to explain in text but if you have a typical comparator fader circuit with two comparators powering each other with a decaying signal strength, and a torch output from the block used, then a repeater from the torch back into the comparator timer. The torch will pulse on for 1 tick when the comparator fade timer reaches zero signal strength, then it resets the comparators with a fresh signal. You can push a signal into the side of the second comparator to deactivate the timer early when the decaying signal drops below the input signal it cycles the clock. As you increase the signal strength going into the clock you speed up the clock.
When the input signal is 0, the decay clock has to decay from 15 to 0, but if the input signal is 4 for example then once the decay signal drops to 4 the second comparator will output a zero instead of the decaying signal which instantly resets the clock early every time it goes around. So you could technically make a 16 level system, from 0 to 15 which increases the speed of the clock. I'm sure it can't run at a 1 tick clock speed though so if you extend the duration of the decay clock beyond 15 ticks maximum you can make a slower clock that still has a 15 tick range of speeds.
Attempting to make an example diagram
top down view
🔴🔴➡➡➡...➡🔴
💡⬛⬅⬅⬅...⬅🔴
❌❌⬆
the light bulb is a torch comming from the black square block and is also the output signal which will probably need to be reduced to a one tick pulse. The red dots are redstone dust. The left and right arrows are comparators pointed in that direction the up arrow is a signal strength input going into the last comparator which controls the speed of the clock from 0 to 15, 0 being the default slow speed and 15 being the fastest possible. You can make it a variable length to extend the duration of the clock entirely. So the length of the clock gives the range of durations while the input selects the speed between the normal duration and 15 ticks sooner than that.
The red X is an empty space
Matttbat : I need to look into the future
Me : TIME TRAVEL
Tbh, I feel like it would have been worth it to implement levels and softdrop, and then just use the /tick command to make the max speed faster. But it's still amazing that you are able to do all these crazy things!!! Keep up the good work!
This is AWESOME! Love it!
wish we had a lightblock that emits a diff color depending on signal strenght
Great Video! As a modern tetris player I'd love to see SRS and 7-bag though. Maybe even 1v1 versus?
Since soft drop is an input, it could happen on the sideways movement / rotation clock ticks (seems fine to give soft drop priority over sideways movement)
I was thinking if he positions the player down slightly so that his head would intersect with a second tripwire, where if he crouches it would no longer intersect, giving you yet another input. I think moving the player down half a block should allow this while still allowing input by jumping to touch the top tripwire.
Amazing work, one thing I thought about is that when soft dropping I believe the player can't rotate or move left or right so wouldn't it be possible to implement as the piece moving down on the player clock as well while soft dropping?
Amazing videos! 👏
Who knew that knowing how to find x would help us in Minecraft.
Hey in the controls where are the pressure plates you could make it so when u stand on one pressure plate a piston will push you back so you dont have to go back
i think i get it now why people like massive redstone builds. it's basically visualising of programs. if you made Tetris in python, it's just a bunch of code, but in the background there's also a lot of computation. but here it's all compacted into a single machine, giving it a giant look. it's pretty cool but i still think that making larger projects with regular code is way more exciting. redstone can limit you at times
Another video from the legend
I CANNOT WAIT
14:06 I'm pretty sure in the actual game, whenever you rotate, the game has a few positions it can check to see if it can put the rotated piece somewhere where it doesn't intersect anything, and if none work, it just doesn't rotate...
LET'S GOOO!!! CONGRATS!!!
I’m impressed your PC handled this wow! I wish we could have texture packs like this on Minecraft Bedrock edition
upgrade idea, make a piston push you to the midle
Try subway surfer in Minecraft
The Matt Parker jumpscare was very unexpected, but very appreciated
Nice work!
Don’t get me wrong, this is incredibly impressive and super cool, but as someone who used to play competitive modern Tetris, I nearly dissolved watching this video
Given your prior work, I think a hard drup might be possible for you, my thinking is to subtract remaining lines from Y, as for control a inverted trip wire could detect crunching.
The madlad did it again! Next version with rotation kicks? ;)
Only one complaint. The dispenser isn't copying the Tetris bag system. Tetris works by filling a "bag" with all the pieces and randomly picks one out. When the "bag" is empty it just refills it and does it again. The reason I am saying this is because you can technically get alot of the same peices but this system prevents that. I hope this gets looked through because it seems like a really simple fix that will be closer to Tetris. I think you really should have looked a bit more in depth into how Tetris works, but still you made a great video. Just wanted to point that out.
His voice is so soothing!
Mod punchtree made a level based tetris today.
13:28 ahhhh looking into,the future simple
How can he make all this into a twenty minute video and I have spent over 20 hours building a calculator that can only add single integers. This guy is crazy. 😅
BRO that was amazing you should make a tetris theme song behind by note blocks bro
damn it would be RLY COOL to replicate the original NES TETRIS bugs like the glitched colors
other than this thing is in the top 10 coolest things i've seen so far with redstone, i was wondering: to make soft drop, couldn't you have made the block skip a line when going down? Like, when you click the button for soft drop, the block starts going down skipping one row at a time. Wouldn't that work? Anyways, great job.
The yt also recognise it as Tetris, You are a Legend
15:56 oh yeah, a flawless rotation
The controls are similiar to the wii balance board controls for tetris party deluxe
This is so coooool, congrats
13:24 bro going full on NYC psychic mode
It would be great if you could mimic the color glitch and the true kill screen and if possible the rebirth screen.
next build a redstone computer that plays chess against you and you can set the difficulty to different elo ratings😁
this makes me wanna grind some tetrises and t spins
You should add pistons to push the player back to the center of the control area so you don’t have to press D than S to step off the pressure plate before pressing D again to move the piece twice
Can villagers and skulk sensors be used for controls? Where you can rebind your hot bar buttons to whatever keys are comfy (only works for inputs that dont need to be pressed twice in a row)
Fun fact: according to one of the game’s early instruction booklets, each of the tetrominoes have a name. They are (I am not kidding): Orange Ricky, Blue Ricky, Cleveland Z, Rhode Island Z, Hero, Teewee, and Smashboy.
You are welcome to guess who is who
For the soft drop could you have a faster clock for falling when you enable it and for every pulse for falling it adds too the score?
Idea that’s probably way too hard: combine your 3D renderer with colour and make a digital Rubik’s cube
A potential fix for the display issue with the quadrants not being the same could be to leverage blockstates do differentiate between which quadrant of a tile is being shown. for example a dot only connected to the north could be something different than just a dot.
True, but then you’d need to make the display so much bigger to be able to fit in the mechanisms that control the blockstate (you’d need to have pistons pushing blocks in the way to cut off connections) which would make the redstone a lot bigger. Also it’s not ideal to use pistons in this sort of contraption. And all the ROMs would have to store more than a single signal strength, which would make things a lot more complicated. So theoretically possible but for this build I don’t think it would work in practice
@@repeater64not really,
each cell is already using 4 dust to cover the 4x4 area so its as simple as making each 1/4th of cell unique statically, no need for moving parts.
thats amazing!
Amazing…. Also how do you make your animations & videos? I would love to see a “meta” video that showed that
Is it possible to use pistons to reset the player's position every time the player steps on a pressure plate? I feel like that'd be more intuitive because then the player's WASD would directly correlate to controls instead of needing to press the opposite button after every move to re-center.
6:59 Guess we won't be seeing the Super Rotation System
This is INSANE 👑
if you ever want to remake tetris (again!) there is actually leaked documents from the tetris company on how to brand, credit and make a tetris game. These originate from like 2008 to 2010 and they make a new version each year.
Wish I had Java so I could find a way to program a Shrek movie display in Minecraft with the custom colors haha
I feel like your next project is going to be making an ai that can draw images!
8:07 add value to all the exes😂
I will never NOT be in awe at the ability of Minecraft redstone and those who understand how to use it to the fullest. Just a simple game mechanic turned into building blocks for computer code
this video is literally exact thought process I had when I was coding tetris in javascript, though, uh... obviously your one is a little bit harder lol
Great work, man.
Take care of yourself,