I made NES Tetris EVEN FASTER

  Рет қаралды 47,292

fractal161

fractal161

Күн бұрын

Пікірлер: 136
@ErenMichelet
@ErenMichelet 2 жыл бұрын
WHEN I WAS TALKING TO YOU ABOUT THIS YOU DIDN’T MENTION YOU DID IT IN ASSEMBLY!!! Wow this is just incredibly impressive and I’m completely blown away by the effort you put into this and the future possibilities. Congrats fractal and can’t wait to see you continue pushing this game further!
@kreuner11
@kreuner11 2 жыл бұрын
On NES, assembly is the only practical way, 6502 assembly was made to be easily developed for
@masemoney666
@masemoney666 Жыл бұрын
in assembly?? hoooly suit. fractal is such a legend.
@Kylemsguy
@Kylemsguy Жыл бұрын
Honestly the first Nintendo console to use C was the N64
@gairisiuil
@gairisiuil Жыл бұрын
@@Kylemsguy snes had rarely used compilers
@EebstertheGreat
@EebstertheGreat Жыл бұрын
I suspect decompilation is a bigger issue here than compilation. Decompilers do exist for the 6502, but it takes a lot of work to turn a decompiled ROM into something that can be humanly understood. (Of course, it also takes a while just to understand a disassembled ROM, but maybe less time. And I think partially-commented versions of the NES Tetris code already exist.) If you work with the original code, you can copy and paste large sections of it and just make some specific changes. I do wonder why NES and SNES devs practically never used a higher-level language, though. I guess the C compliers for 6502 available at the time must have been really bad. Also, there was no compiler for the PPU, so a lot of memory addresses and registers had to be manually set and checked anyway, so maybe there wasn't such a big advantage.
@fractal161
@fractal161 2 жыл бұрын
Hope you enjoyed the video! Here are some notes: - In case I conveyed this poorly, this hack is *not* meant to replace any existing hacks, like double killscreen or (more recently) Hydrant's smooth gravity mod. They are both unique ways of creating new and challenging gameplay. All I want to do is introduce yet another way of doing exactly that, just one that uses a trick most people wouldn't think of. - Emulators don't exactly work nicely with this, since they're typically coded to only poll at a rate of 60fps or whatever (boo). You can still enjoy all of the different falling speeds, but you just can't get those 45hz rolls. - More to come! There's no way I escaped video or factual mistakes, so i'll do my best to update this when I learn of any.
@HeyoNight
@HeyoNight 2 жыл бұрын
for the pal mod, is it the 12.5/15 hz das or normal 10 hz?
@Object336Tetris909
@Object336Tetris909 2 жыл бұрын
Can you try your own hack of Tetris at Level 29 with 1/2 speed? Let's see what happens with the bugged colors, it could be the same, or it could be even more bugged colors!
@Thepotatoz.
@Thepotatoz. 2 жыл бұрын
How do I download it onto my nes and how can I tell if my game is pal or NTSC
@Kadencabs
@Kadencabs 2 жыл бұрын
@@Thepotatoz. get an everdrive like most people including me
@grimicron
@grimicron 2 жыл бұрын
As a programmer I'm amazed you managed to do such a good ROM hack in assembly. Bravo Fractal!
@LunamLegionam
@LunamLegionam 9 ай бұрын
W music 0:32
@wowyok4507
@wowyok4507 Ай бұрын
he's one of the smartest stem students in the USA so it's expected.
@DGCubes
@DGCubes 2 жыл бұрын
Fractal, this is SO COOL. I'm blown away by the fact that you did all that optimizing in assembly, that's immensely impressive. It's so awesome that this exists :)
@biggiemac42
@biggiemac42 2 жыл бұрын
Fractal you are a legend and this is a legendary contribution to the game. I didn't even think twice when you talked about optimizing all the game code during crash storytime, but this is very obviously the project it was part of! I'm blown away, well done.
@heyitslok
@heyitslok 2 жыл бұрын
wtf wtf wtf you are so so SO insane everything about this is amazing from the video editing to the gameplay to of course the actual romhack itself classic tetris is so lucky to have you
@Owen-bk5fc
@Owen-bk5fc 2 жыл бұрын
My mans learned Assembly to optimize the actual NES Tetris code to make new breakthroughs in compatibility and it was all just because he really wants to be able to casually play forever into dks and upset vandy
@MostBased_
@MostBased_ Жыл бұрын
i just watched all your matches in the championship and instantly fell in love you have mad skills bro and your joy for this game is unmatched! and to find out you ALSO have a youtube channel with a BUNCH of good videos?? made my night sir. keep doing great things youre awesome frac
@Vijver
@Vijver 2 жыл бұрын
This is amazing Fractal!! And a super well made explanation to go along with it
@JustinEvertrip
@JustinEvertrip 2 жыл бұрын
Every time I think the ceiling has been hit.... wow! Great video Fractal!
2 жыл бұрын
Okay, this is awesome! Well done Fractal!
@slidenaway
@slidenaway 2 жыл бұрын
Outstanding work as always man, pushing the boundaries as always!!!
@johnp2860
@johnp2860 2 жыл бұрын
holy fractal this video is amazing and the speed hack is beautiful
@aliengenie8896
@aliengenie8896 2 жыл бұрын
Theoretically, wouldn't you want there to be code to scale the gravity-per-frame along with the increased "frame rate"? That way, the speed at level 19, for example, could be *roughly equal* to the speed at level 19 in the original version of the game, but because there's less granularity in the framerate, you can end up with a situation where the gravity speed *smoothly* transitions from Level 16 speed to 19, from 19 to 29, etc. rather than having levels 16-18 be the same, and levels 19-28 be the same... and of course this would have the consequence that higher levels would eventually get down to one tile drop per frame, even at the highest framerates. I'm don't know enough about NES Tetris to know if the piece fall speeds are simply contained in a table, or if they're actually calculated based on a formula though.
@punchingplayerpenguin3291
@punchingplayerpenguin3291 Жыл бұрын
in the original game it is in a table, I have no idea about this though. though it would be hilarious if it was calculated by a formula and had no cap so level 255 WOULD indeed be a killscreen, though you'd probably be oofed long before that
@RadekCarda
@RadekCarda 2 жыл бұрын
omg! this is the best thing that happened to tetris in a long time, thank you!
@nwimpney
@nwimpney Жыл бұрын
This is cool. I'm currently working on a tetris game running on my own hardware (microcontroller, and addressable led "screen"). I'm trying to clone NES Tetris very closely, with the exception that I'm not tied to 60.1Hz, so while my piece drops are timed identically, the controls, and even piece moves, can happen at a much higher rate. I haven't even tried rolling, since I'm a mediocre level 7 "hypotapper", but in theory it should be possible to roll at up to the limit set by the debouncing I do on the swtiches. I can also have different speed curves, so I'll have options for nes-style frame limited speeds, same speeds with a smooth progression (since I'm not locked to 3/2/1 frames per drop), and an overall linear speed increase without large steps.
@galoomba5559
@galoomba5559 9 ай бұрын
that sounds so cool!
@PeterJavi
@PeterJavi 2 жыл бұрын
This is s huge leap forward for the scene. Thanks for doing all this work Fractal
@AvGeekW159
@AvGeekW159 2 жыл бұрын
This is of unreasonable quality. I learned so much being around you, and I hope to see you in Portland!
@aenstreams1998
@aenstreams1998 2 жыл бұрын
I think the title screen is dope dude! So proud of you man. What an accomplishment and even more importantly a testament to your tenacity! Well done!
@xJAWAx
@xJAWAx 10 ай бұрын
Just watched your ctwc finals match. Amazing! Great work.
@hallomeinnameistkarl216
@hallomeinnameistkarl216 3 ай бұрын
another cool thing that makes this hack even more impressive is, that the MMC1, which Tetris normally uses doesn‘t have a scanline counter. The Next common mapper to support this is the MMC3, which means he had to Reprogram the Entire Core of the Game to a completely Different Mapper.
@CallousCoder
@CallousCoder 9 ай бұрын
Nicely done! Just one question though, why did did you optimize the code when you probably could’ve gotten by with just playing the music once a frame. Probably even sounds because the human ear doesn’t register anything less than 3 to 4 frames out of sync anyways. But from one game hacker to another I your optimization was very cool.
@michael2244
@michael2244 Жыл бұрын
Congrats on becoming the 2023 CTWC Champion
@plasmaosu
@plasmaosu 2 жыл бұрын
Love the time trax music used in Part 2!!!! amazing work
@SpinningSandwich
@SpinningSandwich 5 ай бұрын
NES Shirase unlocked! On a different front, I'm looking at GameBoy ASM right now, with an eye towards making a TGM style game there. Would definitely be interested in more details on the technical side about how you programmed this ROM hack, particularly the speed optimizations.
@masemoney666
@masemoney666 Жыл бұрын
fractal - congratulations on an *incredible* semifinal. you earned this final spot & i wish you the best of luck in the finals. you’re one step away from world champion - you can do this.
@JugglerOfWords
@JugglerOfWords 2 жыл бұрын
it would be really cool to see the top TGM players try this out...... and thanks for bringing back memories of CTEC 2019 with a good old Janinsanity clip....
@JohnnyLeven
@JohnnyLeven 2 жыл бұрын
This is absolutely amazing. Major props to you.
@ZipplyZane
@ZipplyZane 7 ай бұрын
I would like a video on things you did to optimize the code. I know it would probably be hard to cover everything, but some basics would be pretty nice. Kinda like how Kaze talks about his optimizations for SM64.
@AndreasToth
@AndreasToth 9 ай бұрын
The passion and dedication of this game has turned you into an absolute super coder!
@coalbucket9383
@coalbucket9383 2 жыл бұрын
Very well edited!
@meuntraceable
@meuntraceable 8 ай бұрын
This must have taken a lot of effort overall and it’s amazing to see the journey to achieve the results
@halfagon
@halfagon 2 жыл бұрын
rolling is so much better, but it is a lot faster.
@amberlandball
@amberlandball Жыл бұрын
Fractal, I want to see the title of the song at the start. Without the jokes, wow. This is amazing!
@stevemelo
@stevemelo Жыл бұрын
FRACTAL: 2023 CTWC Champion!!!
@antonioanto723
@antonioanto723 7 ай бұрын
Your rom works so much faster, i am using on my smartphone, really amazing, do you know where i could download the TetrisJonas Rom? And the Rom used for the World Championship is downloadble ? Thank you Fractal, you are a prodigy
@Kosmo_Z
@Kosmo_Z 2 жыл бұрын
Crazy well made video!
@gabrielbarrantes6946
@gabrielbarrantes6946 2 жыл бұрын
Mind blown, this kid is exceptional, at his age I would never think on changing a game like that, nice!
@jazzthief81
@jazzthief81 2 жыл бұрын
Very cool. Many congrats!
@hfcriske
@hfcriske 2 жыл бұрын
Omg writing something like this in assembly is insane, very nice!
@ryanamburgy2791
@ryanamburgy2791 2 жыл бұрын
this is the best video ive ever watched
@stefantomas
@stefantomas 2 ай бұрын
It would be interesting to see this hack used in comp. It would enable some double-killscreen battles to happen.
@Grant-H2O
@Grant-H2O 9 ай бұрын
Thanks for sharing!
@muffyio
@muffyio Жыл бұрын
Just curious... Have you updated your speedhack rom hack to include the new level 39 super kill screen? And of course.... HUGE CONGRATULATIONS ON BECOMING THE NEW WORLD CHAMPION!!!!
@zetorux
@zetorux 2 жыл бұрын
What a cool project!
@matwith2teas
@matwith2teas 2 жыл бұрын
this could add a new level to strategy in classic Tetris games, maybe some players choose to play faster for higher score vs a player playing a slower frame rate for a safer game
@aenstreams1998
@aenstreams1998 2 жыл бұрын
Getting that square piece over was nuts…7:22
@ttpdlistener
@ttpdlistener 2 жыл бұрын
so proud of you today, fractal! we’ll miss you until you get back from homework ❤️
@man_without_name
@man_without_name Жыл бұрын
Hi, tell me, what song did you sing at the beginning of the second round against Eric at the championship final?
@mlunguomnyama5518
@mlunguomnyama5518 9 ай бұрын
This video was suggested to me after i randomly watched a tetris world cup out of boredom. And I can safely say I didn't understand a single thing about this video lol
@JohnSmith_1123
@JohnSmith_1123 2 жыл бұрын
EVERYTHING in this video is legendary
@eflat7_
@eflat7_ 2 жыл бұрын
fractal you absolute legend you
@Kalaphant
@Kalaphant 2 ай бұрын
5:50 Oh cool! That's funny lol. Just improving the code
@isaacramirezrenteria6520
@isaacramirezrenteria6520 2 жыл бұрын
what brand of control do you use to play the rom and do rolling?
@NerdTheBox
@NerdTheBox 2 жыл бұрын
sheesh you went all out on this video. pog.
@NerdTheBox
@NerdTheBox 2 жыл бұрын
also it was very obvious which video was 30 hz lol. and yes it does matter because tucks/spins exist
@michaelclarkj
@michaelclarkj 2 жыл бұрын
Simply mindblowing.
@Yamboy_1
@Yamboy_1 2 жыл бұрын
This is awesome
@legendarygaming5107
@legendarygaming5107 8 ай бұрын
SCUTI, YOU’RE UP!
@wallbant
@wallbant 2 жыл бұрын
lets go i can pal now
@ZipplyZane
@ZipplyZane 7 ай бұрын
Do you even actually need the mapper? The CPU of the NES runs at a certain speed, so you could keep track of how many cycles each instruction takes, and poll at the appropriate time. Don't get me wrong: I know it would be a lot harder, since you'd need to get the timing very accurate, probably making sure your polling happened in H-blank to avoid any graphics errors. It's much easier to let the mapper do it for you. So I'm not saying you *should* do it that way. Just that, technically, you *could*. Or is there some reason I'm wrong?
@gabrielbondon3673
@gabrielbondon3673 2 жыл бұрын
The pal rom on 60hz console might be wonderful news for the pal community :O
@mirabilis
@mirabilis 3 ай бұрын
If blocks fall 2 steps per frame, are some tucks impossible?
@Nickps
@Nickps 2 жыл бұрын
Will Europeans also be able to play NTSC on PAL consoles eventually? Even if not, it's still a great achievement but I'm curious
@gairisiuil
@gairisiuil 2 жыл бұрын
a modded version of pal could play at ntsc speeds if you're curious
@harrisongiger7874
@harrisongiger7874 2 жыл бұрын
This video is amazing holy shit. This deserves like 12M views
@Manche-De-Pelle
@Manche-De-Pelle 9 ай бұрын
Pure genius
@MommyCloudAudiosGaming
@MommyCloudAudiosGaming Жыл бұрын
Thank you so much
@baraYTGD
@baraYTGD 8 ай бұрын
Rolling on killscreen X2 mode is like DAS/hyper tapping on normal killscreen
@ThorkilKowalski
@ThorkilKowalski 2 жыл бұрын
This is amazing. The skills you show here are more than enough to land you a job as a (top) software developer. Amazing job reverse engineering 35 year old assembly. I'm a CTO and I would be proud of such an accomplishment.
@kingyodah5415
@kingyodah5415 2 жыл бұрын
Well soon relativistic speeds such as speed of light will be reached and time will slow to a crawl
@FloydMaxwell
@FloydMaxwell 8 ай бұрын
Mind blowing that you wanted the game to be faster!
@GregCannon7
@GregCannon7 2 жыл бұрын
This is so sick
@Kalaphant
@Kalaphant 2 ай бұрын
2:27 Wait is that how Speed Uncap works?
@TheEntropianist
@TheEntropianist 2 жыл бұрын
Killing it
@jayyou6125
@jayyou6125 2 жыл бұрын
Just when I thought me writing c++ is geeky enough...
@pierluigizagaria
@pierluigizagaria 2 жыл бұрын
Could you make a ntsc mode for PAL version?
@blahdelablah
@blahdelablah 9 ай бұрын
Technically I think it's possible, but how well it would play would depend on the TV. Many PAL TVs supported 60Hz refresh rates but not all of them. You could have 60Hz gameplay with a 50Hz display but it might cause gameplay issues.
@creepercraftytT99
@creepercraftytT99 5 ай бұрын
This is gonna cause crashes earlier i think, since there's more to do by default
@saturdaymorninggames
@saturdaymorninggames 2 жыл бұрын
Aquatic Ambience 😌
@iBall1
@iBall1 2 жыл бұрын
based creative mode music
@davidpratt277
@davidpratt277 2 жыл бұрын
This may be a stupid question but if the original game is 60 fps and polls once per frame why is rolling limited to 30 hz
@fishactivation5087
@fishactivation5087 2 жыл бұрын
There has to be one frame of nothing, otherwise it'll treat it as you holding the button.
@MylesTheGreat
@MylesTheGreat 2 жыл бұрын
fast tetris = fun
@zipengli4243
@zipengli4243 2 жыл бұрын
have you ever played guideline tetris?
@abdullahtayyab8828
@abdullahtayyab8828 5 ай бұрын
man is a nerd and a tetris master
@LetsChat
@LetsChat 2 жыл бұрын
You need a more ergo friendly chair.
@stephaniecarcieri8850
@stephaniecarcieri8850 3 ай бұрын
how can you play at speeds over level 29
@RiayToons
@RiayToons 2 жыл бұрын
"פלייטריפטטריס"
@MannifyYT2024
@MannifyYT2024 2 жыл бұрын
Oh my god . . .
@vintologi
@vintologi 2 жыл бұрын
it would be better to also change the output framerate. There are pc screens even supporting 360hz now.
@gairisiuil
@gairisiuil 2 жыл бұрын
this is kind of impossible because (to my understanding) the nes has a graphics interrupt that is only called by the hardware itself 60 times a second to update the screen. you can't really just call your own vBlank
@vintologi
@vintologi 2 жыл бұрын
@@gairisiuil Yea it's probably not easy to do (if possible at all) on original hardware but it's fairly easy to do with emulation.
@ZipplyZane
@ZipplyZane 7 ай бұрын
@@vintologi But if you're going to use emulation, you might as well just run the entire emulation at the speed you want, with the original ROM. You want 360hz? Run the emulator at 600% speed.
@Thepotatoz.
@Thepotatoz. 2 жыл бұрын
Woah damn bro
@thuglife009
@thuglife009 2 жыл бұрын
Swagg
@SavouryLobster
@SavouryLobster 2 жыл бұрын
Assembly sucks. Props for this.
@WriteWordsMakeMagic
@WriteWordsMakeMagic 9 ай бұрын
Does everyone say ness not N-E-S?
@Austin_Playz27
@Austin_Playz27 5 ай бұрын
no its typically pronounced N-E-S
@WriteWordsMakeMagic
@WriteWordsMakeMagic 5 ай бұрын
@@Austin_Playz27 ok, good
@welovemrp00
@welovemrp00 8 ай бұрын
I can't get this to work :,(
@literallylegendary6594
@literallylegendary6594 2 жыл бұрын
cool
@wilsonlopes1402
@wilsonlopes1402 Жыл бұрын
Emulation? pls
@EatCheese11
@EatCheese11 2 жыл бұрын
WHERE IS CLASSIC TETRIS NEWS
@MegaMonkeVr
@MegaMonkeVr 4 ай бұрын
NES TETRIS ……. FASTER 😂😂😂😂😂
@JoshWiniberg
@JoshWiniberg 9 ай бұрын
When lvl 29 is too easy
@jedediahreaver210
@jedediahreaver210 2 жыл бұрын
Since when fractal programs and speaks on top of playing Tetris? I thought he was dog archnemesis
@grzegorzgk31
@grzegorzgk31 2 жыл бұрын
Can you make das faster?
@fishactivation5087
@fishactivation5087 2 жыл бұрын
7:12 20G?
@gairisiuil
@gairisiuil 2 жыл бұрын
how would 20g ever be possible in any lifetime
@fishactivation5087
@fishactivation5087 2 жыл бұрын
@@gairisiuil Doesn't have to be, I just want it to exist in some capacity on the NES.
How Did I Complete This IMPOSSIBLE Tetris Challenge!?!?
16:10
fractal161
Рет қаралды 420 М.
World Record Progression: NES Tetris No Piece Rotation
17:10
aGameScout
Рет қаралды 488 М.
Não sabe esconder Comida
00:20
DUDU e CAROL
Рет қаралды 39 МЛН
小丑家的感情危机!#小丑#天使#家庭
00:15
家庭搞笑日记
Рет қаралды 34 МЛН
Will A Basketball Boat Hold My Weight?
00:30
MrBeast
Рет қаралды 105 МЛН
А что бы ты сделал? @LimbLossBoss
00:17
История одного вокалиста
Рет қаралды 10 МЛН
TAS Explained: Super Mario Bros. 3 in 0.2 seconds
19:39
100th Coin
Рет қаралды 341 М.
Breaking Down the Greatest Comeback in NES Tetris History
13:47
aGameScout
Рет қаралды 2 МЛН
I Made a 1D Game 🎮
11:18
Mashpoe
Рет қаралды 1,7 МЛН
why clearing a single at level 155 crashes nes tetris
5:06
HydrantDude
Рет қаралды 101 М.
Map Men vs. Geoguessr
28:07
Jay Foreman
Рет қаралды 1 МЛН
How NES Tetris's Hardest Challenge Was Beaten by a 12 Year Old
14:05
What a Perfect Game of Tetris Looks Like
7:31
Cobalt
Рет қаралды 249 М.
How NES Tetris's Hardest Mode Was Conquered After 29 Years
24:21
aGameScout
Рет қаралды 888 М.
The Awful Controls of Ikari Warriors for NES - Behind the Code
21:14
Displaced Gamers
Рет қаралды 50 М.
Não sabe esconder Comida
00:20
DUDU e CAROL
Рет қаралды 39 МЛН