SNES Background Mode 7 - Super Nintendo Entertainment System Features Pt. 05

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ธ.ค. 2024

ความคิดเห็น • 595

  • @KizulEmeraldfire
    @KizulEmeraldfire 7 ปีที่แล้ว +528

    Today, I learned that Chrono Trigger's title screen's pendulum was NOT an Object, and that Bowser was part of the background the whole time.
    Fascinating stuff! :D

    • @XaneMyers
      @XaneMyers 7 ปีที่แล้ว +63

      Basically on the SNES if something rotates or scales very smoothly with that certain look to it, it's probably Mode 7.
      ( Speaking of Bowser, it looks like Nintendo was just showing off every time Bowser would fly away or towards the screen. *Look at our cool mode 7!* )

    • @TinchoX
      @TinchoX 7 ปีที่แล้ว +7

      I know right!

    • @KnuxKitsune
      @KnuxKitsune 6 ปีที่แล้ว +23

      Mode 7 replaces the background layer, which is obvious in several stages and boss fights in Super Castlevania IV (i.e. swinging chandeliers, rock golem boss). Early SNES games pushed Mode 7 rather heavily. Some games used it well, others just came off as gaudy.
      D-Force, a helicopter shoot-em-up by Asmik Ace, used Mode 7 very heavily, and justified its usage by allowing the player to change altitude, effectively zooming the background in and out. It kinda looked cool, but ended up feeling like a gimmick.

    • @XBladenoJutsu
      @XBladenoJutsu 6 ปีที่แล้ว +19

      One thing to keep in mind, is when you typically see something scaling and/or rotating, and it looks like the background is just a very basic solid color (usually black), or gradient, it's more than likely having whatever is being scaled or rotated as a background and using Mode 7 to manipulate it.
      There is some very ugly examples of this too, like Dragon's Lair's boss fights having this really terrible looking blue and red gradient and using the background for the boss.
      If you see something scaling/rotating, but there is still a background (like Megaman X2 Crystal Snail boss, or many things in Yoshi's Island), it's using an expansion chip to do that instead (CX4 chip for Megaman X2, Super FX2 for Yoshi's Island).

    • @KuraIthys
      @KuraIthys 6 ปีที่แล้ว +9

      @@XBladenoJutsu Not always entirely true. There are games that have relatively elaborate backgrounds combined with a scaling 'sprite', there can be a lot of stuff going on sometimes.
      But that actually shouldn't be a huge surprise depending on the situation;
      (mickey's magical quest has some relatively elaborate examples of such things going
      After all, the SNES can draw 128 sprites, and if you use 64x64 sprites you can fill the entire screen using 16 such sprites. (Granted you only have enough unique sprite tiles on one frame to make 4 unique 64x64 sprites.)
      Or, 64 sprites that are 32x32 would also accomplish the same trick.
      Obviously this is a bad idea, because you'd have no leeway for drawing anything else. like, say, the player's sprites.
      But it's definitely a thing that could be done. - you've then got sprites composing a background, and a mode 7 background acting as a 'sprite'.
      Actually with split-screen effects you can do even weirder stuff.
      HDMA can mostly automate a lot of these effects too.
      For instance, a large proportion of games demonstrate a midscreen graphics mode switch when using mode 7.
      The most dramatic example I know of is in Contra 3...
      But pretty much any mode 7 racing game does it too.
      In this case your 'mode 7' effect is restricted in terms of which part of the screen it can occupy...
      But it's pretty flexible, especially if you combine it with that 'sprites as background' concept - which gets easier when you have less of the screen to cover.
      For that matter, you can have multiple, independent mode 7 effects going at once if you feel inclined to.
      again, this depends on midscreen register changes, and thus objects cannot cross the boundary lines of where you performed such changes...
      There are plenty of weird ways you can disguise the limitations of mode 7...
      Many of which have been used in a bunch of different games...

  • @nneeerrrd
    @nneeerrrd 7 ปีที่แล้ว +957

    You just tricked all SNES gamers into learning some linear algebra I'm sure they hated at university lol. Well done man!

    • @naga7647
      @naga7647 7 ปีที่แล้ว +81

      Yeah. I actually HATED that Linear Transformation because professor gave totally no idea about how 4 numbers in big bracket made plane something.... very strange happen. And finally I watch the best explanation I ever seen! Professors must use this video for linear algebra class. shit i was born too early

    • @nneeerrrd
      @nneeerrrd 7 ปีที่แล้ว +6

      same to me man :)

    • @johneysupergd7796
      @johneysupergd7796 7 ปีที่แล้ว +5

      I hate to have to wait again for another part of background modus in this case part 2 of mode 7.
      Why becsuse the last part became very interesting, i gonna die from all the occupied waiting and waiting,pfff.

    • @GarageLoot
      @GarageLoot 7 ปีที่แล้ว +2

      Мандибрики і Цирупопики lol. So that is how we teach kids math.

    • @nneeerrrd
      @nneeerrrd 7 ปีที่แล้ว +1

      Garage Loot the best way to do it, I'd say :)

  • @Gollum999
    @Gollum999 7 ปีที่แล้ว +500

    The quality of these videos is absolutely insane.

    • @GenXGrownUp
      @GenXGrownUp 7 ปีที่แล้ว +10

      That sums up my thoughts perfectly. I feel like I should've paid for this.

    • @GalahadLazuli
      @GalahadLazuli 7 ปีที่แล้ว +11

      He's got a patreon, so you can pay for it.
      www.patreon.com/rgmechex

    • @markpenrice6253
      @markpenrice6253 6 ปีที่แล้ว +7

      I'm just sitting here wondering how the explanatory graphics were made...

  • @Sneakstir
    @Sneakstir 7 ปีที่แล้ว +293

    ....this is the first practical use of the culmination of everything I've been learning in classes over years. I'm actually interested in graphics now, and at a crossroads where I can pursue that. Thank you so much for these videos.

    • @0fuxTaken
      @0fuxTaken 7 ปีที่แล้ว +13

      Sneakstir Linear algebra is extremely useful

    • @Sneakstir
      @Sneakstir 7 ปีที่แล้ว +16

      Oh I'm sure, this is just the first time I've gotten to see it in an applied context. Its like collecting jigsaw pieces and finally seeing a picture with them.

    • @ferb1131
      @ferb1131 7 ปีที่แล้ว +8

      You might want to have a look at how graphics works in the 2d canvas javascript API too, it uses a lot of affine transformations as well, so there's a similar modern-day application for it there. So do regular 3D graphics, though of course those transformations aren't 2D like these ones, and some tricks get used to portray things with perspective since that transformation isn't affine.

    • @undefined06855
      @undefined06855 3 ปีที่แล้ว

      200th like :)

  • @FuPoo
    @FuPoo 7 ปีที่แล้ว +521

    >the pendulum never swinged at all
    dam man

    • @laharl2k
      @laharl2k 7 ปีที่แล้ว +25

      there is no pendulum.....

    • @MixMasterLar
      @MixMasterLar 7 ปีที่แล้ว +64

      But in the end, the Pendulum refused to swing

    • @neilisbored2177
      @neilisbored2177 7 ปีที่แล้ว +37

      and you're still hungry

    • @PhoenixClank
      @PhoenixClank 6 ปีที่แล้ว +11

      *swung

    • @davidsmall6322
      @davidsmall6322 6 ปีที่แล้ว +14

      "swangded"

  • @Blutzen
    @Blutzen 7 ปีที่แล้ว +164

    I had no idea the pendulum in CT was a mode-7 background, this video just blew my mind.

    • @satsun
      @satsun 7 ปีที่แล้ว +24

      Rule of thumb for SNES graphics: If something has that odd scrolly/wavy/blocky look, it's Mode 7. I could tell what was Mode 7 in games, I just had no idea it was basically a static image with a camera doing all of the action.

    • @KineticManiac
      @KineticManiac 4 ปีที่แล้ว +8

      @@satsun Replying to a two years old comment, but what's shown here is simply a visualization. It could also be visualized via the background moving. One visualization isn't necessarily more accurate than the other.
      As for the what's going on inside the hardware, X' and Y' are calculated based on X and Y for each pixel, and then the expected color at X' and Y' is looked up from the tilemap, which ultimately goes back to actual tiles and palettes. Overall, it's an arithmetic calculation, not a geometric one.
      All games are like this. All geometric calculations are made by first converting them to arithmetic equivalents.

    • @kimgkomg
      @kimgkomg 4 ปีที่แล้ว +4

      It's pretty obvious when you consider how large of a sprite it would've been just to be put onto a blank background

    • @lucianothewindowsfan
      @lucianothewindowsfan 2 ปีที่แล้ว

      @@satsun _Doraemon 2_ uses HDMA for 3D effects.

  • @popular_dollars
    @popular_dollars 7 ปีที่แล้ว +216

    Brilliant visual communication as always!

    • @DogsRNice
      @DogsRNice 7 ปีที่แล้ว +1

      Cyrule xd

  • @MFMegaZeroX7
    @MFMegaZeroX7 7 ปีที่แล้ว +56

    It was nice to finally put my linear algebra skills actually to use! :P
    And wow I had no idea that the Chrono Trigger Pendulum swing was created through mode 7 transformations. I will never be able to unsee that.

  • @don3724
    @don3724 7 ปีที่แล้ว +71

    This is the best Mode 7 video ever created!

  • @MontanhaDM
    @MontanhaDM 7 ปีที่แล้ว +323

    So that's why Bowser fight takes place at a dark bg with no detail?

    • @randomcatdude
      @randomcatdude 7 ปีที่แล้ว +49

      Yes

    • @darven
      @darven 7 ปีที่แล้ว +14

      i got the same thought.

    • @TyrannoFan
      @TyrannoFan 7 ปีที่แล้ว +20

      It's probably why he looks so strange and miscoloured as well.

    • @flamingwoodz
      @flamingwoodz 7 ปีที่แล้ว +20

      Yes, also like the stone golem boss in Castlevania IV

    • @MrCorrectify
      @MrCorrectify 7 ปีที่แล้ว +50

      Yea, there have been a few games that get around it. You can, for instance, set the out of bounds background bit to a sky color, then paint the area around bowser that same sky color. From there you can add some cloud sprites, and if you wanted, use mode 7 in priority mode so he can fly behind or in front of the clouds/player as you transform him.
      The end result is a fancy daytime battle. I could be wrong, but I think Dyna Blade used this trick in Kirby Super Star.

  • @a.lollipop
    @a.lollipop 4 วันที่ผ่านมา +1

    im glad you went into so much detail with the transformation math! so many other channels skip over these parts, the completeness of your explanations is one of the reasons i love this channel so much :3

  • @FolixOrision
    @FolixOrision 7 ปีที่แล้ว +79

    As a developer I really like your presentation of this information. If I didn't already have a hobby, making a homebrew game would have been a fun way to go.

    • @HairyPixels
      @HairyPixels 7 ปีที่แล้ว +5

      I think it's time for two hobbies then.

    • @FolixOrision
      @FolixOrision 7 ปีที่แล้ว +2

      Working on my own software project already

    • @dynastylobster8957
      @dynastylobster8957 7 ปีที่แล้ว +2

      well, making an snes homebrew is POSSIBLE, but don't expect to get any help learning ASM, or any players, the homebrew community is small

    • @drewsebastino2889
      @drewsebastino2889 7 ปีที่แล้ว +2

      Dynasty Lobster I think the entire SNES homebrew community pretty much resides in the "SNESDev" section of NESDev. One member did actually make a game engine for others to use, but I think it's pretty barebones currently.

  • @bandysc
    @bandysc 7 ปีที่แล้ว +22

    Oh my God, man, this is probably the best technical channel in the whole TH-cam. I can not get over your knowledge AND they way you present it to us. I have no words, pure amazing!

  • @HeiligerGrimmnir
    @HeiligerGrimmnir 7 ปีที่แล้ว +61

    I find this extremely engrossing but I'm to stupid to understand all the information presented. Its important work though to preserve this information.

  • @KuraIthys
    @KuraIthys 7 ปีที่แล้ว +35

    Pretty good explanation.
    After studying the available documentation thoroughly, as well as remembering what I learnt a long time ago in relation to software 3d engines, I came to the conclusion that Mode 7 is the fuoundation of a hardware texture mapping routine.
    It has a few design quirks and limitations compared to an actual texture mapping implementation, but fundamentally it's basically the same thing.
    It maps a texture directly into a 4 sided polygon defined entirely in screen space.
    If you know how a texture mapper works you'd notice that a texture mapper is basically a generalisation of this exact thing...
    So... Yeah, SNES has hardware texture mapping, but no 3d geometry support. XD

    • @musaran2
      @musaran2 3 ปีที่แล้ว +4

      Yes, 3D rendering a texture amounts to feeding a CRT raster with pixels from slanted lines on the texture.
      Also, the slanted lines are walked by repeatedly adding the line step instead of multiplying by the slope for each pixel.
      This simplicity is the reason raster rendering dominates, but modern rendering gets so much more hairy...

    • @flameofthephoenix8395
      @flameofthephoenix8395 ปีที่แล้ว +2

      Not really, at least if I understand correctly. I'm fairly sure that there would be no way to input values for the different z-coordinates, in other words, while you could try to use perspective (X/Z)*FOV, it would look off, as the texture would be mapped in a 2d way, not a 3d one.

  • @kargaroc386
    @kargaroc386 5 ปีที่แล้ว +20

    Speedrunner: it's called a subpixel
    Programmer: it's called a fixed-point number

    • @musaran2
      @musaran2 3 ปีที่แล้ว +3

      Subpixel
      s are just one use of fixed-point numbers.

    • @boaromayo
      @boaromayo 7 หลายเดือนก่อน +2

      Thesis: It's a subpixel
      Antithesis: It's a fixed-point number
      Synthesis: A subpixel is a fixed-point number.
      Speedrunners 🤝 Programmers

  • @minerturtle45
    @minerturtle45 6 ปีที่แล้ว +7

    When you said X naught and Y naught the first things that popped into my head were the X-Nauts from TTYD and Wynaut from Pokemon.
    Very interesting series. Lot of cool stuff. Probably not gonna remember any of it, but it's still really cool.

  • @puffcap_
    @puffcap_ 7 ปีที่แล้ว +74

    I love your videos. So well researched, well spoken, and well polished. Thank you for such hard work

    • @christopherhurley2570
      @christopherhurley2570 7 ปีที่แล้ว +3

      Yes and welcome back to finishing up this series, I was waiting for the day I could binge watch SNES hardware videos once more.

    • @jacklazzaro9820
      @jacklazzaro9820 6 ปีที่แล้ว +2

      Question, tho. Where did he learn all this stuff.
      What? I want to see more about others.

  • @Afrotechmods
    @Afrotechmods 7 ปีที่แล้ว +104

    Do you have a paypal address for one-off donations?

    • @RGMechEx
      @RGMechEx  7 ปีที่แล้ว +44

      Yes, you can find it at the bottom of my web page at dotsarecool.com/rgme.

    • @InappropriateSanta
      @InappropriateSanta 7 ปีที่แล้ว +16

      How do you like this comment more than once? Do I have to donate?

    • @luisgonzalez5482
      @luisgonzalez5482 6 ปีที่แล้ว +9

      Donations are always optional, but it helps him get more stuff done :3

  • @AmyraCarter
    @AmyraCarter 7 ปีที่แล้ว +18

    When I think of Mode 7, games like Mario Kart and F-Zero come to mind, as well as any Squaresoft game that has that implemented for the Airship...

  • @iau
    @iau 7 ปีที่แล้ว +62

    I think the most interesting part of the video was by far 15:50 onwards where you showed how it was applied on real games, but it was also the shortest part of the video.
    Are these visualizations too hard or time consuming to do? Could you do a video addendum showing more like these? I'd be extremely interested to see games like Mario Kart or F-Zero.
    Anyway, fantastic video as always!

    • @romajimamulo
      @romajimamulo 4 ปีที่แล้ว +5

      Hopefully you've checked back since, since now he does quite a bit

  • @supercomputer276
    @supercomputer276 10 หลายเดือนก่อน +1

    This video just helped me figure out how to find a point on a sprite after stretching and rotating it for a game I'm making. Thank you so much, it was giving me a headache for weeks.

  • @kri249
    @kri249 2 ปีที่แล้ว +4

    Thanks for explaining the mystery and using familiar examples. I've been wanting to learn how mode 7 worked.
    I this would also be a good learning tool for math teachers. Kids don't give a crap about angles or graph formulas but get videogames involved and you got their attention.

  • @Domarius64
    @Domarius64 6 ปีที่แล้ว +1

    Now THIS is one of your best videos! There was one of the background mode videos where you only gave a few examples, then went to talk about the modes, and left me very wanting with seeing no examples.
    This one is super thorough and easy to understand!

  • @emilygallegos9129
    @emilygallegos9129 5 ปีที่แล้ว +4

    This is so well made and designed. I'm always so impressed by your videos! This is such a simply and easy to digest explanation. Thank you so much!

  • @beaudryc123
    @beaudryc123 5 ปีที่แล้ว +4

    Dude, I don't know how you make all those animations but it's really awesome and they really help understand. Keep up the amazing work!

  • @mypkamax
    @mypkamax 4 ปีที่แล้ว +7

    Donald in The Magic Cap (ドナルドダックの魔法のぼうし (Donarudodakku no mahō no bōshi), Epoch) has a level with Mode 7 and in this level, Donald can be half in front and half behind the leaves, meaning the extended background must have been used.

  • @Slithermotion
    @Slithermotion 7 ปีที่แล้ว +6

    subbed...in an instant another good youtube channel that is interesting.
    good voice, good visual and very well explained.

    • @Slithermotion
      @Slithermotion 7 ปีที่แล้ว

      P.S. there is a series of gameboy hardware videos that wasn't continued any chance you could make something like that?

  • @Michirin9801
    @Michirin9801 7 ปีที่แล้ว +8

    I've been SO looking forward to this one!

  • @livvy94
    @livvy94 7 ปีที่แล้ว +20

    This is so well-researched and edited! Amazing attention to detail.
    I do chiptunes with the SPC700 all the time, and I'd be happy to double-check your points when you get to that topic!
    Or, like, give auditory examples of how different things work, like the echo effect and loop points.

    • @vuurniacsquarewave5091
      @vuurniacsquarewave5091 7 ปีที่แล้ว +2

      There is a podcast on Soundcloud that covered this in an episode: soundcloud.com/retrogameaudio/the-snes

    • @drewsebastino2889
      @drewsebastino2889 7 ปีที่แล้ว

      The SPC700 doesn't actually generate any of the sound, it just sends commands to the DSP that does.

    • @intron9
      @intron9 6 ปีที่แล้ว

      Drew Sebastino but the spc700 is the CPU, ram and DSP all together

    • @drewsebastino2889
      @drewsebastino2889 6 ปีที่แล้ว

      intron9 It's part of the Nintendo S-SMP that contains all of those things; the SPC 700 core itself does not.

  • @Oscar-gx2yf
    @Oscar-gx2yf 3 ปีที่แล้ว +2

    Amazing work in this video! I am blown away by your ability to explain and provide visuals for all these concepts.

  • @lixielabs
    @lixielabs 6 ปีที่แล้ว +2

    Animation is fantastic in these videos. Real movie magic, as I have no idea how you compiled some of these visualizations - great job!

  • @XBladenoJutsu
    @XBladenoJutsu 7 ปีที่แล้ว +37

    Also worth pointing out, despite what people think, Axelay does not use Mode 7 for its screen 'melting' effect. That is done by line scrolling.

    • @MaxwelThuThu
      @MaxwelThuThu 7 ปีที่แล้ว +11

      XBladenoJutsu Yesss!! Mode 7 was just used in this game for cutcenes and the giant robot boss in stage 2 (a horizontal level).

    • @orderofmagnitude-TPATP
      @orderofmagnitude-TPATP 6 ปีที่แล้ว +1

      XBladenoJutsu ~ oh really? ~ well.... that blew my mind.

    • @ThePharphis
      @ThePharphis 6 ปีที่แล้ว +1

      link? I'm not familiar with Axelay

    • @TheCrewExpendable
      @TheCrewExpendable 6 ปีที่แล้ว +1

      ThePharphis - lol your on TH-cam. Just search for it.

  • @MaximeBelleau1337
    @MaximeBelleau1337 6 ปีที่แล้ว

    I have to say, I have seen stuff at school and never really understood the reason why until I saw your videos! I will watch all the others for sure! Thank you for sharing such awesome information. Also, your visual explanations are incredible! Thanks!

  • @RootyTootTootin
    @RootyTootTootin 5 ปีที่แล้ว +3

    0:14 wow _unique_ *AND* _different_ !?

  • @MarcoMuskus
    @MarcoMuskus 6 ปีที่แล้ว +1

    27 years waiting for this to happen, excellent job explaining mode 7!

  • @razeezar
    @razeezar 6 ปีที่แล้ว +4

    For the next video you cover on HDMA with Mode 7, I'd love to see a reference to Terranigma's underworld and overworld maps (concave and convex curvatures on either map respectively).
    Love this series of SNES videos mate!

    • @Bluetailvappy
      @Bluetailvappy 6 ปีที่แล้ว

      I can agree with this. Terranigma's underworld had that curvature, and it looked like it was rendering an additional surface as well.

  • @Dargonhuman
    @Dargonhuman 7 ปีที่แล้ว +31

    I really want to make a "why not?" joke, but all that math seems to have melted my brain and I can't come up with anything.

    • @CarbonRollerCaco
      @CarbonRollerCaco 4 ปีที่แล้ว +1

      Wynaut?

    • @Pirateyware
      @Pirateyware 9 หลายเดือนก่อน +1

      @@CarbonRollerCaco Bold of Nintendo to reference the English name of a character that wouldn't be created for over 12 years, from a franchise that wouldn't exist for over 6, way back when they were developing the SNES in the late 80s.

  • @PhilDaw
    @PhilDaw 7 ปีที่แล้ว +4

    The production values of these is great

  • @aarongreenfield9038
    @aarongreenfield9038 6 ปีที่แล้ว +6

    I love how you can control the mode 7 Logo, in the 7Up cool spot game!

  • @DanielCharry1025
    @DanielCharry1025 7 ปีที่แล้ว +22

    If i had this video for my Linear Algebra class :(

  • @ilackedtheheart
    @ilackedtheheart 5 ปีที่แล้ว

    This is by far the most educational, smartest gaming channel on TH-cam. Awesome work!

  • @rinsatomi9527
    @rinsatomi9527 7 ปีที่แล้ว +2

    Dude, sick video. Thanks for making this.

  • @UChS4Dq15wHu8vkvWsaLzvPg
    @UChS4Dq15wHu8vkvWsaLzvPg 2 ปีที่แล้ว +1

    0:45 The game shown as the example is Yoshi's Safari
    3:00 The game shown is The Legend of Zelda: A Link To The Past

  • @alkankondo89
    @alkankondo89 6 ปีที่แล้ว

    This is such a great application of linear algebra - and so well-explained!! I did not expect to find this application when I clicked on the video. So worth my time!

  • @NicoAiko
    @NicoAiko 6 ปีที่แล้ว +1

    As a developer I find this really fascinating! It's unbelievable what past developers came up with to get their work done in terms of limitations. Really impressive.
    Also I love your videos! Subbed, liked and shared with all I know!

  • @Glacier_Nester
    @Glacier_Nester 3 ปีที่แล้ว

    I won't lie, without the visual to reference and my FULL attention the way the function call works would have taken me forever to understand. This is fantastic work!

  • @the3nder1
    @the3nder1 7 ปีที่แล้ว

    I've really enjoyed these videos. SNES was my first console and will always have a special place in my heart. Thanks for showing me all the cool things that they used to make the games I love!

  • @somefreshbread
    @somefreshbread 7 ปีที่แล้ว +1

    So excited to see this pop up. I was worried you wouldn't continue the series!

  • @adesignersperspective
    @adesignersperspective 7 ปีที่แล้ว +8

    one thing i've always wondered is how the neon night riders stage in TMNT4 manages to have what appears to be two parallax scaling and rotating mode 7 layers on top of each other, even though nintendo themselves claimed that this was impossible on the SNES and used that as the excuse for why we didn't get it in f-zero til the later GBA f-zero games.

    • @MaxwelThuThu
      @MaxwelThuThu 7 ปีที่แล้ว +1

      Lars Amble Uh? But there is nothing that do mode 7 besides the track on this level.
      If you are talking about the enemies, they are just scalling animation frame by frame.

    • @MaxwelThuThu
      @MaxwelThuThu 7 ปีที่แล้ว +5

      Oh i get it! You are talking about the texture out of the road that seems to move differently, right?
      This is pure tile and color animation.

    • @adesignersperspective
      @adesignersperspective 7 ปีที่แล้ว +4

      yeah, it appears as though there's the road you're traveling on and then the ground far below and beneath it scaling and rotating independently on another level than the road itself - basically what f-zero was supposed to look like since the tracks there were supposed to be elevated there too, but nintendo claimed they couldn't pull off two independently scaling and rotating layers. i've always felt like i'm the only one who's ever noticed this in TNMT4. heh

  • @gabatrio3603
    @gabatrio3603 7 ปีที่แล้ว +3

    So happy this was finally released!!

  • @JLoon824
    @JLoon824 5 ปีที่แล้ว

    Ah, taking me back to my diff. eq. and linear algebra days in college. Thanks for this refresher and nice, practical application of those concepts.

  • @beefknuckles
    @beefknuckles 5 ปีที่แล้ว

    Awesome explanation. I don't really understand math that well but the visuals were so clean that I got it! Very amazing tech they were making due with back in the day. Great series!!

  • @ChaunceyGardener
    @ChaunceyGardener 7 ปีที่แล้ว +79

    All this math is why you don't have Pilotwings fan games.

    • @Humbird00
      @Humbird00 7 ปีที่แล้ว +14

      Fans have already re-created the mode-7 effect for RPG Maker games. Don't underestimate them.

    • @renakunisaki
      @renakunisaki 7 ปีที่แล้ว +8

      Pilotwings also uses an extra chip.

    • @haniyasu8236
      @haniyasu8236 7 ปีที่แล้ว +20

      This is all introduction level stuff compared to 3D graphics. At that point, literally everything is just a flood of linear algebra.
      (Though, tbh, though it looks really bad at first, it's not actually that bad. When you try to track all the numbers individually, it can get crazy to think about, but there's actually a fair number of nice patterns involved in much of the math in computer graphics and once you get the hang of them it isn't actually that bad.)

    • @JoaoBapt
      @JoaoBapt 7 ปีที่แล้ว

      Humbird00 Unfortunately older RPG Makers didn’t have hardware acceleration for graphics. I bet the sky would be the limit if we managed to leverage the graphics hardware in it.

  • @georgehenson2412
    @georgehenson2412 7 ปีที่แล้ว +19

    I really hope you didn't actualyl hand-do all that rotation and stretchign stuff in the second window. What do you edit these vids with anyhow?

    • @RGMechEx
      @RGMechEx  7 ปีที่แล้ว +32

      I use After Effects. And don't worry, automated most of it with scripts--I just have to input the parameters themselves, and it will draw it correctly for me!

    • @RobertPenner
      @RobertPenner 6 ปีที่แล้ว +3

      Brilliant, and might I ask what type of easing you use? It's fairly pronounced (definitely more dramatic than quadratic).

  • @Lunarri
    @Lunarri 7 ปีที่แล้ว

    I don’t understand half of what you say in your videos, but I still love them. Keep up the great work, dude!

  • @xander0479
    @xander0479 7 ปีที่แล้ว

    Even though I don't understand half the things you talk about, it's really well put and you keep it interesting. Another good video, dude :)

  • @DaVince21
    @DaVince21 7 ปีที่แล้ว

    YESSSSS. I've been waiting for a new video from you! And it's about one of the topics that has been more intriguing to me on the SNES!

  • @JB52520
    @JB52520 6 ปีที่แล้ว +1

    8:42 - It shouldn't be necessary to do the linear algebra for every pixel on the screen. By calculating the points at the start and end of a scanline and using Bresenham's line algorithm in between, you would need very little calculation to find where to look up each pixel. All of it would be integer, with no multiplication or division.

  • @t3hp0larbear
    @t3hp0larbear 5 ปีที่แล้ว

    I've been tinkering with Adobe Animate and the CreateJS libraries at work lately. I'd been struggling to understand the concept of a transformation matrix for the longest time (since you can use them in CJS) and this really helped.
    Totally didn't expect to learn something useful to my everyday life from this video.

    • @ShadowriverUB
      @ShadowriverUB 3 ปีที่แล้ว

      Wikipedia have nice explanation too with matrix formulas

  • @quadro128
    @quadro128 7 ปีที่แล้ว +1

    Great video and amazing visuals!

  • @KnakuanaRka
    @KnakuanaRka 6 ปีที่แล้ว +1

    Also, just want to add something in I’ve heard of: The usage of Mode 7 during SMW’s final boss is why much of the HUD disappears, due to the mode’s background restrictions or something like that. That’s inspired certain other games to use the disappearance of the UI as something shocking, to make you focus on what’s happening rather than game elements; see TvTropes’ “Dramatic Disappearing Display”.

  • @interactii
    @interactii 7 ปีที่แล้ว

    Excellent work on these. Very well done.

  • @xotmatrix
    @xotmatrix 7 ปีที่แล้ว

    Wonderfully clear handling of a difficult subject.

  • @dimsas26
    @dimsas26 7 ปีที่แล้ว

    No dislikes so far (10 hours after upload), I'm definitely impressed. Great video as always, love the way you present the information.

  • @celticraider5482
    @celticraider5482 4 ปีที่แล้ว

    I love the SNES, but now I love it even more.
    And you tricked me into watching linear algebra.
    And apparently Bowser is a background element.

  • @mbe102
    @mbe102 7 ปีที่แล้ว

    Man, this is the best one yet! Thanks for all your hard work and thorough explanation!

  • @ifrit05
    @ifrit05 7 ปีที่แล้ว

    Huh, never realized that the CT intro was a background... Well I guess I makes sense! Thanks for the upload keep em coming!!!!

  • @mglmouser
    @mglmouser 3 ปีที่แล้ว

    Wow. Excellent explanation and visualisation. Kudos.

  • @Rationalific
    @Rationalific 2 ปีที่แล้ว +3

    Engineer 1: "It's so hard trying to set up Mode 7! I just can't get the math right..."
    Engineer 2: "Yo, why not?"
    Engineer 1: "Of course! You're brilliant!"

    • @UChS4Dq15wHu8vkvWsaLzvPg
      @UChS4Dq15wHu8vkvWsaLzvPg 2 ปีที่แล้ว

      y-not?

    • @Rationalific
      @Rationalific 2 ปีที่แล้ว

      ​@@UChS4Dq15wHu8vkvWsaLzvPg It was four months ago that I made my comment, but I think it was a joke based on, for example, after 12:57, where Yo (Y, subscript zero), with the zero subscript pronounced as "nought", thus Y-naught. Hence, "Yo, why not?" Maybe not the most comprehensible joke...

    • @UChS4Dq15wHu8vkvWsaLzvPg
      @UChS4Dq15wHu8vkvWsaLzvPg 2 ปีที่แล้ว

      @@Rationalific I understood it lol

  • @AntneeUK
    @AntneeUK 7 ปีที่แล้ว

    It's about time! 😁 I've been waiting for this video. Looking forward to the rest

  • @johneysupergd7796
    @johneysupergd7796 7 ปีที่แล้ว

    The last part was the best part, as it was more clearer to see how & what’s going on,i wish you also showed one of those koopa kids once they get defeated because they will then rotate.
    Also it would be cool if you could explain how some games do use sprite scaling VIA SOFTWARE rather then added hardware.
    But either way thanks for uploading this.

  • @nthgth
    @nthgth 5 ปีที่แล้ว

    Nothing I can say that hasn't been said, but I'll still say thank you so much for making these videos, they're so damn good!

  • @matthieumichon8400
    @matthieumichon8400 6 ปีที่แล้ว

    Thanks for the time and effort you put into producing these amazing videos!

  • @No0dz
    @No0dz 7 ปีที่แล้ว +1

    The intuitive way you explain algebra reminds me of 3blue1brown videos. I actually think 3blue1brown would love to see this as a direct application of linear algebra

  • @Vee_Sheep
    @Vee_Sheep 3 ปีที่แล้ว

    the Chrono Trigger pendulum was pretty mind-blowing, and i will never unsee it
    really good stuff

  • @renakunisaki
    @renakunisaki 7 ปีที่แล้ว +29

    Look at all this matrix multiplication and trigonometry and hex. And I still understand it. Are you a wizard?

  • @KokoRicky
    @KokoRicky 3 ปีที่แล้ว +1

    Ah, affine transformations! That explains the signature sort-of-in-perspective nature of the 3D effect!

  • @mrdoognoog
    @mrdoognoog 7 ปีที่แล้ว +6

    What about the SuperFX chip 1 and 2? How would they fall into any of this?

    • @ZILtoid1991
      @ZILtoid1991 7 ปีที่แล้ว +4

      The SuperFX is a RISC processor and a chunky to planar converter, it's mainly used to render poligons into the VRAM. Technically you could get the same effect by using a fast microcontroller that's capable of doing the same thing, but for conversion you would need to develop your own hardware, which would perfectly fit onto even a CPLD (or just use the extra juice in a modern MCU to do the same).

    • @AschKris
      @AschKris 7 ปีที่แล้ว +2

      So basically, it is like a video card for the SNES?

    • @ZILtoid1991
      @ZILtoid1991 7 ปีที่แล้ว +3

      Does a similar function indeed. It renders graphics similarly to how the CPUs in MS-DOS machines were used, and technically can be used for other functions, and is fully programmable. Were used for 2D graphics too if I remember correctly, might have been some other enhancement processor instead.

    • @Humbird00
      @Humbird00 7 ปีที่แล้ว +5

      The Super FX 2 did get used for the 2D graphics in Yoshi's Island since that game made use of matrix transformations like rotation, stretching, and scaling, and it allowed these to be done to sprites instead of just the background layer.
      As I understand it, the SuperFX chips mostly gave the SNES a massive boost to trigonometry calculations such as matrix calculations, along with some convenient compositing features, and possibly some other stuff.

    • @josephbrandenburg4373
      @josephbrandenburg4373 7 ปีที่แล้ว

      Humbird00 I think Yoshi's island also had larger, more detailed sprites than other games.

  • @pmcKANE
    @pmcKANE 6 ปีที่แล้ว

    Lots of skill on show in the creation of this video. Love it.

  • @basitox6300
    @basitox6300 6 ปีที่แล้ว

    Wow great video! I've been looking forward to this for months!!!

  • @curtmack
    @curtmack 7 ปีที่แล้ว +8

    Are you going to do a video explaining the glitched 1-UP sound you use for your intro? I've heard of the glitch before, but I've always wondered how it works.

    • @XaneMyers
      @XaneMyers 7 ปีที่แล้ว +5

      I think I recall it being two different sound effects writing to the same address, causing it to load the mushroom sound in reverse followed by the 1UP sound, or something.

    • @DaVince21
      @DaVince21 7 ปีที่แล้ว +1

      Is there a video or article about this? It's the first I've even heard of this.

    • @codetato
      @codetato 5 ปีที่แล้ว +3

      If you haven’t seen it yet, he uploaded a video on it yesterday.

  • @MissNorington
    @MissNorington 6 ปีที่แล้ว

    One of the best visual presentations of affine transformations I have seen so far! As usual, both with SNES and GBA, scaling the map makes it smaller instead of bigger, which is an inverse affine transformation (very expensive to calculate). And it is quite expensive to scale using (1.0 / scale) on both hardware platforms. I had hoped you would bring that up in the video, and how some games get around this. Ah well...

  • @MadamLava094
    @MadamLava094 4 ปีที่แล้ว

    I find it funny how for older consoles, their highest end/most interesting features are only known by their technical names, and usually didnt get directly promoted. It gives them a unique charm, since their names are so authentic

  • @moth.monster
    @moth.monster 7 ปีที่แล้ว +16

    Glad i'm taking trigonometry so i can understand this

    • @WM_46
      @WM_46 6 ปีที่แล้ว +1

      Just wait until you get to college and take linear algebra / linear systems.

    • @Gambit771
      @Gambit771 6 ปีที่แล้ว +3

      erica wait til its 20 years after you've left higher education and never used the maths you've learned and then try to keep up.

  • @MrBillgonzo
    @MrBillgonzo 7 ปีที่แล้ว +4

    Awesome video. I love this series! I want to know how split screen was done in Mario cart!

    • @MrBillgonzo
      @MrBillgonzo 7 ปีที่แล้ว

      Second-Generation Tuxedon
      Thanks for the reply! I kinda understand what you're saying! Can't wait for your video on HDMA!
      Edit: so could 4 player split screen be theoretically possible, but be limited by the CPU?

    • @drewsebastino2889
      @drewsebastino2889 7 ปีที่แล้ว +2

      Chris Kurz If I'm not mistaken, every line you'd want to rewrite any of the Mode 7 parameters, the CPU would be spending 100% of its time waiting for when to write (when the video hardware reaches a certain horizontal position). Full screen 4 player would leave only vblank, which you'd spend updloading tile data, so you'd have absolutely no CPU time. I wonder if you could get by with a coprocessor doing all the game logic though.

    • @thestripedmenace
      @thestripedmenace 6 ปีที่แล้ว

      Drew Sebastino The SNES already has a few co-proccessor chips built for it (CX-4, SA-1, the SuperFX family, not to mention the fan-built one used in the SD2SNES flashcart), so if someone were to convert Mario Kart's Mode7 code to one of those chips, 4-player splitscreen on the game would be possible :) You'd just have to code support for the Multitap as well, but I think that's pretty easy!

    • @drewsebastino2889
      @drewsebastino2889 6 ปีที่แล้ว

      Zillion Taborda The SA-1 is actually just an overclocked SNES processor if I'm not mistaken, so that could be used. Converting SMK to be 4 player would be far from trivial though. A lot of the code will run natively on the SA-1, but you still need to modify the code to use a coprocessor. Then, you'd need to modify the game logic for using 4 viewports, with each one being only half the width of the normal game. (Of course, there's the CPU side writing to the Mode 7 registers.) Making the game use a multitap shouldn't be difficult though.

    • @P7777-u7r
      @P7777-u7r 5 ปีที่แล้ว

      @@drewsebastino2889
      Cant you add another coprocessor on game carts themselves?
      I think SMB3 did this and thats why it has such good graphics for a NES game

  • @boaromayo
    @boaromayo 7 หลายเดือนก่อน

    16:24 The splash screen of Chrono Trigger, for me, was the perfect example of motion control in action

  • @SudaNIm103
    @SudaNIm103 7 ปีที่แล้ว

    Love this series and the level of detail

  • @elveninsanity2602
    @elveninsanity2602 7 ปีที่แล้ว +6

    Damn, you could make your own SNES game with these skills and knowledge!
    Umm... need a designer?

  • @CaptainCafe
    @CaptainCafe 7 ปีที่แล้ว

    Thanks for making this! So smart

  • @linebyline7270
    @linebyline7270 5 ปีที่แล้ว +1

    Good to see there's no shortage of X-Naut and Wynaut jokes in the comments. Makes me wonder if X nought and Y nought were the inspirations behind those names. (Woudln't be unheard of from Nintendo. After all, the hexadecimal color code #00CC00 got a nod in Twilight Princess.)

  • @NeoAF10
    @NeoAF10 6 ปีที่แล้ว

    Wow! this is very cool stuff. Great way of explaining it.

  • @jamesesw
    @jamesesw 7 ปีที่แล้ว +1

    Great video. At the end I would have loved to see a couple more examples, like F-Zero.

    • @RGMechEx
      @RGMechEx  7 ปีที่แล้ว +5

      Perspective effects like in F-Zero use HDMA in combination with mode 7, which will be covered in part 7.

  • @BaddMatt
    @BaddMatt 7 ปีที่แล้ว +14

    Very neat video of Mode 7! But one aspect you did not cover was how stage 4-3 of Super Castlevania 4 happens. The one with the rotating tunnel you walk through. Where the top and bottom are stretched out but the center is more squished. Based on our examples, I cannot figure out how to equate this unless there are more equations of Mode 7 that just did not get covered in this video.
    Other than that, GREAT JOB!

    • @RGMechEx
      @RGMechEx  7 ปีที่แล้ว +28

      Most mode 7 effects also use HDMA to create non-linear transformations. I only showed pure mode 7 effects in this video, since HDMA will be introduced in part 7.

    • @BaddMatt
      @BaddMatt 7 ปีที่แล้ว +1

      Awesome! Can't wait!

    • @electronash
      @electronash 7 ปีที่แล้ว +1

      BaddMatt
      HDMA basically lets you write to a small group of PPU registers before each horizontal line of pixels is drawn.
      If you change say the Hscroll stuff, using a table of different values, you can imagine skewing the original image.
      Or, combine line scrolling and stretching, to draw things like roads that appear to have perspective, and bend around the corners. ;)
      (probably not exactly how it works, but you get the idea. lol)
      A lot of effects are done that way, and many of them don't even use Mode 7 specifically.
      Can't wait for the next vid, and I'll have to watch this a few times just to absorb it. :p

    • @electronash
      @electronash 7 ปีที่แล้ว +1

      Retro Game Mechanics Explained
      I was working on a SNES FPGA core last year, and managed to get most of CPU, and basic DMA stuff working.
      I then hooked up the trusty DE1 dev board to a real SNES motherboard (with its CPU and WRAM removed), so I could send commands to the PPU and APU.
      It worked well enough to actually run Super Mario World, and play through a few levels, but it wasn't very reliable, due to marginal timings between the boards...
      drive.google.com/file/d/0B1grqFdAErsraThVS0tRSkhtSjA/view?usp=drivesdk

    • @Humbird00
      @Humbird00 7 ปีที่แล้ว +3

      Yeah, I recently learned that all those old racing games were actually using a line-scrolling trick to create their twisting "3D" roads. The actual 3D is just a pre-drawn image and the line-scrolling just pushes different parts of the image left or right. It's actually astoundingly simple once you realize what's going on.
      Now... when they add "vertical hills" on the other hand... I have a little trouble fully grasping how that's done. But I guess it's a matter of shifting some of the pixels of the pre-drawn image up or down. The trick seems to be figuring out which line of pixels to shift upward, and when to do it.

  • @jonmayer
    @jonmayer 7 ปีที่แล้ว +7

    Y∅ - I keep hearing and thinking "why not"

  • @jackuno
    @jackuno 6 ปีที่แล้ว

    Production quality is awesome

  • @PixelProphecy
    @PixelProphecy 5 ปีที่แล้ว

    I think for the first time in my life, I understood that kind of algebra, even matrices made sense (kinda)! Thank you so much! Take that, useless maths teacher who told me that I was "as dumb as the night is dark."

  • @Humbird00
    @Humbird00 7 ปีที่แล้ว +7

    The math goes a bit fast, but that's not entirely a problem if one already understands the general concept of Matrix transformations. Seeing the final formulas makes for a handy reference if I wanted to manually implement such a thing.
    Also, your visual representations of each of the transforms was very helpful. I always had a hard time wrapping my head around how matrix skewing worked.
    I might have been more helpful to also manually show each pixel being copied and pasted so that people can see how the output image is formed. Your explanation did not visually make it clear that matrix transforms are applied one pixel at a time.
    And instead of saying "X-nauts and Y-nauts," I prefer to think of the process in terms of input pixels and output pixels, or input coordinates and output coordinates. So as you build the output left-to-right, top-to-bottom, line by line, the matrix transformation determines which pixel you're reading for each of those output pixels.
    I'm looking forward to your next video since I have attempted to re-create a mode-7 style effect before, but I couldn't figure out how to create convincing perspective with line-scrolling. It'll be interesting to see how that's calculated.

  • @nngnnadas
    @nngnnadas 6 ปีที่แล้ว

    it's look like the graph confusingly wasn't always precise. but an excellent video explaining this topic. thank you!

  • @elgentidwell9407
    @elgentidwell9407 4 ปีที่แล้ว

    i might just implement this into my game engine, thanks so much for helping he understand this!