Тёмный

NES Background Parallax Explained - Audiovisual Effects Pt. 03 

Retro Game Mechanics Explained
Подписаться 228 тыс.
Просмотров 150 тыс.
50% 1

How can NES games create parallax background effects if the console only supports one background layer? It's all explained right here.
LINKS
Twitter (updates): / retrogamemechex
Patreon (support): / rgmechex
SubscribeStar (support): www.subscribes...
Discord (discussion): discord.rgmeche...
SUPPORTERS
Thank you to everyone who supports the channel!
Anthony Losego, Dan Salvato, F. Murmel, Jonathan Aldrich, Ange Albertini, hyperforce, Avi Drissman, Mike Gerow, Larry Koubiak, Tina Wuest, Owen Christensen, Gynvael, Buddy, Chris Margroff, Brandan Lennox, Nik, Jason Hughes, Diamond Ice, Chris Post, Cypher Signal, Rupix, Gabe S, krivx, Walter Huf, Pixy011, David Spalding, Acceleration Shark, Rory Kelly, Carl Cassler, Joe Mecca, Michael Greb, Kefen, Heptonion, leftler, Scott Beca, 19day, Michael Dragone, John Losego, Travis, Arthur Kunkle, Jordan Wright, Christopher Tramel, Alexander Paz, Stephan J Hennion, coon, Node1729, Andrea, Michael Cafarelli, Red Sona, Kodi_x86, tripper, Nebelwerfer Granitara, Sten, 333Rich333, Glenn hEADcRASH Sugden NPC, Alex Yancey, David Mazarro, Steven, null, Ryan, Corey Ogburn, Martin Trozell, Garret Kelly, Jake Hickman, Joel Kuhn, Dan Shedd, Sembiance, Xander479, 4F Panda, Max Roncace, David, A Sentient JDAM, Alec Johnson, Brian Henriquez, Travis Nellor, Zach Hugethanks, dishsoap42, Yakov, Oxygen Chen, RetroReversing.com, yuriks, Ceres, Jeremiah, Chris Roy, Chris Connett, Mark, Matthew, sapslaj, Jonathan Scott, Xkeeper, Bjoern Hansen, ers35, Daniel Bernard (ReckedCat), Lukas Kalbertodt, Vier Ladair, Bwangry, iPaq, zephyrin, Jeremy Wright, David Johnson, Brandon, Matt Shepard, Felix Freiberger, Sypwn, Niles Rogoff, Reflet, Yann Le Brech, Evan, Eugene Bulkin, Walter Weaver, Gethiox, Articate, Julien Oster, buzzert, Steve Losh, Samuel Stoddard, HattyJetty, Paige ? Hex, Yeero, Cruz Godar, Linh Pham, Noah Greenberg, Nick Rogers, Sean Nelson (audiohacked), Bryce, Andrew Yukhymchak, Sean Bryant, John Gabriel, BazBadger, Kyle, Master Knight DH, Tim Romero, Michael B., Eric Loewenthal, Adrian Haslinger, Proxy, Nolan Varani, Thoscellen, Wii2, Daniel Robinson, Hans Jorgensen, waielal, Daniel A.A. Pelsmaeker, Aaron, Max Gartung, Nicolas Dohrendorf, Eric Hoppe, Chaz Serir, derHinek, Gyiyg, Niels Peyronnel, samfu, Dominic Wehrmann, André Greubel, Anon42, Urda, Ted Berkowitz, araknofennisti, AA, Joseph Torres, serhef, Daniel, Patrick Johnston, Rodrigo Monteiro, Punchmaster, Stephen Bank, Thomas Berg, Crazed Geek, Dasterin, Matthew Yu, Alice Hartley, KieferSkunk, Tasman, & Marcus N!

Опубликовано:

 

