How transparency effects were achieved on the SNES | White_Pointer Gaming

Поділитися
Вставка
  • Опубліковано 28 лип 2024
  • One of the unique features of the Super Nintendo that set it apart from its competition at the time was its ability to create transparency effects. So how exactly did they work?
    0:00 Intro
    0:19 Overview of background modes
    3:14 Two screens and colour maths
    7:10 High resolution and pseudo high resolution
    10:01 Sprite transparency and colour palettes
    12:15 Outro
    Further resources if you are interested:
    snes.nesdev.org/wiki/Sprites
    wiki.superfamicom.org/palettes
    wiki.superfamicom.org/transpa...
    nesdoug.com/2020/06/16/color-...
    megacatstudios.com/blogs/retr...
    • Color Math - Super Nin...
    • Graphics & Palettes - ...
    • SNES Background Modes ...
    Purchase my book "Secrets of Video Game Consoles" directly from the publisher here: www.pen-and-sword.co.uk/Secre...
    Also available as an ebook!
    Some other links:
    www.barnesandnoble.com/w/secr...
    www.booksamillion.com/p/Secre...
    www.angusrobertson.com.au/boo...
    www.booktopia.com.au/secrets-...
    www.chapters.indigo.ca/en-ca/...
    www.amazon.com/Secrets-Video-...
    Or check out your favourite book store, hopefully they have it in stock!
  • Ігри

