Palette Cycling on the SNES

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

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

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

    Finally found an example of 256-colour cycling in an SNES game. Rare's logo in Donkey Kong Country uses it to animate the grid lines: twitter.com/bbbradsmith/status/1591951973863100416

    • @gizaha
      @gizaha 27 วันที่ผ่านมา

      fun fact i discovered some days ago, in DKC3 intro the bouncing rare logo is NOT mode7. The zooming part is, but the bouncing part is just a sprite.

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

    Worth noting that 3D shaders use lots of techniques similar to palette/gradient cycling to do all sorts of motion effects from static textures.

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

      Yes! I think most commonly we see UV animation, rather than something directly equivalent to a palette. Something that works in the space of the texture, rather than the space of a colour gradient... though for many purposes they'll accomplish very similar things. Of course even one of my demos here is simulating UV animation by using a palette as a 16x16 texture. There was some capability of modern GPUs to do actual palettes, but I haven't ever seen it get widespread use, and I think these days it might be easier to "reinvent the wheel" in a shader program, so to speak, than try to deal with the obtuse hardware requirements.

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

      @@Sakanakao Yeah, there are some excellent videos about hearthstone card animations being done with UV animation with gradients ( th-cam.com/video/OYjMnMZe1Vg/w-d-xo.html ). However, I've done things like use a clamp on a gradient to create a ripple or gradient cycling to produce wave ripples on a static noise texture.

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

      @@soviut303 The example in there of using a separate texture as a UV lookup texture is getting really close to the function of palettes.

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

      @@Sakanakao Indeed. I've also done gradient mapping onto monochrome textures where the gradient can be offset and loops around. By plugging a "time node" into the shader input, you can offset the gradient over time; exactly like the palette cycling.

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

      I've used a shader to draw Genesis tiles directly for a few of my videos, which essentially made it use palette lookups, so it's very possible to go the whole way.

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

    I've always found it amazing when artists circumvent technical limitations with such clever ideas. The results are nothing short of elegant and impressive. Thank you for sharing your thoughts, knowledge and code with us!

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

    4:22 the time of day color temperature adjustment bar is so cool to see change on the fly at real time!!

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

      @@inceptionalIt would be amazing to see something like this for an RPG with a day & night cycle.

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

      @@theblah12 I totally hear you on that. :)

    • @shinyhappyrem8728
      @shinyhappyrem8728 2 หลายเดือนก่อน

      @@theblah12: Secret of Mana 2 has a night-and-day cycle. IIRC you can use e.g. Mesen to see the palette.

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

    I went into my local Asian hair salon and restaurant and they have some paintings like this with some type of special effects lighting background, only its analogue.

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

    Great video! The first game that comes to mind when talking about palette cycling is Yoshi's Island, in the waterfall (of cource) cave background.

  • @gizaha
    @gizaha 27 วันที่ผ่านมา

    18:34 just impressive, i've never thought of that. I watched the palette window and thought it was vram cycling and the whole thing was done by hdma with mode 7.

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

    It's just mind-boggling to me how someone can do this! Amazing!

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

    That fake texture map effect looks fantastic, great job!

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

    haha I spent so much time starring at Acid Warp as a teenager

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

    thanks for the video and demonstration, earthbound uses some palette cycling for some of its battle backgrounds right? they were similar to some of the "acid" examples... a lost art indeed, such a clever one at that

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

      Earthbound does do it! Though it uses 16-colour modes, so the colour effect is a little bit more granular/simpler than what we can get with 256.

    • @shinyhappyrem8728
      @shinyhappyrem8728 2 หลายเดือนก่อน

      Sonic uses it for animating its water

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

    this video is so fascinating, thank you!!

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

    Awesome, thanks Brad!
    I don't think I've seen any other uses for palette cycling on the SNES other than for waterfalls... So I wonder what else one could to that would be useful in a game. I mean, you could probably highlight something in the screen (a door, a sign like the one you showed, an item...) Maybe the sky for different times of day like in the first demo... But yeah, I don't know what else.

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

      Well, I think it would take a creative and technical mind to come up with good uses. Waterfalls might be the most common. Living Worlds does things besides flowing water, e.g. rippling fire, wiggling fish, falling snow, shifting clouds.

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

      @@inceptional That logo animation is absolutely fantastic. I had seen something kind of similar but with text, as the developer wanted to reserve fewer tiles for text and use more for other graphics, I think it was. But yeah, that was not anywhere near as clever as that Sega logo animation.
      It seems to really depend on what kind of game you're making, and if you're willing to sacrifice colors for animation frames. I was thinking more of animations during gameplay moments rather than just for cutscenes and such, but I think most of your examples may be applicable for those moments. Thanks!

    • @miriamalmeida6687
      @miriamalmeida6687 ปีที่แล้ว

      Trial of mana .❤

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

    Rom download please of all the cool nature screens.

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

    6,9 thousand subs nice

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

    I want to use it in my genesis game

  • @inceptional
    @inceptional 6 หลายเดือนก่อน

    So, given the examples above, I presume that unlike with the sprites on SNES, you're actually able to use basically as much of the VRAM as you like for background tiles [minus any space needed for tile maps and such], which is how you're able to get a full screen of potentially unique 8bpp tiles here, yes?

    • @Sakanakao
      @Sakanakao  6 หลายเดือนก่อน

      The sprites have access to only 512 unique tiles at a time, but with a raster split in the middle, you could still cover the whole screen in unique sprite tiles if you wanted.

    • @inceptional
      @inceptional 6 หลายเดือนก่อน

      @@Sakanakao OK.
      And how about with the background tiles?

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

    Have you thought of making a snes game with these techniques?

    • @inceptional
      @inceptional 4 หลายเดือนก่อน

      That's kind of the thing isn't it. Has anyone. It seems not, because I have certainly haven't seen it, which is a real shame. Because, as far as I am aware of how the system works, you could actually use one of these gorgeous fully animated scenes in the background of a fully playable SNES game, even have it scrolling past and updating the scene as it goes to show a much longer image across a level, and also have a simple foreground layer plus all the sprites and other regular stuff on top of that for basically a full 60fps SNES platform/action game or whatever with these absolutely stunning 8bpp 256-colour animated backgrounds. I've posted a couple of examples on my own channel of how an 8bpp 256-colour background might look in such a game, all sticking within the limitations of the SNES, and it could blow people's minds if someone released a game like that in modern times. And my example doesn't even use the palette cycling to animate the background image in anyway, so just imagine if it did. No one has seen anything like that on SNES.

  • @johneygd
    @johneygd 2 หลายเดือนก่อน

    Amezing😁

  • @inceptional
    @inceptional 4 หลายเดือนก่อน

    Hey, can I ask, with this demo and the images based on Mark Ferrari's work, is the speed to you skip through the images, which seems to be almost instantaneous, actually how fast this would be on a real SNES?
    Or is the emulator doing part of the heavy lifting there and that's what's allowing the rapid skipping through of the images, and if so, how quickly could you realistically skip through them on an actual SNES?

    • @Sakanakao
      @Sakanakao  4 หลายเดือนก่อน +2

      The emulator's not doing anything special. You can try the ROM on your SNES to verify. Uncompressed images don't take much time to copy out of the ROM. If the data was compressed it might take a second or two instead.

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

    First