I tried to make Tetris in Scratch

Sdílet
Vložit
  • čas přidán 28. 05. 2024
  • It's here if you want to try it:
    scratch.mit.edu/projects/9946...
    Music used:
    "Inevitable" by Diamond Ortiz
    "Marty Gots a Plan" by Kevin MacLeod
    "Monkeys Spinning Monkeys" by Kevin MacLeod
    "File Select" from Super Mario 64
    "The Builder" by Kevin MacLeod
    "Sneaky Adventure" by Kevin MacLeod
  • Hry

Komentáře • 215

  • @aaron.s1531
    @aaron.s1531 Před měsícem +98

    In my computer class, im making an inscryption style card game. Scratch is a funny little thing.

    • @funkymoss
      @funkymoss Před měsícem +7

      i love inscryption!! can you give me an update when you release it?

    • @aaron.s1531
      @aaron.s1531 Před měsícem +6

      @@funkymoss sure man!

    • @aaron.s1531
      @aaron.s1531 Před 29 dny

      @@funkymossIts done enough for what I need now lol, my account name is this_is_a_name_yes
      Its called Performance task (inscryption style card game)
      Note: its INSPIRED by inscryption, i did NOT do a good job modeling after it lmao.
      Other note: Don’t speak with the book, it might get ideas…
      It will likely receive updates, as there are only 10 cards, half yours, half not.

    • @parali30
      @parali30 Před 2 dny

      ​@@funkymossi hope he didnt forgor

  • @idzwakey8737
    @idzwakey8737 Před měsícem +72

    4:26 could of used the set rotation style block and changed it to dont rotate

  • @DSMusicParodies
    @DSMusicParodies Před měsícem +30

    btw, if u add multiple when flag clicked blocks, both run when flag clicks, allowing some scripts to be seperate from "wait" blocks in the forever loop of the other chain of blocks. this helps with things like snappy-ness.

    • @XenonNeko
      @XenonNeko  Před měsícem +3

      Oh wow! That's neat!

    • @flameofthephoenix8395
      @flameofthephoenix8395 Před 18 dny

      @@XenonNeko Additionally you can use DaysSince2000 to create your own wait blocks which is a better alternative, and if you're worried that the wait blocks have more precise timing, they don't. Though, you'll have to multiply DaysSince2000 by 86,400 to get the value in seconds.

    • @ego-lay_atman-bay
      @ego-lay_atman-bay Před 7 dny +3

      Except you can run into sync issues. That's why many lot of scratch games use only 1 green flag clicked block (even griffpatch uses 1).

  • @lpinf
    @lpinf Před 21 dnem +14

    Just wanted to let you know, the forever loop isn't ONLY a forever loop, but it also yields for other "threads" once the end of the loop is reached (if you put multiple flag clicked blocks for example, those scripts would then get processing time), and automatically waits for the next frame. This means loops are capped to 30 fps by scratch itself, so you don't have to do any timing work ! The only way to prevent this is to create a function (define block) with the "run without screen refresh" option on.

    • @ego-lay_atman-bay
      @ego-lay_atman-bay Před 7 dny +1

      Well, scratch does cap it to 30 fps, but that doesn't mean lag can't happen. Using delta time is much better. Plus, this also caps the fps on turbowarp, which can run scratch projects at higher fps, as high as 256 (but usually just 60).

    • @lpinf
      @lpinf Před 7 dny

      @@ego-lay_atman-bay Delta time is obviously superior, and for that, the `days since 2000` block actually is pretty cool if you want multiple timers (to avoid using the `timer` value which can be used for stop detection).
      It can get really precise, being a floating point number ! For small projects though? you aren't gonna lag scratch much, so it's fine.

  • @alexside5153
    @alexside5153 Před měsícem +5

    I love this video, and how it explains how scratch works. Most youtubers just try to make fun of it and say "How limited it is" but you described it very well in a way that makes it seem more like a game engine, which is what it is. Even if it is for kids, it does it's job very well, and i have been using scratch for years with no issues.

    • @XenonNeko
      @XenonNeko  Před měsícem +1

      Thank you!

    • @ego-lay_atman-bay
      @ego-lay_atman-bay Před 7 dny +3

      I have been using scratch for many years, and love it so much, but I still don't say it's a game engine. It's way more inline with regular programming than a game engine. A game engine usually takes care of physics and more, but scratch just gives you the basic tools. Scratch does have moving in a direction, but that's already a common programming concept, turtle graphics.

  • @Lu9_ST
    @Lu9_ST Před měsícem +10

    the funny thing is, one of the sample projects that would COME with scratch (the very old 1.x versions for windows) was in fact a Tetris clone. It had levels and speed-up I think, but otherwise it looked far more boring visually, so I'll still say yours is better, lol
    (but also old Scratch had less to work with i.e. you couldn't create and define your own blocks/functions)

  • @Leognml
    @Leognml Před měsícem +24

    dude this is like your second time using scratch ever and your way better then me

    • @Eeeeeeeee75282
      @Eeeeeeeee75282 Před měsícem +7

      that’s because he has coding experience in other coding softwares, Scratch is like an easier version of any other coding software

  • @flameofthephoenix8395
    @flameofthephoenix8395 Před 18 dny +5

    3:30 That is indeed one of the most useful blocks.

  • @flameofthephoenix8395
    @flameofthephoenix8395 Před 18 dny +2

    3:00 You can recolor with the color effect block, however getting the colors you actually want is tricky.

  • @PersonOverHeaven
    @PersonOverHeaven Před měsícem +74

    2 words USE CLONE

    • @XenonNeko
      @XenonNeko  Před měsícem +22

      I personally feel that stamping is more efficient for tiles on a grid

    • @PersonOverHeaven
      @PersonOverHeaven Před měsícem +17

      @@XenonNekobut with clones are way less complicated and can use the if touching blocks in sensing and rotate using movement blocks instead of all that math stuff and code

    • @XenonNeko
      @XenonNeko  Před měsícem +12

      ​@@PersonOverHeaven True. I'm definitely not used to the way things are done in Scratch 😂

    • @flameofthephoenix8395
      @flameofthephoenix8395 Před 18 dny +9

      @@XenonNeko Clones are easier, but not really the best for rendering, stamping is generally optimal, however clones do have their use case. Generally, clones are best used as extra data storage because if you make a list that is "For this sprite only" then clones will have their own separate version of the list that has different values, this is useful if you are storing a lot of data that can't fit on a regular list that only has 200,000 maximum items, though there is also a maximum of 300 clones so there is that to consider too.

    • @snezitko
      @snezitko Před 17 dny +3

      ​@@XenonNeko most things on grid that need collision detection are generally better with lists than using clones because the touching block is a lot slower than the check a thing in the list blocks.

  • @goofynaas204
    @goofynaas204 Před 23 dny +5

    This is a pretty good project! I was so happy when you switched to the delta time method.

  • @flameofthephoenix8395
    @flameofthephoenix8395 Před 18 dny +3

    1:13 In my opinion, it's best not to use triangles, 3d rendering doesn't need triangles, any illusion will do, and bill-boarding is an illusion. But, there's more you can do, like if you want to render a 3d line you can project the two points onto the screen then put your 2d image in-between the two points, scale it to fit between the two points, and rotate it to match the slope of the line.

  • @Wooolllyyy
    @Wooolllyyy Před 17 dny +3

    You are now Griffpatch

  • @flameofthephoenix8395
    @flameofthephoenix8395 Před 18 dny +2

    3:15 With that nice black background it should make recoloring your sprites easy, to change the color of the sprite you set the color effect to double the value you want it to be, to get the saturation you set brightness effect to one hundred minus the value you want your saturation to be, and to get the brightness effect you set the ghost effect to one hundred minus the value you want for brightness. I may have gotten some of the mathematics wrong since I haven't needed to use this in a while, but that is the overall gist. Unfortunately using ghost effect for brightness makes it hard to then have actual ghost effect.

  • @bloxking7407
    @bloxking7407 Před měsícem +7

    AWESOME!

  • @EktoAnim
    @EktoAnim Před měsícem +8

    4:43 there's a block in the motion tab that lets you set the visual rotation style to only left and right. It might also have a setting to stop visual rotation completely but i'm not sure

  • @gaimnbro9337
    @gaimnbro9337 Před 11 dny +2

    Good job! I've been using scratch for years...and I can't even fathom how to make Tetris

  • @OmarEssawyGD
    @OmarEssawyGD Před 10 dny +2

    for your first time making an actual project on scratch, you did good

  • @oklyok
    @oklyok Před měsícem +7

    there's a block where you can turn the sprite technically but not visually

  • @muodyadept4447
    @muodyadept4447 Před 2 dny +1

    I dont understand programming, and i have no idea why this vid popped up in my recommended. But this was fun to watch xD

  • @DDAWG24657
    @DDAWG24657 Před 16 dny +1

    Him: *Sub Boards*
    Scratch: *Don't Rotate*

  • @fabiandoll1385
    @fabiandoll1385 Před měsícem +3

    Bro you are making amazing content.
    Thats the First Video i have Seen of you, and i would have guessed that you Channel would be much bigger

  • @Redfishvr124
    @Redfishvr124 Před měsícem

    You are so underrated! It looks very good :)

  • @WolfGubbelmans
    @WolfGubbelmans Před měsícem +7

    4:40 YOU HAVE A BLOCK THAT CANCELS VISSABLE ROTATION

  • @playd43
    @playd43 Před měsícem +3

    Adding a score is easy, just add a score variable and increase it every time you clear a line, and also add a top score cloud variable or a leaderboard.

    • @XenonNeko
      @XenonNeko  Před měsícem

      Definitely! Although I'd want the game to control a lot better before I felt right attaching scores to it.

    • @XenonNeko
      @XenonNeko  Před měsícem

      Since I was already there, I went ahead and added score and levels and speed increase (No leaderboard yet, though).

    • @playd43
      @playd43 Před měsícem +1

      @@XenonNeko nice :) this project is pretty cool btw

  • @username-ur6dq
    @username-ur6dq Před měsícem +2

    17:15 Here, he obviously means desmos

  • @flameofthephoenix8395
    @flameofthephoenix8395 Před 18 dny +1

    Alright, next I expect you'll be trying machine code, the best of all worlds, there will be no strange decisions from Unity, no weird block-based limitations, and a lot of time and effort spent.

  • @bucket-hb3td
    @bucket-hb3td Před měsícem +1

    i made a whole ping pong game in scratch when i was a 4th grader

  • @merkymerc
    @merkymerc Před 3 dny +1

    latin nerd here, tetris is a 3rd-declension noun meaning the plural would be tetrēs!

  • @Starock10
    @Starock10 Před měsícem +2

    I love Scratch!

  • @just_mr_mikl
    @just_mr_mikl Před 9 dny +1

    7:54 what a coincidence, scratch already runs at 30 frames per second.

  • @jeffdadaggoYT
    @jeffdadaggoYT Před 11 dny +1

    No rotating idea: just switch the sprite's rotation style to don't rotate it can still move as usual, but you don't have to worry about the game getting messed up because of a rotated block

  • @thestormcrafter
    @thestormcrafter Před 5 dny +2

    Äh, you know that forever runs at 30 tps?
    Every loop in Scratch does that unless it takes too long to go through the loop.

  • @-Deni-vu2ky
    @-Deni-vu2ky Před měsícem +1

    [Funfact]: in scratch the [ Change [ Color ] by ( Number ) ] block doesn't work with Black/White sprites exactly why some people make the base sprite Red (mainly) or other colors!

  • @jackcomas
    @jackcomas Před měsícem +7

    Do not rotate mode: exist
    This dude:
    I don’t care about losing that heart so I’m here to say that this comment have no intention of hating him, his work is pretty incredible to do in Scratch from scratch.

    • @haoyuzhang4626
      @haoyuzhang4626 Před měsícem

      Yes, he’s not that good

    • @XenonNeko
      @XenonNeko  Před měsícem

      Lol joke's on you I rehearted it (also thanks!)

  • @PiGuy06
    @PiGuy06 Před 22 dny +1

    I'm making Tetris in Scratch right now. I'm "play testing" it more than I'm working on it 😅

  • @MSPaintOfficial
    @MSPaintOfficial Před měsícem +2

    it’s already hard enough to arrange a shape out of the blocks

  • @user-ru4bb2cg2c
    @user-ru4bb2cg2c Před měsícem +1

    ya know you are actually better than me at scratch... nice job

  • @NescauCadeirante
    @NescauCadeirante Před měsícem +2

    Thank you for subtitles,i'am brazillian

  • @DogSkipsStone
    @DogSkipsStone Před 10 dny +1

    high contrast is the best mode (in my opinion)

  • @happycolours8551
    @happycolours8551 Před měsícem +1

    Uh oh, Tetris will murder you now

    • @XenonNeko
      @XenonNeko  Před měsícem

      They're petty if they go after a Scratch project 🤣
      I suppose we'll have to wait and see

  • @mateohunterwatts2271
    @mateohunterwatts2271 Před měsícem

    5:32 my brain had an idea with that heard, ''i piss''

  • @HardcoreAxol
    @HardcoreAxol Před měsícem +2

    6:02 you made diagonal Tetris

  • @flameofthephoenix8395
    @flameofthephoenix8395 Před 18 dny

    6:04 Oh wow, that looks interesting. If I remember correctly, I just stored a sheet that included every rotation and piece, but that might have been on Excel now that I think about it.

  • @XTLmaker
    @XTLmaker Před 10 dny +1

    Scratch Tetris game crash when

  • @alimicro812
    @alimicro812 Před měsícem

    3:13 the music transition here is crazy

  • @ifeireiniogunduyile7316
    @ifeireiniogunduyile7316 Před 22 dny +1

    YAAAAAAAAAAAY FINALLY SOMEONE WHO DOES SOMETHING I DO!

  • @Hypernova386
    @Hypernova386 Před měsícem +1

    As a man who has done this last year,
    I can confirm this man's pain

  • @-SnowyBS-
    @-SnowyBS- Před měsícem +2

    Here before this is your top vid 🎉

  • @ego-lay_atman-bay
    @ego-lay_atman-bay Před 7 dny +2

    7:51 oh, by the way, scratch runs at 30 fps (unless you use turbowarp).

  • @ryanwoon3534
    @ryanwoon3534 Před měsícem +4

    Awww yeaahhh!!! New video!!!

  • @flameofthephoenix8395
    @flameofthephoenix8395 Před 18 dny +1

    7:57 Oh wow, that's a funny thing, you're clearly used to programming languages where it will simply crash if you don't have delay at the end of any loop that runs forever, however in Scratch it automatically is capped at 30 fps. Indeed, I believe that you unintentionally made a 15fps game with that wait block.

  • @romanmcgolrick117
    @romanmcgolrick117 Před měsícem +1

    12:43 *vine boom*

  • @debankanthegreat6096
    @debankanthegreat6096 Před měsícem +1

    Amazing!

  • @a6shot199
    @a6shot199 Před měsícem +1

    2:55 it does, in fact work like that 😭

    • @XenonNeko
      @XenonNeko  Před měsícem

      I must be missing something! All I could get the white sprite to look like was really pale versions of all the colors.

  • @NoteCubes
    @NoteCubes Před měsícem +1

    🤯 My mind is broken right now

  • @kaiovalentino8716
    @kaiovalentino8716 Před měsícem +1

    Complicated way to make Tetris

  • @anthonycannet1305
    @anthonycannet1305 Před dnem

    13:04 I know that you can do whatever set of rules you want for your implementation of tetris but “fixing” that thing where you can get the same piece twice in a row because of how the bag system is set up is actually not something that needed to be fixed and you just made more work for yourself for something that didn’t feel right to you… getting 2 of the same piece in a row can let you chain 3 tetrises by holding an I piece and then randomly getting two I pieces in a row from the bag, which is relevant in the verses tetris games like tetris 99 or Puyo Puyo tetris 1&2.

  • @magma_mania2416
    @magma_mania2416 Před měsícem +6

    The one piece

  • @guigui0246
    @guigui0246 Před měsícem +1

    I really don't understand why they made the pen an extension in scratch 3 and not just a feature like in scratch 2

  • @hi_beemo1808
    @hi_beemo1808 Před měsícem

    you should consider implementing matrix in scratch when working with tiles on a set grid in makes things simpler

  • @Warpedd_forestnew
    @Warpedd_forestnew Před 23 dny +1

    you forgot about the linux kernel in scratch

  • @PenguinPlayz_
    @PenguinPlayz_ Před 6 dny +1

    Its Perfect...

  • @slushyboy1212
    @slushyboy1212 Před 10 dny +1

    1. scratch is 30fps 2. u dont need the wait in the forever. it will make it half speed

  • @palmossi
    @palmossi Před měsícem +1

    0:55 spu7nix:

  • @case.n
    @case.n Před měsícem +1

    Me over here still trying to use velocity in scratch:

  • @myithspa25
    @myithspa25 Před měsícem +2

    4:40 may I introduce you to rotation styles?

  • @mistalod
    @mistalod Před 9 dny

    actually lemme try making tetris in scratch it seems fun

  • @Joni.Sandy-DE
    @Joni.Sandy-DE Před měsícem +3

    Geometry dash players be like

  • @Swagpion
    @Swagpion Před měsícem +1

    13:03 its not a fix, its a change. Because that is standard bag system behavior.

    • @XenonNeko
      @XenonNeko  Před měsícem

      Right. Should have clarified, It was just my personal preference

    • @XenonNeko
      @XenonNeko  Před měsícem

      I added a toggle for that behavior while implementing feedback from other people.

  • @FungchiuDuong
    @FungchiuDuong Před měsícem +1

    Clean

  • @Holmen3055A
    @Holmen3055A Před měsícem +1

    Im making a massive game there

  • @RobloxFilmsAndAnimations

    idea: turn the blocks into scrath cat but its limbs being the little parts and the main bit/center being the face

  • @smarty265
    @smarty265 Před 13 dny +1

    banger video

  • @niffty_5712
    @niffty_5712 Před 4 dny

    2:11 Tetri
    Cactus = Cacti
    Tetris = Tetri

  • @Truthakin
    @Truthakin Před měsícem

    Blud learned faster than my dad left me💀💀

  • @zhiandionisio503
    @zhiandionisio503 Před měsícem +1

    I thought it was griffpatch video lol😂

  • @texsolution6571
    @texsolution6571 Před měsícem

    cyborg never see me

  • @user-xh1qo5bn7s
    @user-xh1qo5bn7s Před měsícem +1

    damn you are crazy good at making tetris and playing tetris did you use any tutorials in this video?

    • @XenonNeko
      @XenonNeko  Před měsícem

      Not for this project in particular, no. But I have watched Griffpatch tutorials in the past, if that counts! And I watched those before I ever got into Scratch - for some reason.

    • @user-xh1qo5bn7s
      @user-xh1qo5bn7s Před měsícem

      damn you are really good@@XenonNeko

  • @EnderArlo
    @EnderArlo Před měsícem +1

    I also tried to make Tetris I scratch

  • @XWITHANAK47
    @XWITHANAK47 Před 4 dny

    He made a game with one sprite

  • @gamezboi_
    @gamezboi_ Před měsícem

    ive never heard someone describe tetromino with letters

  • @concernedcommenter8258

    Oh no- he used ALL of his code inside one sprite. Wow.
    Personally, I wouldve made each type of block its own sprite, and made the UI its own sprite, and make the collision its own sprite, and the white flash its own sprite. Yeah, lots of scratch is centered around making lots of simple pieces that you pull in when you need instead of coding them, and that’s really it.

  • @235x
    @235x Před měsícem

    4:50 scratch has a setting that stops a sprite from Visually rotating.

  • @epikbaconb9780
    @epikbaconb9780 Před měsícem +1

    WHAT the o piece doesn't rotate 😭

  • @VDberri
    @VDberri Před 12 dny +1

    I made geometry dash in scratch as well

  • @Hawinzi
    @Hawinzi Před 14 hodinami +1

    Quick question. Why did you not just make each piece its own sprite? I feel like that would end up being all around easier.

    • @XenonNeko
      @XenonNeko  Před 14 hodinami

      I'm not sure how that would be easier (but that might just be me. I'm not familiar with how things are usually done in Scratch). If you mean splitting the logic into different sprites, I would argue there's a lot of redundancy because the pieces have a lot of common functionality. If you mean making the pieces themselves different sprites, I'm not sure what to do in the case of line clears where pieces can get broken up. And as the board fills up, that sounds like a lot to keep track of. Either way, I find communicating information between sprites to be annoying (again that's just personal preference). If you're referring to something else entirely, please explain.

  • @flameofthephoenix8395
    @flameofthephoenix8395 Před 18 dny

    4:02 Ah, I can see why you might have thought that...

  • @Profilesss
    @Profilesss Před měsícem +2

    cool

  • @dudepudge2517
    @dudepudge2517 Před měsícem +1

    What about coding all of the piece spins? How would that work?

  • @user-mg9rw2de9z
    @user-mg9rw2de9z Před měsícem +1

    Dude you can change the rotation mode of the sprites !!!

  • @RadioactiveBluePlatypus
    @RadioactiveBluePlatypus Před měsícem +1

    You know you can set the sprite to not visually rotate and only rotate in code right?

  • @Degusbubi
    @Degusbubi Před měsícem

    Change y is a thing that exists

  • @ThatOneUnityGamedev
    @ThatOneUnityGamedev Před 23 dny

    4:33 you could've clicked "don't rotate" in he direction area. It keeps the movement the same but doesn't turn the sprite visually
    edit: when you said "I decided on a 30 fps system" I just said out loud "sorry to tell you, scratch has 30 30fps limit/cap..."

  • @johnlaw2US
    @johnlaw2US Před 20 dny +1

    *s c r a t c h*

  • @centerkungkanil4730
    @centerkungkanil4730 Před měsícem +1

    6:02 45° t

  • @NoenD_io
    @NoenD_io Před měsícem +1

    Tetree

  • @aidenakpan3213
    @aidenakpan3213 Před 26 dny

    IS THAT A ONE PIECE REFERENCE THE O P(ONE PIEEEECCCEEE)

  • @xxsuperproductionsxx138
    @xxsuperproductionsxx138 Před měsícem +2

    noice.

  • @fanvr3857
    @fanvr3857 Před měsícem +6

    it was so hard because you were coding everything in 1 sprite 💀💀