14 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 348   
@Selicre
@Selicre 4 года назад
This video has some top notch sound effects.
@thewhitefalcon8539
@thewhitefalcon8539 2 года назад
Slow scan TV!
@joseph_arrow
@joseph_arrow 8 месяцев назад
And video effects.
@romajimamulo
@romajimamulo 4 года назад
Man... I'm sure many developers were very happy when they learned the SNES could have multiple background layers
@KuraIthys
@KuraIthys 4 года назад
Yeah, that must have been a relief... No need for fancy tricks when you can have 3 actual backgrounds (or anything from 1 to 4 depending on features needed. But 3 is the most common.) For that matter you also got HDMA which can automate a whole heap of these effects for good measure, if having 3 hardware backgrounds isn't good enough... Does make me think of the Neo Geo though. That actually has NO backgrounds; Instead it just lets you draw insanely huge 16x512 sprites, 96 of them on a single scanline, and 384 of them in total. Plus it has a feature where you can 'link' sprites together so that a whole heap of them move by adjusting the position registers for a single sprite. The point is, the Neo Geo can fill the entire screen with sprites 4.8 times over; so the background layers, are, in fact, more sprites. It's a weirdly elegant solution to just... Give up on having backgrounds and instead doubling down on sprite capabilities...
@ETXAlienRobot201
@ETXAlienRobot201 4 года назад
@@KuraIthys yeah, that is pretty neat. it also has the fix layer for drawing HUDs and other UI features, within certain limitations like no scrolling. pretty clever set-up, honestly...
@neoasura
@neoasura 4 года назад
Yeah, unfortunately the SNES era started making programmers lazy also, the guys back in the NES days had to make due with what they had. Nowadays games are poorly optimized.
@romajimamulo
@romajimamulo 4 года назад
@@neoasura There's also no time for optimization in the current production schedule.
@ETXAlienRobot201
@ETXAlienRobot201 4 года назад
@@romajimamulo when you consider all the future issues it will cause and the development time/resources those will cost to address, there's time... but large corporations simply do not care. and this is the same reason they get hacked on a near-daily basis... they also spend entirely too much time and money to add features no one cares about or wants, routinely ignoring the pleas of their users to fix major bugs or address major performance issues. they have time, they have money, they squander it for the short-term gains. this is why AAA studios are now the laughingstock of the gamedev industry. they have the means of producing masterpieces, they're too busy producing mediocre garbage and cash grabs because some "suit" said so, because "trends!". as has been said by others before me: "these aren't even worth pirating"
@gobblox38
@gobblox38 4 года назад
I love how the limitations of the system forced developers to become clever with their game design to produce beautiful visuals that most people may overlook or downplay.
@xeostube
@xeostube 3 года назад
I agree in general, although faking parallax never looks better than the real thing so I don't think this is the best example of that.
@deku812
@deku812 2 года назад
I don't think they were downplayed, overlooked perhaps as the gaming scene back then was very much reliant on games appearing at retail and rentals, and some of these games never got an international release or didn't sell very well.
@j_c_93
@j_c_93 Год назад
What they did to achieve the scrolling background layer in Battletoads is absolutely ingenius.
@Raburigaron
@Raburigaron 4 года назад
Big fan of the addition of sound effects in this video, it really gives everything a sense of movement and interactivity, like it's alive It also helps with visual aid too. It's quite interesting, I'm excited to hear more of them in the future!
@alexjones3035
@alexjones3035 4 года назад
Totally agree, I particularly noticed it on the CRT gun, and I loved it! :)
@torreywhiting5402
@torreywhiting5402 4 года назад
@@alexjones3035 light gun* also, you an orange boy or grey boy?
@alexjones3035
@alexjones3035 4 года назад
@@torreywhiting5402 Orange boy or grey boy???
@mana_beast_beats1114
@mana_beast_beats1114 3 года назад
So many retro game-loving furries.
@RGMechEx
@RGMechEx 4 года назад
If you're watching this super early, the captions are going to be messed up because I uploaded the wrong file! They should be fixed soon.
@Portentous__
@Portentous__ 4 года назад
They’re fixed! Thanks!
@eFeXuy
@eFeXuy 4 года назад
Last time I was this early the captions were all wrong
@scottgray4623
@scottgray4623 4 года назад
My liking of this comment upped its number to 69. *NICE*
@Potato2017
@Potato2017 4 года назад
@@scottgray4623 I'm not going to like it also i'm surprised it's still at 69 there's always someone who ruins it
@christopherthibeault7502
@christopherthibeault7502 4 года назад
Good job transitioning to Subscribestar. Patreon fouled up with its clientele and will hit a lengthy conga line of expensive lawsuits that they must pay. They might have taken your cash to supplement their own and stay afloat.
@midnightmacabre5981
@midnightmacabre5981 4 года назад
I love the step up in production value! Especially the tiny noises to indicate scrolling, and the subtle chimes to call to attention specific points in the raster scanning! Keep up the subtle details please, it's a marked improvement over your quieter previous videos
@jansenart0
@jansenart0 4 года назад
I had no idea that Electrons sounded like Ninja Gaidan boss explosions.
@NoriMori1992
@NoriMori1992 4 года назад
I had no idea that electrons sounded like SSTV signals.
@mystcat3
@mystcat3 4 года назад
Yeah, the new sounds effects sucks
@AmyraCarter
@AmyraCarter 4 года назад
Someone once told me that most NES games' data was 90% graphics, 10% everything else. I never doubted that notion, but I definitely believe it a lot more now...
@vuurniacsquarewave5091
@vuurniacsquarewave5091 4 года назад
Not really. Most of the time it's either a 50-50, or 25-75 / 75-25 but it really was up to the developer and what maximum power of 2-kilobytes their cartridge setup supported.
@Domarius64
@Domarius64 3 года назад
Well that's true of all games, even today. Most of the data is the visual assets. Now it's the textures and meshes.
@AmyraCarter
@AmyraCarter 3 года назад
@@Domarius64 Nowadays, most of the data is either visual assets, and/or uncompressed audio files/streams. Actually, such has been true for a while.
@Domarius64
@Domarius64 3 года назад
@@AmyraCarter I dont think it's ever not been true. The visuals have always taken up the most data. Maybe pong is an exception because it's just a couple lines.
@AmyraCarter
@AmyraCarter 3 года назад
@@Domarius64 Pong is drawn by lines of code really, lolz What I meant by 'true for a while', is since the cartridge to disc generation, music/audio has taken up larger portions of the entire data, when it used to be a lot less, especially when it's uncompressed audio streams in a WAD, or CDA music/audio, such can be as much as sixty, seventy percent of the data, depending on the game itself.
@thecunninlynguist
@thecunninlynguist 4 года назад
It's always amazing how devs were able to do what they did w/ the NES' limited hardware. Blew my mind as a kid.
@CutterCross2A03
@CutterCross2A03 4 года назад
There's also a method of mid-screen parallax involving palette cycling, where the graphic pattern of the affected background tiles causes it to appear to move independently when the colors in its attribute's palette is cycled in either direction. Though that method is much more limited than any of the other methods shown here. This has got to be one of my new favorite videos from you! Fantastic breakdown of these techniques.
@mariannmariann2052
@mariannmariann2052 4 года назад
16-bit stuff: Sonic 3 uses palette cycling to rotate the sphere in the special stage. And Sonic 3D uses palette cycling on a 7fps image to make 4 images in one screen, allowing full-screen 30FPS animation!
@jfwfreo
@jfwfreo 4 года назад
@@mariannmariann2052 Mickey Mania used palette cycling to generate the scrolling floor for the in-to-the-screen Moose Chase scene.
@mariannmariann2052
@mariannmariann2052 4 года назад
@@jfwfreo Yeah i remember that
@alexjones3035
@alexjones3035 4 года назад
Fantastic video, I absolutely loved it! I'm sure you've heard it a 1000 times before, but you really do an outstanding job on the visualizations and making the understanding intuitive. I noticed the extra sound effects, and they were great! Would love to see (hear?) more of them in the future, they really ground the visuals and help emphasis the content, like with the ticks on the IRQs or the scanning sound effect on the CRT beam.
@MegamanXGold
@MegamanXGold 4 года назад
This guy right here said everything I wanted to say, but better than I would've said it. I'm surprised to see most of the comments talk about the sounds; it was the visuals that had an obvious leap. I know every video involves a lot of work, but this one sure is polished with a ton of visual sugar. Love it!
@poweroffriendship2.0
@poweroffriendship2.0 4 года назад
This pure quality content is very fascinating to watch on how the NES games are made. Talking about 8 minutes of the best "bits" (no puns intended).
@SvetiMFNikola
@SvetiMFNikola 3 года назад
Big big respect for people back than who programed games in limited hardware...
@Yoshimaster96smwc
@Yoshimaster96smwc 4 года назад
The last effect (swapping out tiles) is actually used in some of the 16-bit Sonic games (using a debugging emulator like Exodus can easily verify this). Examples of this technique being used include Hill Top Zone from Sonic 2, as well as Hydrocity Zone Act 2 from Sonic 3 (though there's probably a few more). The VDP only supports 2 background layers, but by using this technique it makes it look like there's 3 background layers, in a way that can't be reproduced by simple scanline effects.
@SA77888
@SA77888 3 года назад
I think the restrictions old school consoles had, and the solutions/work-arounds that were found to deal with those restrictions, really helped give them a certain feel....you could often tell what console a game belonged to just by looking at it....so those restrictions helped give it character and spurred the creators on to be creative.
@XanthinZarda
@XanthinZarda 4 года назад
Those folks at Rare were always a bit extra devious; I wonder how they unlocked so many secrets of the NES? Addendum: I favor the sound effects, it helped me snap to focus on the element you were explaining; they were subtle enough. I'm sure there's going to be some adjustment as you go forward.
@KuraIthys
@KuraIthys 4 года назад
Rare was crazy back then. They actually reverse engineered the Famicom and showed Nintendo a demo program for NES before any official dev tools ever made it out of Japan. There's claims that they understood the hardware better than Nintendo themselves did, and that this so impressed Nintendo that this is why they were doing things like Donkey Kong Country and the like on SNES, and how they ended up being so dominant on the n64... They figured all of this out basically with no documentation...
@XanthinZarda
@XanthinZarda 4 года назад
@@KuraIthys Applause to them, but I wonder if they had any luck with the Mega Drive; to my understanding the documentation for the GEMS engine was _infamously_ poorly documented.
@kellymountain
@kellymountain 2 года назад
@@XanthinZarda gems isn't the only sound driver for the genesis
@MarioFanGamer659
@MarioFanGamer659 4 года назад
Man, I really like how you have added those little details in the video, be it the electron gun animation or those sound effects (especially for those who think RGME's videos are too quiet). Wikipedia has listed four types of parallax scrolling: Multiple background layers, objects/ sprites, repeating graphics and raster effects. The former two are self-explainatory (and also are related in a certain sense) but the latter two, those explained effects, that's where people without knowledge on how the NES or CRT work might get trouble without a visual representation. Sure, there are some troublesome parts but since I'm fairly knowledgible, that's difficult for me to judge. But explaining that you just change the scrolling in the middle of the screen or change the graphics for the background is farily understandable, especially with the visual clue. Good job!
@kevinfishburne
@kevinfishburne 4 года назад
The old way of programming games-basically coming up with new hacks to project the appearance of more detailed graphics and mechanics-is harder, but gives each game a unique feel (even if the game itself may have sucked). Actual 3D asset management and display is in a way easier than "fake 3D" render logic (Pole Position, After Burner, Super Castlevania IV). Imagine a modern fake 3D game like Galaxy Force II or OutRun but with millions of super-scalar sprites and no texture filtering for maximum crunchyness at 2160p 240fps with VR headset and steering wheel with pedals. The pixels would stay square individually even as you rotated the headset, like tiny solid-color billboards! We need more new games that use old render logic to leverage modern GPU parallel processing, for fun at least.
@NoScopeNizzle95
@NoScopeNizzle95 4 года назад
Honestly, I've never really been able to understand anything in these videos but it's still interesting to watch.
@strat5520
@strat5520 2 года назад
Dude, your production is awesome. The way you visualize the ram data in real time and show the permutations thru loops is absolutely amazing. I bet OG SNES Devs would have KILLED for your videos when they were starting out!
@trap0xf
@trap0xf 4 года назад
I always assumed these games with "mid-screen" parallax were all using CHR-RAM to achieve their effect, using CHR-ROM banking didn't even come to mind. Pretty clever trick for sure. Love how well-packed Metal Storm's CHR-ROM banks look.
@cardboardbox_tech
@cardboardbox_tech 4 года назад
...Can't say anything good about the rest of Metal Storm's graphics though... Bad, bad color choices! It's like staring at boiling puke!
@RoyHess666
@RoyHess666 4 года назад
Programmers back in the old days were genies, finding such efficient and optimal solutions for the limited 6502 hardware in the NES!!!
@TheAgentAPM
@TheAgentAPM 4 года назад
One of the most amazing parallax I've ever seen on the NES hardware is Cossack Fortress 4 from RockMan 4 Minus Infinity: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-CipwPaJOF3c.html It involves really convincing and clever masking of tile swapping, and smart usage of objects to draw the level layout.
@OllAxe
@OllAxe 4 года назад
Omg that's so clever! Took me a good minute to figure out how they achieved it. They use two entirely different tricks at different points in that "screen" of the level, first one being standard mid-frame scrolling and the second being an insane fusion of sprites representing platforms, graphics swap on a tightly repeating pattern, a completely different scrolling routine and sprites to mask the seams, using a full frame of that tightly repeating pattern to switch between the two tricks. Holy mother of god that's dedication
@whoeusbsknsi
@whoeusbsknsi 4 года назад
OllAxe hey 👋
@MarioFanGamer659
@MarioFanGamer659 4 года назад
​@@OllAxe Same. Using raster interrupts and object platforms is nothing special (you can even see that they spawn onscreen) but it's really the transition where you had to take a close look at the HP bar and notice that it goes behind the edges which implies objects.
@OllAxe
@OllAxe 4 года назад
@@MarioFanGamer659 Oh wow I didn't even notice that! Good eye!
@OllAxe
@OllAxe 4 года назад
I love this channel so much Also really enjoyed the addition of authentic-sounding NES sound effects
@paulstelian97
@paulstelian97 4 года назад
You and Ben Eater posting within a few minutes of each other... WHAT A TREAT!
@DogsRNice
@DogsRNice 4 года назад
Very clever using the sound of slow scan television for the sound of the electron gun
@spartonberry
@spartonberry 4 года назад
3:39 "but never vertically" I suppose it's not exactly that but I read the MMC2 (used in Punch-Out!!) and MMC4 (in the Fire Emblem games and Famicom Wars) reserved two key tile IDs to swap between two pre-stored CHR ROM banks as those tiles were rendered. I know for the Fire Emblem was they stored the top and bottom window borders in multiple ROM banks but then when the left and right side border tiles (which used the two key tile IDs) were drawn, it would effectively, when loading the left side, swap to the CHR ROM bank with the font to draw text boxes and then swap back to the gameplay tiles when it reached the right side of the window. Not familiar enough with Punch-Out to know how it used it, but I can probably guess the large animated opponents probably had a part. :)
@hokostudios
@hokostudios 4 года назад
Oh, this is super neat! I never actually had very many games for the NES, so I don't think I got to experience any of these effects back in the day. Kind of curious what the sprite zero hit function is. I knew about a couple of the other simple tricks highlighted here, but I don't think I've ever heard mention of that one.
@lyradawn4176
@lyradawn4176 4 года назад
i was totally not understanding until the visuals for the memory came in, top notch editing! thanks for the explaination!
@SeranaKnight
@SeranaKnight 2 года назад
Sounds like someone's character is getting new perks with the sound fx, love the video
@bisquick3662
@bisquick3662 4 года назад
Your videos are really high quality, it's great that you use the time wisely and don't add unnecessary filler
@WrinkleRelease
@WrinkleRelease 4 года назад
I've never understand a single thing in any of these videos, but I love watching them anyway. The obvious take-away is that coders for the NES were wickedly clever.
@JohnGabrielUk
@JohnGabrielUk 4 года назад
You've stepped up your game on the presentation! The sound effects here are a nice touch. Enjoyed the video, as always.
@xeostube
@xeostube 3 года назад
fantastic explanation; even though I'd already seen all these tricks explained elsewhere your high production values and great visualizations made it totally worth watching.
@byf1987
@byf1987 4 года назад
Five months ago, I asked this under the Q & A video: "I would be interested to learn something about the limitation of consoles (e.g. SS can't handle transparency, how SS lose to PS in its 3D performance), and how some games overcame that limitation (e.g. by adding chip on cartridge for NES, and adding RAM cartridge for SS)" This video is the thing I am looking for! Awesome and many thanks!
@captainnintendo
@captainnintendo 4 года назад
Interesting stuff. I was kinda hoping to see an example of the sunset from the first level in Rygar that has mountain scrolling in from of it but I'm guessing that's probably sprites doing that.
@r.g.thesecond
@r.g.thesecond 7 месяцев назад
This is a video I watch every time I try coding for the NES. Thank you!
@warmCabin
@warmCabin 2 года назад
Mega Man 2 has a couple of funny parallax techniques you didn't cover! The iconic title screen uses sprites for the little windows on the building which move faster than the actual background (the building itself has a vertically invariant texture). Then, once the purple skyline is completely scrolled off screen, the scroll speeds up for the roof to come on screen. More "axis-invariant" textures are used to give some of the full screen bosses a floor underneath as well. On the menu screens, they use an 8x8 tile repeating pattern under the text boxes. Rather than do any CHR RAM shenanigans, they simply scroll the screen 8 pixels per frame to create the illusion that the background pattern isn't moving.
@blayral
@blayral 4 года назад
i wish there were more detailled channels like yours about how older systems are working, as for the hardware than for the software. if some one knows more channel as good as this one... Great job, thanks so much for all thoses insights on system of my youth.
@jess648
@jess648 4 года назад
the creativity of developers on systems where memory was limited is amazing
@wolcamophone4783
@wolcamophone4783 4 года назад
I always love seeing how the camera isn’t actually moving, it’s just the background. Really goes to show what kind of cool mind bending stuff happens with some areas of primitive forced creativity.
@IngwiePhoenix
@IngwiePhoenix 4 года назад
Dude, the animations in this video are off the charts. Amazing stuff right then and there! I am currently thinking of how to best extract resources off a GBA rom that I dumped and while the GBA is obviously a different console, I can't help but still notice that a few things stuck - patterns, so to say. This is seriously an amazing channel and I learn so much from it. Thank you very much for sharing this wonderful knowledge and putting all of those effords into every single detail - from the live memory map updates, to the CRT animations to just...well, everything. It is gorgeous and thoughtfuly put together. Definitively amazing!
@KuraIthys
@KuraIthys 4 года назад
There's a fair bit of overlap. Once you start digging you see a whole series of techniques and concepts that are widely applicable to a large number of 8 and 16 bit consoles and microcomputers. Everything from the atari 800 to the NES to the sinclair spectrum to the TurbographX 16 - they all have their own quirks, but a lot of concepts and basic features apply to all of them. And the GBA, while technically of another era (it has 32 bit instructions available, for one), is very much like someone took the Super Nintendo design, expanded it (with things like more video memory, 15 bit bitmap modes, and mode 7 style effects on multiple background layers at once, alongside regular background layers as well), simplified it (there's far fewer graphics modes or mutually exclusive features), and tweaked it to work as a handheld... There's a reason that system got so many SNES ports; It certainly isn't a SNES in any direct sense, but it's lineage is pretty clear nonetheless...
@chainedlupine
@chainedlupine 4 года назад
Ooh, keen. See, I assumed games like Metal Storm were using extra hardware to write to some on-cart RAM region for the PPU tile updates, but a ginormous amount of ROM banks work just as well. Learned something new!
@vonfahrenheit6557
@vonfahrenheit6557 4 года назад
Not gonna lie I’m damn proud of myself for figuring out how it works before you said it. The coolest thing about old games is how they had to pull crazy solutions like this to break past the limits of the systems. Really good video dude, it’s always a little astonishing how much effort you put into these. It’s such a niche thing to be passionate about but I hope you know we really do appreciate it!
@WickedSushi
@WickedSushi 4 года назад
The video editing makes these videos super enjoyable (along with the information and calm presentation, of course!).
@InsaneFirebat
@InsaneFirebat 4 года назад
Very nice explaination and visuals. I love learning about the techniques game devs used to workaround ancient hardware limitations.
@BagOfMagicFood
@BagOfMagicFood 4 года назад
Another famous game with the bank-swapping tile trick is MegaMan 5 in its GravityMan stage. Looking at the PPU, there are many tiles that change all the time: the glowing lights, the electric arcs, the barber-pole-striped spikes, the random numbers... But when you get to a certain part of the stage, these tiles suddenly stop and only change when you scroll the screen, and this is where you see rows of girders that appear to scroll behind other background elements, because their tiles are updated with different alignments via the same series of banks as those animated elements. When you're in the rooms with the animations, a PPU Viewer shows you that girder rotating constantly. Have you covered NES games that change the scroll amount one scanline at a time, like the Horizontal Oscillation from EarthBound 2? I suspect this is how MegaMan 6 achieves the "heat wave" distortion effect on its sunset in TomahawkMan's stage, since if you look at the Name Table, that sun remains perfectly round the whole time, and I don't see such odd edge shapes in the tiles. In the game Fire Hawk, you can see that at a certain point, each line of the ground scrolls a little more slowly than the line below it to produce a 3D camera effect on the whole. And now I recall that the bootleg port of Contra 3 to NES used the horizontal oscillation effect up the entire screen for its intro!
@DigitalConceptz
@DigitalConceptz 4 года назад
Very fascinating!! I’m intrigued like a mofoneed to watch videos like these, sir that’s why I’m subscribed to you, yeah-yeah games are fun but always wanted to know what makes. These old school games tick
@ItsPripp
@ItsPripp 4 года назад
Great sound work in this video. Your visual effects were already top notch, and these great sound effects lend another layer of quality to your work! Keep it up!
@sweetamiao
@sweetamiao 4 года назад
Wonderful job! Would definitely like to see some video regarding how Sega MD/Genesis achieved some incredible effects when the console doesn't have anything like SNES Mode 7 in the future.
@thatwasprettyneat
@thatwasprettyneat 4 года назад
you kinda lost me around the halfway mark, but i'll watch this again tomorrow. this is fascinating, thanks for uploading!
@redgrain3914
@redgrain3914 3 года назад
It's amazing how the sound and tile movement effects you do here help me, a giant math idiot, understand what my Nintendo is doing. Keep doing this stuff.
@stevenschiro1838
@stevenschiro1838 4 года назад
Awesome video yet again! Kirby’s Adventure would be an amazing video because of all the tricks they use. How did they get around the problems super Mario 3 had, because I thought both use the same chip?
@MarioFanGamer659
@MarioFanGamer659 4 года назад
One issue, the scrolling artefacts, was simply bad programming on SMB3. There still are artifacts on Kirby's Adventure but it's only palette artifacts as the palette is set on a grid of 16x16 tiles instead of 8x8 tiles for the tile data.
@noaht2005
@noaht2005 7 месяцев назад
the combination of both techniques in sword master looks amazing
@danielstephenson7558
@danielstephenson7558 4 года назад
Man, these techniques of memory swapping are insane.
@marcfuchs6938
@marcfuchs6938 2 года назад
The editing in those videos is fantastic. Great content.
@VinsCool
@VinsCool 4 года назад
The addition of sound effects was a nice touch! Great video as always
@darkwraithcovenantindustries
@darkwraithcovenantindustries 4 года назад
It's just incredible that they pulled this off with so little resources available to them hardware wise. These coders were true geniuses.
@franchisethebull
@franchisethebull 4 года назад
Learned like 30 things in 20 seconds around the two minute mark, instant sub
@noahthompson95
@noahthompson95 4 года назад
Been waiting for the third AV effects video! Already loving it! A question - how do beat 'em up arcade games like Streets of Rage know which attacks connect and which don't? It's definitely not sprite collision, since you can whiff something if you're behind someone even if your punch goes through their sprite. I've always wondered this and would love an explanation! also really impressed by how smooth that mech's animation is in metal storm
@nikolaikalashnikov4253
@nikolaikalashnikov4253 4 года назад
Good question: Along the same lines, I'm curious how romhackers can modify the levels & hit detection still works flawlessly ? ...like the simple scenario of standing on a ledge VS falling into a pit to your death (for platformers). ...for this, it might actually be "sprite detection" (i.e. the mathematically equivalent check on objects in memory) ?
@ChannelSho
@ChannelSho 4 года назад
And here I thought the strange flickering of the background in Volkmire's Inferno of Battletoads was just a neat thing the developers put in.
@imalsoTOMATO
@imalsoTOMATO 4 года назад
Super fascinating what developers pulled off in the NES' later lifecycle. The games looked brilliant
@Weyzar
@Weyzar 4 года назад
Heres a suggestion: Can you explain why the game genie code YEAAAA causes super mario bros to bug the hell out?
@Selicre
@Selicre 4 года назад
Easy, it changes one of the VRAM buffer offsets and causes the game to write to unintended portions of the game's memory. This code corresponds to writing 07 to address 8080, corresponding to VRAM_Buffer_Offset in the disassembly. The result as far as I can tell is that the game misunderstands its own PPU upload queue. Edit: misunderstood a few things, oops.
@wishusknight3009
@wishusknight3009 4 года назад
in this case, "yeaaaa" may not be referring to a happy endorsement, but may actually be screaming.
@Weyzar
@Weyzar 4 года назад
@@Selicre Thank you man, really informative, but it would be nice to see retro game mechanics actually use some of his good and neat animations and explanations to this topic.
@Selicre
@Selicre 4 года назад
@@Weyzar I might try my hand at making some videos like that when I have the time.
@RandomPerson964
@RandomPerson964 4 года назад
That sounds like the kind of thing he would spend a minute or two explaining in a Q&A video. If he ever does another one, ask him then.
@CoOlKiD473
@CoOlKiD473 4 года назад
Y’all really upped the ante on these videos, already great videos are looking even better!
@allluckyseven
@allluckyseven 4 года назад
I love it when you make NES-related videos, and this is an amazing one, thank you!
@timmowarner
@timmowarner 4 года назад
30 years later I discover the scrolling backgrounds were far more complex than I ever thought as a kid where I explained it as "Cool! They make the backgrounds scroll at different speeds to make them look more 3D!"
@VoidHalo
@VoidHalo 2 года назад
I don't know if you have yet or not, but I would absolutely LOVE to see you cover the different mapper chips/chipsets that were used for the NES to achieve things like extended memory, or being able to scroll X and Y in SMB3. At least the common mappers, anyways. I'm not sure how many there were, but with the unlicensed games there were probably tons.
@bobbybobbinson
@bobbybobbinson 4 года назад
parallax looks really good on nes games
@Domarius64
@Domarius64 3 года назад
That was incredible. Thank you for explaining so clearly, with very informative animations!
@fungo6631
@fungo6631 Месяц назад
Some parallax scrolling might also be possible with mid scanline IRQ, but would also involve sprites for assistance to hide visual glitches.
@GarryDumblowski
@GarryDumblowski 3 года назад
I don't think I ever noticed just how beautiful of a game Battletoads was until I watched this video.
@jammy3662
@jammy3662 4 года назад
the sound effects are really helpful at emphasizing important details and subtly pointing out what is currently happening in the animations. these are great, thank you. please continue to add these
@starfrost6816
@starfrost6816 4 года назад
As a programmer I envy these people, they must have been amazing programmers
@KiroOsexXIII
@KiroOsexXIII 2 года назад
As a programmer I'm really glad that I don't have to work in assembly.
@thezipcreator
@thezipcreator Год назад
@@KiroOsexXIII honestly, 6502 assembly isn't that bad once you get used to it. x86 assembly on the other hand, that's a fucking nightmare
@andrewradu9884
@andrewradu9884 4 года назад
I love that these videos are so interesting and entertaining they must take a lot of time and effort
@mrburns366
@mrburns366 4 года назад
very interesting! I can't quite wrap my brain around it.. but it's very interesting. Time for a refresher on IRQs i think.
@mrmimeisfunny
@mrmimeisfunny 4 года назад
IRQs are just like function calls inserted mid code. So they interrupt whatever is running when a certain pin on the cartridge is energized. Therefore it is possible to make a system that energizes that IRQ pin when a certain part of the graphics data is requested (which corresponds with a certain part of the screen being drawn), and quickly change some registers to snap the background to the right place.
@ulti-mantis
@ulti-mantis 4 года назад
I knew how these effects were done, but it's always great seeing a visual explanation of their execution. Do you plan to make a video of Yoshi's Island? Was playing that one again recently, and it has some pretty cool stuff going on with the SFX chip.
@DeadTalkLive
@DeadTalkLive 4 года назад
Great video 👍! As a current RU-vidr, I am contantly searching for new ideas! Nice Job!
@sagacious03
@sagacious03 4 года назад
Neat explanation! Thanks for uploading! I like the sound editing!
@whiz8569
@whiz8569 4 года назад
I sometimes forget how much production value is in these videos.
@theopoldthegamer4284
@theopoldthegamer4284 Месяц назад
I love the sound design in this video
@unvergebeneid
@unvergebeneid 4 года назад
Wish you had spent a bit lore time on those blue mountains because that effect was super convincing and rally astonishing to me!
@3Dparallax
@3Dparallax 4 года назад
Top notch video as always, will check out that new support platform.
@kirin1230
@kirin1230 4 года назад
I was wondering if you'd be able to make a video on the BLJ from Super Mario 64? It's a really interesting glitch, and all your videos are amazing. Just a suggestion.
@Zawmbbeh
@Zawmbbeh 4 года назад
so if i'm getting this right, it's like Sonic 3's palette swapping sphere, but instead the concept is used on sprite data? i'm not super savvy but at least this video was very nice to watch and listen to, aha! (on a sidenote, i like how the video background is the same as youtube's dark mode background, it feels more spectacular that way!)
@random832
@random832 4 года назад
is there a good explanation of the sonic 3 sphere somewhere? i googled it after seeing your comment and couldn't find anything
@Kauhmbou
@Kauhmbou 4 года назад
@@random832 Coding Secrets put out a video fairly recently about it. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-HuF22Juj1BA.html
@litjellyfish
@litjellyfish 4 года назад
random832 game coding secrets here on RU-vid I think it’s called
@random832
@random832 4 года назад
@@litjellyfish thanks, that was enough for me to find it ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-HuF22Juj1BA.html
@CyberneticSheep
@CyberneticSheep 3 года назад
Its no wonder companies back then needed whole teams to figure all this stuff out. Really logical magic work
@orbyfied
@orbyfied 4 года назад
Can you make a video about how glitched pokemon exist? like, how their internal id got in the game and how the other data than graphics data is loaded or something? cuz i really enjoyed this video and especially the video on MissingNo's glitchy apperance
@dorinxtg
@dorinxtg 4 года назад
Top notch quality! 2 questions: 1. Do you use After effects of Final cut to create everything in this video? 2. Do you plan to create "behind the scenes"? that would be a very interesting clip ;)
@RGMechEx
@RGMechEx 4 года назад
I primarily use After Effects. There is some behind the scenes contents available for supporters via Patreon and SubscribeStar.
@lagcom
@lagcom 4 года назад
I was not expecting a video on Sunday, but then maybe it’s Saturday for you
@chillbro1010
@chillbro1010 4 года назад
It just clicked... This is genius.
@guillermoleon0216
@guillermoleon0216 4 года назад
Old school game devs were BEASTS
@ExpressoTheCat
@ExpressoTheCat 4 года назад
i never knew that the nes could do pallarax, thats so cool!
@johneygd
@johneygd 3 года назад
The nes turns out to be waaay more weaker then i,ve ever could imagine, those first generation nes games really looked ,played and sounded limited , they did feel more like enhanced atari 2600 games, HOWEVER, with the advent of mappers,the nes could do soooo much much more,by increasing it’s ram & rom space, while bankswitching allows to bigger rom size games, heck it’s even possible to hijack the nes ppu and pump rendered graphics to it, it’s just mind blowing how those final nes games lloked,play and sounded like early 16bit games.
@MaximumADHD
@MaximumADHD 4 года назад
Fantastic as always :D
@Malzzzy
@Malzzzy 4 года назад
Great editing and explanation!
@micheliwaniec80
@micheliwaniec80 4 года назад
Great video as usual! But a small correction about 3.38: You actually *can* split the screen vertically on an NES. By doing out-of-order register writes on $2005 / $2006. But due to there not being an easy way to sync the CPU with the PPU, under normal conditions the variance in which pixel you are at will be too large to have this be glitch-free. There is however a technique discovered by Shay Green a few years ago, which allows reducing the variance to just +/-1 pixels between frames on an NTSC console (but a bit more for PAL). wiki.nesdev.com/w/index.php/Consistent_frame_synchronization And this is sufficient to enable predictable updates of the nametable address for $2006 with carefully timed code, as well as reducing the glitch of fine-scroll update of $2005 to a few pixels on NTSC. I don't know of any demos that have *really* put this to good use yet, and even if it would have been known back in the day, it probably would have been impractical for games to do this - you only have so many cycles / scanline to fit your writes in anyway. So the simplified answer is indeed that you can't, because you won't see it in any old titles... But the longer answer is that it *is* perfectly possible to create vertical split-screen on the NES with this technique, if you hide the glitches from the -1 / +1 variant with sprites (or alternatively, I *think* having a few identical BG pixels when writing $2005 should work too) But due to the complexities and limitations we are unlikely to see the technique used much, even in newer homebrews. :)
@Wuerfel21
@Wuerfel21 4 года назад
Didn't the MMC5 have a vertical screen split feature, too? IIRC barely anything uses it.
@KuraIthys
@KuraIthys 4 года назад
Fairly sure there is at least one game using a vertical split screen... But as a general rule such things are infinitely more complex than horizontal effects. The reason for this is pretty straightforward; Let's say you want to split a screen in two - if you use a horizontal raster split you have to update a few memory variables once per frame. The timing can be tricky, and depending on the complexity of the effect, so can getting the update to happen quickly enough... But even so, you're doing ONE update every 1/60th of a second (or 1/50th on PAL) Now contrast this with doing a vertical split; Since the scanning pattern (assuming normal orientation; some arcade machines had monitors mounted in weird orientations that defies the standard logic) is horizontal, to create a vertical split requires that you update the relevant data on every scanline. (twice in fact, since at the start of each new scanline you have to reset it to the first set of data.) Even leaving aside the timing... For a 224 line image, this requires performing 448 updates per frame. Vs... The horizontal split requiring ONE update... The timing is worse, and you have to do hundreds of times more work... You can see why games rarely did this unless there was some kind of explicit hardware support designed to do this kind of thing for you. (such as the Mega Drive which has offset per column scrolling as a PPU feature, or the Amiga COPPER which can automate DMA transfers to specific registers at set intervals measured in pixels; You can't update every pixel, but you can update every couple of pixels...) It's also why mode 7 on SNES can mimic perspective effects in the horizontal plane, but you cannot realistically for instance create the effect of something rotating around a vertical axis. (the actual perspective effect is handled through altering various scaling parameters every scanline. To create an equivalent effect along the other plane would require adjusting parameters every pixel.)
@micheliwaniec80
@micheliwaniec80 4 года назад
@@Wuerfel21 Yeah it does. But to support fine-Y scrolling, the cartridge has to be "wired" for that. (I.e., connect certain soldering pads on the PCB to give the MMC5 chip access to certain address lines) If it isn't, only multiples-of-8 can be used for the Y-scroll in the split screen section. A certain Japanese shoot-em-up with a long name uses it for the title screen, but only with multiples-of-8, leaving the lower 3 bits as 0. OTOH, the ending screen to Bandit Kings of ancient China appears to write the lower 3 bits of the Y-scroll as well. But the cartridge was *still* wired to not support it, which ends up kind of buggy. So even with the he feature in place, it saw little practical use. Then again, many of the mmc5's features were left unused in games using the mapper. The most notorious example is Castlevania3 which probably only used mmc5 because the PRG-ROM bank-switching was very similar to the VRC6 mapper used by the Japanese version. And the fine-X scroll is not possible to change, since only CPU writes can affect those lowest 3 bits - extra cartridge hardware can't. So the HW feature would still need to be complemented with writing the fine-X scroll multiple times per scanline if you want truly independent scrolling. And this can never be 100% glitch-free, due to not having an integer number of CPU cycles per scanline and the write taking effect immediately with no buffering. So again, short answer is that it's usually more trouble than it's worth :)
@micheliwaniec80
@micheliwaniec80 4 года назад
@@KuraIthys I don't think there is any non-mmc5 game that does it. In addition to the extremely CPU intensive work you mention, you also have to sync the CPU with the PPU to minimise misalignment. IRQs aren't precise enough, so you really need Shay Green's complicated consistent-frame-sync method to minimise misalignment This was only discovered a decade or so ago, and would have been impractical even if it had been known back in the NES's heyday. With the mmc5 you get some hardware support for doing this which removes the CPU intensive part but comes with limitations - most notably no control over the fine-x scroll, so both screens need to have their X-coordinate as a multiple of 8 in practice.
@NeZversSounds
@NeZversSounds 4 года назад
I'm mindblown at video production EVERY time! What do you use to animate all that? For example, those scanlines or interrupt animations - I don't know another way than programing that myself, but that's for each thing it's own development. I'd like to make my game dev tutorials more appealing too.
@_polpon
@_polpon 4 года назад
Really nice video :), nice to see NES mechanics explained :)
@rustyshackleford528
@rustyshackleford528 4 года назад
I love all the sound effects in this one, really neat stuff!
@Voultar
@Voultar 4 года назад
I greatly enjoy this channel. Greatly..
@ghb323
@ghb323 4 года назад
The only limitation is that your background, other than drawing the screen scanline-based is that your background repeats very frequently.
@pasu2k
@pasu2k 4 года назад
Nice, looks like I was right on the pixel preview on Twitter ;D
Далее
PUBG Mobile СТАЛ ПЛАТНЫМ! 😳
00:31
Просмотров 95 тыс.
Generation I Pokémon Cries Explained
19:15
Просмотров 691 тыс.
How Graphics worked on the Super NES | MVG
12:19
Просмотров 508 тыс.
Pac-Man Ghost AI Explained
19:34
Просмотров 1,4 млн
Atari's Quadrascan Explained
20:57
Просмотров 190 тыс.
Data Redundancy Errors Explained
22:42
Просмотров 276 тыс.
MissingNo.'s Glitchy Appearance Explained
21:20
Просмотров 1 млн
When a 9-Year-Old Sued Nintendo
5:55
Просмотров 2,7 млн