КОМЕНТАРІ • 53

  • @WhitePointerGaming
    @WhitePointerGaming  6 місяців тому +4

    How many of you knew that Little Mac in Super Punch-Out!! (4:32) was actually a background? :)

    • @inceptional
      @inceptional 2 місяці тому +1

      Yeah, I only learnt this in the last couple of years after seeing a video of how it was done on NES and then looking up how it was then done on SNES too.

  • @johncoulter7006
    @johncoulter7006 2 дні тому

    I expected color averaging, I did not expect addition and subtractive abilities. Super cool!

  • @Corpsecrank
    @Corpsecrank 5 місяців тому +9

    I think the snes has some of the most technically strange choices but they just worked so well.

    • @shinyhappyrem8728
      @shinyhappyrem8728 4 місяці тому +4

      The "strange choices" were there because of the hard limits on how much data could be loaded and processed while the TV's electron beam is racing at ~45 km/h over the screen. The SNES master clock is 5 * 7 * 9 / 88 * 6 = 21.47{72} MHz, and the picture processing units were clocked at 1/4 of that, 5.3693{18} MHz. The SNES loads a few tiles in advance, 16 bits per cycle. For example Mode 1, which has two 16-color backgrounds and one 4-color background, loads like this:
      - 1 * 16 bits for the BG3 tilemap entry (tile attributes)
      - 1 * 16 bits for the BG2 tilemap entry (tile attributes)
      - 1 * 16 bits for the BG1 tilemap entry (tile attributes)
      - 1 * 16 bits for the BG3 tile sliver (8 pixels), bitplanes 0..1
      - 1 * 16 bits for the BG2 tile sliver (8 pixels), bitplanes 0..1
      - 1 * 16 bits for the BG2 tile sliver (8 pixels), bitplanes 2..3
      - 1 * 16 bits for the BG1 tile sliver (8 pixels), bitplanes 0..1
      - 1 * 16 bits for the BG1 tile sliver (8 pixels), bitplanes 2..3
      The other background modes are similar, just with more/less layers with less/more colors per layer. It never exceeds 8 memory accesses per tile - there is simply no time for more. Then it optionally combines the loaded bits in various creative ways, for example Offset-per-Tile and DirectColor.

  • @inceptional
    @inceptional 5 місяців тому +2

    Some very nice exampls and details there.

  • @AltimaNEO
    @AltimaNEO Місяць тому +2

    Explains why early SNES emulation struggled with transparency effects.

    • @soundspark
      @soundspark День тому

      They struggled the most on DOS-based emulators running in 256 color mode; there was no headroom for these effects.

    • @soundspark
      @soundspark День тому

      In addition even 16 bit color mode had some overhead since the 555 pixels had to be extended to the 565 color palette of the PC SVGA/VESA standard.

  • @inceptional
    @inceptional 2 місяці тому +1

    1:43 Just want to point out something here with the colours mentioned per layer, as it does something I see often and unintentionally makes it seem like the number mentioned is how many colours each layer can display rather than each tile. For example, in Mode 0 each layer is limited to 3 visible colours per tile but actually 24 visible colours total per layer and an overall total of 96 visible colours for all layers on-screen. And I think understanding it like that paints quite a different picture.
    It's just a pet peeve of mine, as I think people have greatly underestimated what is possible in Mode 0 for a long time due to a misunderstanding of its actual limitations and indeed full capabilities there, which is because most of the resources online are unfortunately a little confusing.
    You can see an example of just what's possible with the backgrounds in Mode 0 on my own UA-cam channel in my video called "SNES Mode 0 [zero sprites used] Test". I think there's a whole lot of mostly untapped potential there.
    And the colours you mention above for the background modes are per tile in all cases similarly. The background colours are almost always separate from the sprites too, which have an additional 128 colours entirely of their own, and can use 15 visible colours per tile there. You can also still use standard effects like colour math (transparency), row/line/column scrolling, mosaicing, window/colour masks, interlacing, HDMA, etc, in most modes too.
    Also, although it is true that the 512x448i high res mode on SNES was almost never used, I think it's also still very much true and fair for anyone to say that it is entirely capable of running proper full games in that mode, and ones with far superior colour to that seen in RPM Racing (close to full colour really), as the upcoming indie project Rex Nobilis by Kulor very effectively demonstrates. It's just a shame that very few developers indeed have ever fully exploited what this mode is actually capable of even to this day.

    • @WhitePointerGaming
      @WhitePointerGaming  2 місяці тому +1

      I do actually have a note there in the top right of the screen to say that the colours are per tile :)

    • @inceptional
      @inceptional 2 місяці тому

      @@WhitePointerGaming LOL Okay, that one is totally on me there. Haha. My bad. Apologies.

    • @WhitePointerGaming
      @WhitePointerGaming  2 місяці тому +1

      No worries, maybe I should have made it more noticeable. You still raise some good points!

    • @inceptional
      @inceptional 2 місяці тому

      @@WhitePointerGaming As do you, my good sir.

  • @emailchrismoll
    @emailchrismoll 5 місяців тому +2

    this was the only system of the era that could do this...i never even saw this on arcade machines like the cps1 or neo geo

    • @WhitePointerGaming
      @WhitePointerGaming  5 місяців тому +1

      Yeah, it was certainly unique to the SNES at the time. I believe the Killer Instinct arcade board could do it, as there are a few transparency effects in those 2 games, but that was obviously a few years after the SNES launched. Some of Sega's later Super Scaler boards might have been able to do it to some extent but not 100% sure. It is ironic that despite all of the power the NeoGeo had, it couldn't do these kinds of transparency effects.

    • @demgreens
      @demgreens 5 місяців тому +3

      Argus by NMK/Jaleco released on early 1986 and it had such effects on sprites.
      The X68000 from 1987 supported translucency effects, although they were less robust than the SNES'.
      The Genesis/Mega Drive has a debug register with a partial implementation of translucency, it can be seen in a few demos.
      Sega's System 32 board which also debuted in 1990 had transparency effects. And it was obviously far more powerful than the SNES.

  • @thedrunkmonkshow
    @thedrunkmonkshow 2 місяці тому +1

    It's interesting and ironic how Nintendo seems to now have this perception as a company who makes weaker hardware compared to the competition but that's definitely a fairly recent phenomenon. Even if you go back as far as the NES people forget that it's Famicom technology was conceived in late 1981 or early 1982 and was supposed to come out I think in late 82 but due to hardware bugs they pushed it back to July 1983. Most systems both computer and console used primitive hardware by comparison with a max of between 8 and 16 colors on screen with single color sprites that were often layered to fake having more colors. The NES could do 25 colors on screen and featured horizontal hardware scrolling which was advanced for the time. Same thing with the Super Famicom, that technology was pieced together 1987 and it's prototype was publicly shown in Japan in 1988 despite it's 1990 Japan and 1991 US release. I digress, but overall just the base SNES even without enhancement chips was remarkable compared to it's contemporaries.

    • @WhitePointerGaming
      @WhitePointerGaming  2 місяці тому +1

      Yeah, the NES, SNES, N64 and GC were all significant advancements in technology at the time (it's often misunderstood just how powerful the GC was). While Nintendo has always tried to innovate and introduce new ways of playing, the philosophy of not trying to compete directly on raw power only really started with the Wii. Mind you, that was almost 20 years ago now!

    • @thedrunkmonkshow
      @thedrunkmonkshow 2 місяці тому

      @@WhitePointerGaming Yeah for a long time people just assumed the original Xbox was better graphically since it more easily did higher resolution and had the faster Pentium III clock speed to rely on, which to be honest even I fell for the hype for a time, but in reality it's not true. The ATI flipper could pump out nearly 10 Gflops along with it's custom TEU or Texture Environment Unit while the nVidia GPU in the Xbox was just above 7Gflops. It's impossible to know or simulate a comparison but I now question if the Xbox could pull of the fidelity of certain breakout GC titles like Metroid Prime, Rogue Squadron 2, and Resident Evil 4? I know Spiderman The Movie performed slightly better with frame rates on Xbox but again I chalk that up to CPU horsepower more than anything.

  • @VOAN
    @VOAN 5 місяців тому +1

    Man even the GBA couldn't handle most of these tricks, I play Donkey Kong Country on the GBA and even though it had more contents than the Super NES version, it does lose a lot of the effects that the Super NES was able to pull off. The second level in DKC is a clear example of that, the rain and storm effects looks and sound realistic in the Super NES original but on GBA it produce the rain just fine but the storm effects is gone making the level felt unnatural.

  • @MaxOakland
    @MaxOakland 29 днів тому

    This was super interesting

  • @Disthron
    @Disthron 5 місяців тому +3

    it annoys me that most emulators don't take the blending a CRT did into account. It makes the games looks so much worse than what they are supposed too.

    • @WhitePointerGaming
      @WhitePointerGaming  5 місяців тому +1

      It's a difficult thing to emulate accurately.

    • @todesziege
      @todesziege 4 місяці тому +1

      By not taking the screen into account, or even worse by trying to 'improve' the picture, emulators frequently make games look a lot worse than they should. It affects everything from colors, to sharpness and blending.
      Modern official emulated re-releases, like the Contra Collection, suffers from this too.

  • @tangreen7267
    @tangreen7267 5 місяців тому +1

    Your video opened my eyes. I always assumed the Snes used 1 bit Alpha Transparency. Something I used in pygame for my own little games. Very cool video, thanks !

    • @geovani60624
      @geovani60624 4 місяці тому

      that was very advanced computing power at that time, even arcade games did not have transparency in it

    • @shinyhappyrem8728
      @shinyhappyrem8728 4 місяці тому +1

      Correction: in a tile bitmap, palette index 0 is always treated as transparent. That is technically 1-bit (on/off) transparency.
      The color math that SNES games are using is technically 15-bit transparency, since the 15 color bits of a mainscreen pixel (5 bits per RGB channel) are combined with the 15 bits of the corresponding subscreen pixel.
      An example for seamless transparency is in Chrono Trigger's 2300 AD era, when the "'Guardian" boss in Arris Dome is defeated.

    • @tangreen7267
      @tangreen7267 4 місяці тому

      @@shinyhappyrem8728 , awesome. Thanks for update !

  • @MrSamPhoenix
    @MrSamPhoenix 5 місяців тому

    The SNES had some pretty impressive hardware. I’d love to see how it’s CPU compared to the SEGA MegaDrive/Genesis.

    • @WhitePointerGaming
      @WhitePointerGaming  5 місяців тому

      You should like my newest video :) ua-cam.com/video/RwdgaBnd9U0/v-deo.html

  • @jasonblalock4429
    @jasonblalock4429 6 місяців тому +2

    12:37 OK, how was THIS done? Those helicopters certainly seem like they're scaling in Mode 7, but at different rates and moving in different ways... on one background layer?? Another shot of the choppers a few seconds later also has the telltale shimmer of scaling effects, even as they *overlap.* There's some real dark magic here.

    • @WhitePointerGaming
      @WhitePointerGaming  6 місяців тому +4

      The first instance might be using a rare "sub-mode" of mode 7 called EXTBG. Basically it creates an extra layer that is identical to the first (it's more complicated but that's the jist of it). The helicopters are being scaled with mode 7, and 2 helicopters are being created using the EXTBG feature. It wasn't used very often but this is one case where it was. The two layers can't scale or scroll independently though so they are needing to scale and scroll it in such a way that both helicopters appear on screen at once with one slightly behind the other. There's an additional third helicopter that briefly appears on the right of the screen but that's a separate part of the background layer. The other shot at 12:49 doesn't have any scaling going on, the choppers are just sprites that are moving across the screen at slightly different speeds and directions.

    • @inceptional
      @inceptional 5 місяців тому +3

      From what I can see, the ability to display multiple scaling helicopters at once is done here by effectively changing or splitting the background mode part way down the screen using HDMA, although this time just to the same Mode 7 again, which is why the helicopters are separated by their vertical position on the screen. No independently scaling helicopter will ever be on any of the same horizontal scan lines as another while scaling for this reason, unless they're actually just scaling exactly the same as the one across from them, so it's really a larger single image with two helicopters drawn into it that's scaling all at once across that horizontal slice. In principle, you could split the background many times down the screen like this and have many more scaling objects than you see here, just with the limit of one on any horizontal scanline or multiple scaling basically in unison per scanline. If that makes sense.
      It's technically how the they do the two-player split screen Mode 7 levels on Contra III:
      ua-cam.com/video/MCu68aVipcc/v-deo.htmlsi=8bcwQYs-R_7UowpG&t=401
      Or the split screen mode in Street Racer:
      ua-cam.com/video/j18y3sc3fIQ/v-deo.htmlsi=FPd2nnyPuHMyUyXZ&t=52
      Those two examples have a little black bar separating the two views there, but that's for another reason.
      The ending of Rendering Ranger R2 uses a similar effect on the ending scene with the scaling planet and spaceship on-screen at the same time:
      ua-cam.com/video/Tl7D25I6yDc/v-deo.html
      And Turtles in Time does similarly when you see two Turtles scaling and rotating independently as they fall through time also:
      ua-cam.com/video/-JW-9QPKG-g/v-deo.html
      Just imagine there's an invisible horizontal line always separating multiple instances of Mode 7 scaling objects at once, and ever the twain shall meet (unless they are just scaling the same as the ones across from them horizontally like all the particles at the end of Rendering Ranger during the explosion: ua-cam.com/video/Tl7D25I6yDc/v-deo.htmlsi=Oe_97nKrGDXobK-k&t=4382).
      I think this ability to show multiple scaling/rotating objects on-screen is definitely an underused feature of the SNES.
      Note: From what I understand, EXTBG is what allows you to have sprites be either below or on top of different parts of the same single Mode 7 background layer by setting the priority of the background to either high or low on a per tile basis, as you can see when the characters pass under the bridge in Contra III below:
      ua-cam.com/video/MCu68aVipcc/v-deo.htmlsi=2Ialfn4oW42iAAm-&t=353

  • @Dwedit
    @Dwedit 4 місяці тому +2

    Now *why* would you use psuedo-hires mode for 50% transparency when there's already another mode that does 50% blend between main screen and subscreen? Because when you use the 50% blend transparency mode, sprite palettes 5-8 get transparency and sprite palettes 0-3 don't. But when you do 50% transparency by using the psuedo-hires mode, the effect is applied the same way to all sprite palettes.

    • @WhitePointerGaming
      @WhitePointerGaming  4 місяці тому +2

      It also, in theory, frees up the colour maths circuit to apply other transparency effects, but I don't think any games actually took advantage of this.

    • @Dwedit
      @Dwedit 4 місяці тому

      Hi-res mode (psuedo or normal) and color math can't really be used at the same time, because hi-res mode is already drawing both the main screen and subscreen at the same time. But you can still do color math with a fixed color.

    • @shinyhappyrem8728
      @shinyhappyrem8728 4 місяці тому

      @@Dwedit: that might be why Kirby's Dreamland 3 did hi-res mode.

    • @inceptional
      @inceptional 2 місяці тому

      @@Dwedit Can you still use the colour math on the sprites in the high res modes?

  • @Meteotrance
    @Meteotrance 5 місяців тому +1

    again it's not an alpha blending, you have a similar effect on the Saturn it's able to make semi opaque sprite, same thing for the snes it was build in on the hardware on a special mode. thanks for the memo !!!

  • @lioneart19
    @lioneart19 28 днів тому

    What people keep referring to as transparency, should be called translucency, as that would be the correct term.

  • @BurritoKingdom
    @BurritoKingdom Місяць тому

    Is this why the SNES has two PPUs??? I was always wondering what the 2nd PPU was doing.

    • @WhitePointerGaming
      @WhitePointerGaming  Місяць тому +1

      Well, yes, but not in the way you might be thinking. It wasn't the case where PPU-1 controlled the main screen and PPU-2 controlled the subscreen or anything like that. The two PPUs worked together to create these effects. The very simplified explanation is that PPU-1 handled the backgrounds and sprites and PPU-2 handled everything else. It's more complicated than that but the main point is they were always working together.

    • @BurritoKingdom
      @BurritoKingdom Місяць тому

      @@WhitePointerGaming so it wasn't a specific function like other 2 GPU systems??? I wonder how fast the bandwidth is between the 2 PPUs to handle all that communication.

  • @fungo6631
    @fungo6631 4 місяці тому +2

    7:57 OK, now you're just regurgitating info straight from Wikipedia and not even factually correct info. There was NO performance hit on the SNES using the high res modes. This was only a problem with emulators.
    The real problem was that high res graphics took up more space. Even limited colors weren't a problem, as the color palette was very wide. It's why Megadrive and SNES games using 16 color palettes look better than PC EGA games that also use 16 colors. You can choose a color palette with more emphasis on a certain color tint.
    9:15 You don't even need an HDTV. A quality CRT TV with the console connected via SCART could also show that high resolution.

    • @inceptional
      @inceptional 2 місяці тому +1

      To be fair to the video creator, I don't think he's trying to be remotely misleading or lazy or whatever here. It's just that some of the deeper facts around how all this stuff works on SNES are really convoluted and confusing and actually kinda easy to miss unless you really go digging. So, most people don't really understand that the high-res mode on SNES is actually capable of graphics with a level of colours and quality that no normal person just looking at them would have any inkling there was a reduction in the colours per tile in one of the layers vs some of the other modes, because overall it can still show basically the same total amount of colours on-screen and such. Most people just see RPM Racing and think that's how games in that mode can look and play, when in reality games in that mode can look as good as the majority of other normal resolution games and play exactly as brilliantly as the very best SNES games if desired. If only more SNES developers actually bothered to show this then it would all be quite obvious at this point.

    • @fungo6631
      @fungo6631 2 місяці тому +1

      @@inceptional It's not that convoluting. It's as simple as getting a PAL SNES and a PAL TV. Crappier TVs benefit the most from RGB.
      RGB from my DVB-T2 set top box looks almost like PC VGA on a crappy Soundcolor CRT!

    • @inceptional
      @inceptional 2 місяці тому +1

      @@fungo6631 I'm not sure if you thought I was responding in relation to showing real SNES footage or whatever, but I was just talking about the fact that I don't think it's that shocking most people aren't fully aware of the potential of SNES Mode 5 high res and such.

  • @mrnuage
    @mrnuage 3 місяці тому

    You say in the beginning that the SNES can't do real transparency but only simulate it. But what is real transparency then? Isn't it color averaging even in real life? My question is genuine, not like I'd like to correct someone on a subject I don't know.

    • @WhitePointerGaming
      @WhitePointerGaming  3 місяці тому

      "Real" transparency uses an alpha channel as the transparent channel, but the SNES doesn't do this. There's no alpha channel. Mind you, it's as real as it got in that generation, there wasn't anything else that got remotely close to it until the 5th generated started. So for all intents and purposes, in comparison to the competition, you can say it's real, but on a technical level, it's essentially simulated transparency because of the lack of an alpha channel.

    • @mrnuage
      @mrnuage 3 місяці тому

      @@WhitePointerGaming Hmm yeah I get the concept of alpha channel. But in the end, even on modern hardwares, isn't the transparency done internally by averaging the colors between them according to the alpha values?

    • @inceptional
      @inceptional 2 місяці тому +1

      @@mrnuage I think it's one of those things that due to the never-ending fanboy wars people have really started to get obsessed with the exact inner workings and technical definitions of how an effect like this is achieved to use in system arguments versus just what they're seeing on-screen ultimately. They don't ever want to concede a point to the other system, even when one system patently trumps the other in some area, so they turn the debate into some technophile talk to detract from the real point.
      Note: I'm not even remotely suggesting that's what the video creator is doing, as I can tell they're very reasonable and objective about this stuff, and in fact seem like they're probably a fan of the SNES.
      Really though, it's transparency. But, if someone wants to argue otherwise to feel better in some SNES vs Genesis argument, they could technically say it's not "real" transparency. Even though literally no transparency on a simulated computer system is real transparency; they're all just variations of artificial ways of simulating transparency when all is said and done.
      Either way, SNES' version of transparency was dang impressive and visually lovely for its time, and beyond the level you'd be seeing on most other commercial systems on the market at the time too. :)

    • @mrnuage
      @mrnuage 2 місяці тому +1

      @@inceptional The author of the video doesn't seem to be a fanboy at all. He also made another video about genesis tricks. That's the reason I asked here, that's not to prove a point or anything, I was just technically curious.