Castlevania IV 4-3 Tunnel Background - Audiovisual Effects Pt. 02

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ก.ค. 2024
  • After flipping the level upside-down in 4-2, Castlevania IV uses more mode 7 capabilities to create a spinning tunnel to traverse through. But how was this effect pulled off? It's all explained right here.
    LINKS
    Twitter (updates): / retrogamemechex
    Patreon (support): / rgmechex
    Discord (discussion): discord.rgmechex.com
    INLINE LINKS
    All about HDMA: • DMA & HDMA - Super Nin...
    More info on how bit-depth affects graphics: • Backgrounds & Renderin...
    PATRONS
    Thank you to everyone who supports the channel on Patreon!
    Dan Salvato, F. Murmel, Ange Albertini, Avi Drissman, Mike Gerow, Larry Koubiak, Joshua Goyder, Tina Wuest, Xander, Owen Christensen, Gynvael, Alec Johnson, Sijmen Schoon, FFVIMan, Chris Margroff, Brandan Lennox, Nik, Jason Hughes, Diamond Ice, Chris Post, Cypher Signal, Shannon Potter, Rupix, Gabe S, krivx, Walter Huf, Pixy011, David Spalding, Acceleration Shark, David Johnson, Gary Fenstamaker, Rory Kelly, Carl Cassler, Joe Mecca, Michael Greb, Kefen, Nightcap, leftler, Drew Fitzpatrick, Foxchild, Scott Beca, 19day, VaporwaveProtogen, tripper, Nebelwerfer Granitara, Sten, 333Rich333, Glenn hEADcRASH Sugden NPC, Alex Yancey, David Mazarro, Steven, LiraNuna, null, Ryan, Corey Ogburn, Martin Trozell, Scott Harper, Garret Kelly, Jake Hickman, Narskogr, Joel Kuhn, Dan Shedd, Sembiance, 4F Panda, Max Roncace, David, A Sentient JDAM, Brian Henriquez, Travis Nellor, Zach Hugethanks, Buddy, Mikely Whiplash, Yakov, Oxygen Chen, Israel Jacquez, RetroReversing.com, yuriks, Chris Apple, Ceres, Jeremiah, jesugtz, Chris Roy, Chris Connett, Mark, Matthew, sapslaj, Jonathan Scott, Gescheit Gespielt, Xkeeper, Bjoern Hansen, ers35, Daniel Bernard (ReckedCat), Vier Ladair, Bwangry, Jared Johnstone, Phil Clayburn, zephyrin, Kit Spindler, Johnathan Roatch, Jeremy Wright, Brandon, Matt Shepard, Felix Freiberger, Sypwn, William Thomas, Niles Rogoff, Kusabi, Reflet, Yann Le Brech, Paxton Sanders, Eugene Bulkin, Walter Weaver, Gethiox, nexilar, Articate, Julian Meinking, Julien Oster, Braydon Kains, Juniper, buzzert, Steve Losh, Samuel Stoddard, Farrell Hayman, HattyJetty, Paige ? Hex, Yeero, Cruz Godar, Linh Pham, Noah Greenberg, Nick Rogers, Adrian, Emily Christ, Bryce, BinaryCounter, Andrew Yukhymchak, Sean Bryant, John Gabriel, Matthew Holder, BazBadger, Kyle, Wi Lo, & Master Knight DH!
  • เกม

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

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

    Sometimes I think "man, I could program super mario" and then I see one of these videos and remember that they had to do it on basically a graphing calculator.

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

      Yeah, and while we program in visual studio, I imagine their dev environment was about as fancy as notepad.

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

      Definitely more than a graphing calculator, but still not much compared to today's computers. Programming was basically entering a line and hitting enter, as there were no programs at the time that combined an assembler and a word processor.
      To clarify, I mean that you can't just go back to a line of code and edit it. In all the assemblers I've seen, you have to enter a command and the corrected line.

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

      You'd be surprised at the kind of dev environments they had back then in some cases.
      Satoru Iwata notoriously programmed Kirby on the NES entirely using a mouse. Because at the time he didn't know any better.
      That's a funny story in itself, but it raises the question of what kind of development environment existed for NES programming that would allow you to create an antire (and rather complex) game using nothing but a mouse?
      Super Mario Bros meanwhile was largely developed using graph paper, manually writing down code and converting graphics to hex values, then using an editor to manually enter those values into memory and burning it onto a test ROM.
      That's about as tedious as coding gets.
      By the time of the SNES they had better tools that that.
      But given the nature of console development you're probably talking cross-compilers and the like.
      I would think they'd have purpose-built graphical tools, but most of the coding was in assembly language.
      Even so, a suitable assembler running on a PC, or maybe an Amiga or something was likely doing the work of creating a ROM image from the graphics sound and assembly language code files...
      It was primitive back then, but not THAT primitive.
      And you'd be wrong about dedicated assemblers.
      Even systems like the Commodore 64 and Atari microcomputers have Assemblers that have editors included.
      Typically you'd buy it on a cartridge (or floppy disk if you had the money for a floppy drive), and it would include both an editor and the assembler itself. - and since those systems don't really have an operating system to speak of (as we'd currently understand it), the Assembler and editor basically have to be a single integrated thing.
      This kind of environment has existed since the early 80's.
      You could already get IDE-like environments for higher level languages in the 80's too. C on a PC or Amiga...
      That kind of thing.
      Even Turbobasic which you found included in various versions of DOS...
      I've used dev environments like this throughout the 90's.
      Primitive, yes. But it's still an IDE, not just a random text editor with a seperate compiler...

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

      @@KuraIthys After watching this I started looking at the SNES Woflenstein / Noah's Ark source here: github.com/MatthewCallis/NOAH3D
      It's mostly C / assembly, not nearly as bad as I was expecting, but still definitely the Bad Old Days.

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

      @@KuraIthys You said Iwata programmed Kirby on a mouse. Wrong, Iwata had programming experience before even joining Nintendo. You're thinking of Masahiro Sakurai. Holy shit look at all the rest of this. Wrong out the gate, I ain't reading the rest! Caution to anyone believing that wall of text.

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

    The way you're able to illustrate these effects is so remarkable.

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

      70th like

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

    I just realized that emulators have to account for all of this in order to display the image properly on a computer screen, since there is no scanning. Hence they must "emulate" the electron beam drawing the screen one pixel at a time. No wonder some games did not display at all on the early versions of the emulators.

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

      at least emulators don't have to worry [mostly] about the potential the scanning beam gets de-syncronized or is turned-on in a region where it can actually damage the screen.
      i recently made a primitive scanline-based system in javascript, solely to maybe play with some effects. that part is relatively easy, though perhaps counter-intuitive... the hardest part i really found was sampling the correct pixel from the image i wanted to display. it will get worse the more features i add, though. [probably also lose performance, fast...] i did a simple interlacing of a really pointless graphic i made. it's pretty cool. i should actually finish that and throw it on github...lol
      emulating the electron beam is the easy part. hard part is emulating the ppus and other primitive gpus because most of the high-level libraries for graphics don't give you direct control over things like the blend mode. alpha-compositing [not that older systems used that too much, besides 3D ones], for example, you might find yourself re-implementing, or coping the code used in a standard implementation.
      there are still fairly modern emulators or graphics plugins for them that can't render the scanline effects. i can't seem to get them on kawaks [and as-is, arcade emulation is generally PAINFUL...]

    • @sonicphoenix7
      @sonicphoenix7 9 หลายเดือนก่อน

      dont lcd screens scan in the same way as crts anyway

  • @frankiev-tech4630
    @frankiev-tech4630 4 ปีที่แล้ว +63

    and that's why I will always give these programmers so much respect with what they had to work with in the past. Very creative programming. My favorite hands down is the Sega system 16 & 32 super scaler effects.

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

    "oh god yes" -me when i see a new one of these

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

      Whenever I see a new one of these uploaded, I don't need any other porn for the day ^_^

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

      I've got a special bottle of lotion with "Retro Game Mechanics" hand written on it with a Sharpie.

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

    this series is pretty much GameHut's "Coding Secrets" but for SNES rather than Genesis. love it!!

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

      basically that and without being the developer of the game

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

      and without the sucker punch the real focus was to promote/partner/develop a game streaming service for 30+ year old games that actually shouldn't be in copyright anymore [had the laws been left alone, ofc...]

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

    HDMA looks a lot like 1 dimensional fragment shader programming. Really cool stuff.

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

      I believe this is exactly what the mGBA emulator does for its OpenGL hardware rendering mode: The VRAM state of each line is looked up in a fragment shader to determine the transformation for that line

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

      That's one way of looking at it. it's more basic than that though.
      It takes a list of data and shoves it into a set of designated registers...
      It's entirely dependent on what those registers are as to what that would accomplish.
      It's a pretty unusual design feature, honestly.
      But certainly not unique.
      Similar, if differently implemented features can be found on the Apple II GS, the Amiga (perhaps the most capable example, since it can do DMA to arbitrary registers on pixel level timing, limited only by the memory throughput of the system - in effect this means you can write to a register for about every 20 pixels drawn onscreen.)
      And, of course, the grandmother of all of these - The Atari 8 bit microcomputers, with their use of display lists. (Basically the Atari has 56 graphics modes - but rather than these specifying the behaviour of the entire screen, they specify the behaviour of a single line on the screen. And then the display list is a series of instructions as to what graphics mode each line is in, and where it's getting it's data from. For a design from 1979, this is absurdly powerful.)
      Then again, the Atari microcomputers, and complex 2d graphical effects in general, owe a lot to the Atari 2600.
      Because the graphics chip could only draw a single line, not an entire frame. (The system was designed this way primarily to save on RAM, which was extremely expensive in the 70's), to draw any nontrivial image you had to modify the graphics register every scanline as it was being updated.
      The CPU had to do this on the 2600, which didn't leave much time for anything else.
      Many 8 and 16 bit systems borrow programming techniques learnt from working with this system...
      But Atari's 8 bit microcomputers solved one of the primary limitations it imposes (taking up most of the CPU time) by in effect adding a special-purpose secondary CPU with a highly simplified instruction set that automatically handles updating the main graphics chip on every line.
      Given the combination of a core graphics chip that only draws single lines, with a secondary graphics chip that updates the first chip as it's drawing, I guess a display list, and being able to change graphics modes every line, didn't seem like much of a leap.
      HDMA works through rather different means, but the tasks it accomplishes are largely the same.
      Indeed it's fairly common even for very simple uses of mode 7 to have a split mode 1 / mode 7 display onscreen simultaneously. - accomplished through HDMA.
      Which is exactly what the Atari display list accomplished...
      A shader on the other hand, starts to approach the complexity of a full CPU nowadays.
      And then there's mode 7 itself - which in effect is a partial implementation of a texture mapping engine - one working entirely in screen space though.
      (it maps from texture space to screen space, rather than a proper texture mapping unit mapping from texture space to the surface of a polygon...)
      The fact that you can manipulate this on the level of individual scanlines, but not individual columns of the image, is a quirk of how television signals work, and how computers interact with such signals.
      It's always been way easier to manipulate scanlines in realtime than it has been to manipulate things in vertical columns.
      Indeed, the Atari 2600 relied on this fact to even be functional...
      Without it it would be basically useless as a gaming device...

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

      @@KuraIthys I was about to write a comment on how this general technique is how everything on the Atari VCS works, but I see you've written that and a lot more!
      Indeed, the kinship between the VCS and the 8-bit home computers can be seen in the very names for the video chips: TIA for the VCS and GTIA for the home micros, the second being a bigger version of the first.

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

      Yes. They are very similar chips. Though GTIA is technically designed to have pixel data fed to it in realtime through 3 dedicated input pins.
      Aside from the sprite and palette registers it has even less memory that TIA does.
      But the 8 bit microcomputers (and 5200 since fundamentally that's nearly the same hardware) could do a bunch of fairly complex graphical effects because of the GTIA + ANTIC combo that took a lot of effort and CPU time to replicate on other systems of the era.
      Perhaps one of the most under-appreciated systems of it's time, given what it could do. XD

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

    I know i'm really learning with these videos when i start to figure out how the effects are done before he says it

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

      Right? I'm still mostly lost when it comes to the really technical jargon, but the fact that I'm starting to pick up on how these things work despite that is a true testament to how clearly he explains these complex ideas and how well these videos are produced.

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

      @@Dargonhuman My thoughts exactly. I know a little about assembly programming and registers and other similar technology but nowhere near a professional level. The in depth explanation in all of his videos is fantastic in that I'm actually learning how more complex processes and methods work.

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

    This is an easy and genius way to make something that really looks 3D on a 2D pixel console. Awesome!

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

    Art, science, and engineering are all from the same family.

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

      Well, there's a Thanksgiving dinner I'm glad I don't have to go to...

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

    I'll never make a videogame but I'm fascinated with limited resource programming, and old videogames are a treasure trove. Another beautifully made video!

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

    The spinning tunnel effect has always made me nauseous

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

    I love all the clever visual trickery that went into the games of this era. Great explanation!

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

    It's actually surprisingly simple

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

    I knew it was HDMA but wow this is still very impressive for an SNES or at least to me.

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

      And this was put within a year of the SNES launch in Japan and 3 months after launch in the US. This game blew my mind when I first saw it when I was 9.

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

    Just... Thank you for the high quality in all of your videos. Love it!

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

    Your videos are so well produced and well explained. Great job!

  • @Justin-TPG
    @Justin-TPG 4 ปีที่แล้ว +3

    I had totally never realised that the skeletons burst out of those pink things in the background until now and I've been playing this game on and off since release.

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

    you are the exact channel I was looking for I love when things are explained with lots and lots of details however I couldn't find any on the specific games and topics but just in general your content is a blessing keep it up :)

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

    This is awesome, thanks for your illustrations and explainations !

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

    I've been waiting for somebody to explain this for almost my entire life, thanks!

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

    It makes me SO happy to see how many patrons you have! I want to financially support you SO badly since you're one of my all time favorite channels, but I don't have an income so I can't and it feels bad. I'm so glad there are so many others that can support you!

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

    2 vids in 2 weeks?! You're spoiling us!

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

    Another excellent video for a so memorable effect.

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

    Very nice explanation and animations too. Kudos!

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

    A fine upload!

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

    Thank you for continuing this shorter episodes.

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

    Great video!

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

    As always your work is impressive.

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

    Really they should be modifying the vertical scale on each line as well, so that the top and bottom of the screen is more vertically "squashed" than the middle. The effect works well without it, but always seems a tiny bit off

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

      I think this would have complicated the effect a lot, as the vertical scaling would be relative to the center of the screen rather than the line being scaled, so a naive approach would massively overcorrect. I guess you could change the transformation origin on each line, or scale by much less than you would naively need to, but then you have to transfer a lot more data via HDMA (and I'll bet the calculations to get the right ROM values for the latter approach would be quite nasty).
      In game development, as with any project, if you try to get everything perfect you'll never finish. At some point, you have to declare "good enough" to be good enough ;)

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

      They can always do much more, if ROM space didn't const so much back in the day. You can store all kinds of constant static data in ROM, like pictures, and math tables, and even sound and music! I am sure they wanted more of the game for the money than a single background effect.

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

      I would say the need to pre-calculate the effect would be a limiting factor.
      The CPU isn't really powerful enough to routinely be doing 3d maths calculations in realtime.
      But ultimately the main limitation is the HDMA system itself.
      You have 8 channels of HDMA - and you have to share these with the general purpose DMA, so if you need both you have to think that through carefully...
      Each channel of HDMA can in effect write to at most 4 bytes, and that's only under ideal conditions.
      Even basic mode 7 effects can require manipulating up to 3 registers that are two bytes wide each.
      More complex effects can involve manipulating 5 or more registers....
      You run out of HDMA channels REAL fast if you're not careful...

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

      i think there were X and Y parameters that let you change the center of the transformation, so they just update the Y to be at the same height as the current scanline

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

      I wonder if that would be just enough to kill performance. It's already sluggish through this area, and aside from the background effect, there's barely anything going on.

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

    Love this!

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

    I guess all the platforms being objects instead of a background layer explains why the terrain is so simple in that section. Also why the platforms all fall down; they're sprites, so making them move isn't hard.
    And thinking about the one-background limitation in Mode 7 made me realize why level 4 in Super Ghouls 'n Ghosts has no parallax.

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

    I like these kinds of videos...

  • @derek-64
    @derek-64 4 ปีที่แล้ว

    i always wondered how that worked. thanks for explaining. also, Super Castlevania IV is my all-time favorite game. AND this video was uploaded my birthday, october, 21st. 2 for 1 deal right there.

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

    This is exactly what I thought it was doing, but it was still fun to see all the deformations applied one at a time. In fact I'm slightly disappointed that you didn't show a video of what it would look like with the deformation but not the "spinning."

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

    I KNEW it had to do with per-scanline width
    This is great!

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

    That's really cool

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

    I never thought of making a 2.5d tunnel like THAT!

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

    great video dude as always!!! can you cover the scroll glitch in Castlevania 1? That one that is abused constantly in the TAS.

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

    That is so cool.

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

    The editing in this is absolutely fantastic, I can't imagine how long this took to make. I like the small details of pixel-perfect scaling of the stretching in-game background. I'm not even sure how you showed stuff like the background layer and warping effect moving in tandem side by side actual gameplay. Is it all done through coding? Either way, amazing stuff.

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

      He's explained this on a few other comments in the past. Basically, scripted effects in his editing software.

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

    I kinda figured it was going to be simple effects put together in a smart way to do this. Gamehut has taught my well.

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

    If we're talking about audio stuff, I think a really cool video would be explaining how the NES DuckTales moon theme sounds so good.

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

    Without any of the transform effects, it just looks like everything is falling!
    Kinda cool, ngl.

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

    So to wrap it all up ,mode 7 stretches the upper & lower parts of the images while shrinking the middle parts of the image to give that elusional depth effect,especially when you put an extra shadow layer or put darker colors on top of it to futher enhance this elusional effect,,pretty neeth,BTW i really can’t wait for the audio department!!!

  • @C-mirror
    @C-mirror 4 ปีที่แล้ว

    I just love your videos! 🔆when I grow up, I will loooove to try these tricks!

    • @C-mirror
      @C-mirror 4 ปีที่แล้ว

      Mom made me this channel! 😇

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

    Great explanation, as ever. I could've sworn this would use the same trick as the one in the into-the-camera chase scene in Mickey Mania; I guess this way allowed for a more varied background, and didn't need to have a really large "treadmill" texture to put the pallettes over.

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

      Mickey mania is on the mega drive right?
      Yeah, i mean it's a very similar effect in the end.
      But the SNES has mode 7 and HDMA which give you effects like this basically 'for free' while the Mega Drive equivalent requires a lot of CPU time and some complex programming.
      Mode 7 - like effects are certainly possible on other systems...
      They're just way more effort to implement, and use up a lot of CPU time...
      While on the SNES they're a feature of the graphics hardware and aside from updating the matrix parameters, (which HDMA can help with), take little to no work for the system to do...
      Basically there's a whole heap of effects that you'd be silly to implement using anything other than HDMA and/or Mode 7, since you'd be wasting a lot of effort for no good reason when you have a tool that can do most of the heavy lifting for you.

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

      @@KuraIthys Not to mention the way it achieved is through palette shuffling so the threadmill is more like a 14-pixel wide tilemap which repeats horizontally which means the graphics also are limited.

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

    That...is pretty nifty.

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

    Might as well do that rock boss that's in the background.

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

    Nice try! I mean, your technobabble might convince the layman sir, but those of us in the know already understand that this was accomplished through deeply arcane magic! Excellent video! XD

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

    Great video. The SNES hardware actually makes this a pretty trivial effect to achieve. Now I'm wondering how I might go about recreating it on another system. ZX Spectrum, perhaps? :]

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

    WAOW THAT'S COOL!!!!!!!!!!

  • @davidsoundremixer.7861
    @davidsoundremixer.7861 4 ปีที่แล้ว

    Mode 7 background. I love it.

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

    wish we had these kinds of hardware to code on today 🙂👍

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

    this game is amazing for a launch title

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

    Clever!

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

    I'm still amazed at the effects that were possible using what was essentially a beefy calculator.

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

      every computer is just a beefy calculator

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

      @@proxy1035 Agreed, but I'm still mind-blown that little more than a 65C816 from an Apple ][ can do this during hblank intervals.

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

      Phroggster I agree but remember that the Super Famicom also got two PPUs to help the CPU. Another machine which punches way above its weight is the PC Engine: an 8bit machine which made the all world believe it was 16bit! Crazy when you know its CPU HuC6280 is a variation from the 6502 found in the Commodore PET, Apple IIe and many more including the Atari2600!
      Compare an Atari 2600 game with Rondo of Blood on PC Engine.... It is why I love retrogaming!

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

      @@Phroggster i mean most the work is done by the video chip, all the CPU does is change some registers at the right time

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

      Don't underestimate the 65x CPU family. It punched well above it's weight quite consistently.
      The 65816 mainly suffered from being heavily delayed, otherwise it would likely have been a lot more popular.
      But the 68000 was simply available way earlier, so many of the early 16 bit systems went with that, and then because of how common it was, it became even more popular....
      There's a quote from Steve Wozniak...
      Should be taken with a grain of salt of course...
      But he was of the opinion that a 65816 was about as powerful as a 68000 at twice the clockspeed.
      And wouldn't you know it, the mega drive has a 68000 at roughly twice the clockspeed of the SNES. XD
      (in theory - in practice it slows down to 2.68 mhz a lot due to main system RAM and early 'slow ROM' based games. - at that rate it's only about 2/3 as powerful, if you believe Wozniak's remark.)
      And you should remember, by the way, that mode 7 is essentially a partial implementation of a hardware texture mapper.
      That it can pull off fairly complex 3d effects isn't that surprising since it's akin to a system with a 3d accelerator vs one that is trying to do everything with the CPU.
      To replicate what mode 7 does properly, without any hacks or shortcuts would take a CPU about 20 times as fast as what the SNES has to work with...

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

    nice

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

    the minish cap on GBA used a similar effect in the first dungeon!

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

    Are you planning to do a video on the Super FX chip in the future?

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

    Can you explaib about the "3D" racing games in the nes?? (Like ferrari f1 grand prix challenge, famicom gp2 etc)

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

    Devs were so inhumanly clever back then. Working with what you have to do things that seem impossible at first.

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

      They still are
      Developers didn't change, the gaming industry did

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

      honestly, a lot of developers do not truly understand or appreciate just all that the devs of old had to go through, and it's precisely because the games industry [software, in general, actually] changed. i have now gone down the rabbit hole of reversing/implementing file formats. it is one interesting journey...
      it's sad when people now look at images, for example, and all that comes to mind about what an image IS: "jpeg" , "bmp" , "gif" , "png" , "image file" , "unity DXT5 CRUNCHED texture" , "flash/animate bitmap asset" , so on...
      understanding WHAT all of these actually are, how to identify them, how to design your own, is a vastly useful skill. modern developers really aren't encouraged to do that. well, most, anyways. They use the formats their system/tool provides. At least understanding how to decode the file yourself is quite helpful since the standard implementation very often takes some of the control of that raw data away from you, and the standard program can't actually export a file using all the best features. [or doesn't export/import another format the project requires]
      I'm not saying all developers are this unaware of just what their hardware/software is actually doing, or capable of, but many seem to be, and it shows with bloated file sizes, BIZARRE bugs, use of large frameworks/engines where they ARE NOT NEEDED, so on...
      One of my favorite examples : unity games taking a couple tens/hundreds of MB, using no compression or lossy compression for textures that should use lossless compression and possibly lower bits per pixel, and these games are IDLERS. I admittedly don't like Unity, I admittedly don't like Idlers, but to see it disgraced as the go-to engine for a genre of game that really doesn't need an engine, and wasting resources with is overhead to do so, is a disgrace. Seeing textures that could use color indexing [among other tricks] either not be compressed at all, or use lossy compression is just sad...
      That said, I would be a modern dev/hacker. And I just find I like this old/'obsolete' stuff so much better. I hate the complexities, I hate the bloat, I hate the callback/dependency hell, i hate fighting the "standard" library, i hate having to out-fox the 'SECURITY' features because i cannot test/transmit things to MYSELF, i hate "the next big thing" coming-out so fast that everything in-progress just stops development or is depreciated...
      i'm so glad channels like this exist. i feel the ROM-hacking communities did not properly explain any of this information, and the official devkits/docu weren't too much better. [some exceptions, SNK documented the NEO-GEO shockingly well...] when explained, this makes so much more sense than say, C++ and OpenGL. I still maintain I actually like assembly much better. reading it confuses me, still [mind i disassemble a lot more than i assemble]. i have yet to do anything USEFUL with it in practice. but i just like how TO THE POINT it is. modern languages and their toolchains make it so "what am i really doing anymore, why?" is a regular question in my mind...
      but yeh, i still mostly agree with the OP here. these development tricks aren't taught/discussed/used nearly as much both in the industry, and by modern developers. MOSTLY... they probably would be forgotten if not for hacking communities and old school programmers explaining it. some might see use in a file format or two, again, most programmers/users just take "it's an image" for granted. the OS supports it, the tool supports it, the game engine supports it, the game console supports it, that's all that matters. I admittedly had a similar outlook until I realized how many limits it was putting on my ability to work on the projects I wanted to. So, I started learning about the file formats and even old game consoles or the games for them. It's pretty fun, too! And I have gotten an idea or two here or there (;

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

    PLEASSSSE Do a video about the Super Metroid glitch that you can do by activating Spazer and Plasma at the same time! That would be such a great video!!!

  • @gabrielv.4358
    @gabrielv.4358 ปีที่แล้ว

    So cool!

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

    Can we get a video about Wolfenstein Raycasting?

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

    👑

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

    Ah, so the effect was accomplished exactly how I thought it was.

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

      yeh, i guess there's a point after watching these kinds of videos you know exactly what will be explained before watching the video. still entertaining tho...

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

    Could you plain how does the world map works in Demon's Crest next please?

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

    WOOOOW, i absolutely never know that, for years i tout that that tunnel effect was real 3D whereas in reality it simply just changes the shades of of colors in the middle and strecthing the image top & bothem while the middle of the image get’s shrunked to give rhat ellusion tunnel effect,
    But even more mind is this, the snes cannot only view 1 bsckground effect in mode 7, so normally it connat view the statusbar on top, but by quickly alternating between mode1 mode7 after certain amounts of scanlines, you can create the ellusion of as if the snes could do it all simultaniously,whereas in reality it cannot,
    It’s mind blowing how the snes can switch between modes on the fly, this effect can be clearly seen in street racer where 3 thirt of the screen is mode 1 with 3 scrolling layers whereas the bothem part is mode 7 by quickly alternating between those 2 modes on the fly,
    Also mode 7 does NOT move or rotate a background in 3D space oh no, all it doesvis stretching or shrunking an image in & out to create an ellusion of moving a background in 3D space, in order to create the ellusion of a background being put on a flat serface, it just stretches the image at one end and shrinks the image at the other end, to fake rotation of a background, it moves each scanline horizontally and vertically atonce to create that ellusion,
    It also could change the perspective of a background,
    I am so stun that game developers did already did know in the early days of the snes that they could alternative between each mode on the fly, heck even nintendo did realized this with mario kart and pressumibly with f zero,
    With this in mind i have now so much more respect and praise for those game developers at how they got around limitations of a console like the snes, heck if it was even intended by nintendo to swap between modes on the fly to mimmick the ellusion as if the snes could do it all atonce, that will blow my mind,am mean just WHOOOOAAAAH !!!!

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

    How these works in new tv which have no electron beam but pixels tha lighted simultaneously?

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

    Can you look at the game boy color explained next?

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

    This case sort of has to be Mode 7 because of the horizontal scaling. What about Axelay? That's superficially similar, but seems like it could be a pure HDMA effect.

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

    Write a book about all that!
    I want. I want. I want.

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

    could you explain the Lavender town from Pokemon Red and Blue?

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

    Do you plan in covering other video game consoles???

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

    Darn, I was kinda hoping it'd go into more detail about the math behind the scaling of the background...

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

      That's because these are basically the very same effects in other games (such as Earthbound), just used in a new way and they were covered in an earlier video. I recommend going through the entire RGMechEX series on the SNES to really understand this.

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

      what "math behind the scaling of the background" ? the x-coordinate of the screenpixel is just multiplied by a scaled factor (before adding the scroll offset and looking up the appropriate pixel of the background to render to that screen pixel). It's just a really simple case of the affine transformation supported by mode 7 (which he explained previously in his video about mode 7)

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

      The values are stored in a look up table in rom, there is no use calculating them because they never change and cpu time was at a premium.

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

      For the game specifically, the values are all in a lookup table, but there is an easy way to recreate this mathematically.
      You'd have a variable called "angle_current", that keeps track of what angle is being checked. It starts at 0 degrees and increases by 180/(screen_height-1) after every time you draw a line. This will make it so after we've drawn every line on screen, the angle has increased by 180 degrees, (aka, half of a circle).
      Then, every time in the loop that draws each line on screen you set a variable called "percentage_fraction" to sin(angle_current) This will get us a value anywhere between 0 and 1, with 90 degrees returning a 1, and 0 and 180 degrees returning a 0, etc.
      Then we would have a variable called xscale_min, which would be the peak lowest image_xscale, and set the particular line's xscale that we're on in the loop to 1- ((1-xscale_min) * percentage_fraction).
      What this will do is at 90 degrees (the center of the screen), the xscale will be at its peak minimum point (whatever we set for xscale_min), and at 0 and 180 degrees (the very top and bottom of the screen, respectively), its xscale will be at 1 (its default size), etc for the rest of the angles.

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

    cool. I wanna know how to recreate this effect in a modern game engine.

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

    I sometimes wonder if mode-7-style effects can be achieved on simpler programming languages like Scratch

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

    I can't believe it's that simple. Those programmers were so clever with their limited resources

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

    I always wondered why that area had some absolutely abysmal slowdown

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

      That's because the SNES had to do the game logic *and* the background transformation using lookup table using only a single core CPU clocked at 2.68 MHz (and probably single threaded too - I should look up for the specs again later to confirm the single thread thing) The whole concept of multiple cores didn't exist until Nintendo brought in SuperFX chip - which come to think of it, it is really just another CPU core, albeit unbalanced with the SNES's main CPU core. That's why similar effect found in Yoshi's Island and yet it barely cause any slowdown.

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

      ​@@MakotoIchinose That's actually the wrong explaination because the CPU takes no part in the graphics. Instead, the graphics are rendered by the PPU which works seperately from the CPU.
      The actual reason why slow downs happen is because mode 7 is quite limiting (after all, it was planned to display two backgrounds instead of just one) so anything else which isn't the background are OAM tiles (there also is a reason why the foreground is quite simple). Since rendering OAM is rather costy in comparison to rendering a background (after all, you have to place every single tile individually every frame instead of writing just once a while tilemap), this can easily result in slow downs, especially the more tiles there are.

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

      @@MarioFanGamer659 Oh, right. I somehow mixed up with PC processing technique (which is all CPU) that is contrast to old console processing. Sorry about that!

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

    one thing that just randomly comes to be mind... the standard Controller of the SNES is basically just an NES controller with more bits... the CPU is basically just a NES CPU with a 16 bit mode... what's missing is the Video Chip behaiving like the PPU when set to it.
    then the SNES could be maybe backwards compatable with the NES, which would've been amazing back then and now

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

      Look up "Reverse emulating the NES to give it SUPER POWERS!" by suckerpinch, I think you will be pleased.

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

      @@Sidnoea oh yea i know that video but that has nothing to do with what i meant

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

      It was definitely planned, as the SNES also uses a 6502-compatible processor like the NES did. But I think they also realized that emulating the rest of the NES's circuitry would be too much to implement with what they had-you'd basically need an adapter cartridge to hookup an NES/Famicom cart, and then decide how to emulate:
      1. Run the NES 6502 code in compatibility mode on the SNES's 65816, and trap all the audio, graphics, and I/O routines to be emulated by the SNES subsystems. This would require some pretty tricky interrupt triggering, speed switching, redirection of NES interrupt vectors, and buffering instructions/look-ahead to prepare for these traps. This also assumes that the switch from native to compatibility mode isn't so slow or requires massive amount of state preservation that you run out of available CPU time for everything else.
      2. Dynamically recompile NES code to run on the SNES streaming from the cartridge. Safe to say, I think most consumer-grade CPUs or ASICs would have quite a tough time pulling that off.
      3. Go the Super Game Boy route, and use a size-reduced NES hardware emulator that at most would use I/O redirection and passing of graphics data to the S-PPU. Considerably more expensive from a hardware standpoint, but it would be feasible.

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

      @@eddievhfan1984 yea i was kind of thinking that maybe at the start of the development of the SNES they were thinking about making it backwards compatable with the NES but then desided against it as it would limit the functionality by a lot and also be more expensive to make since they would basically need to pack an NES into the SNES

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

      They tried. But in the end it didn't work out.
      PPU graphics mode 0 more or less exists primarily to run NES games with;
      It matches roughly the capabilities of the most demanding NES games;
      It can draw 4 backgrounds, with 4 independent tilesets of 1024 tiles each, in 4 colours per tile;
      By and large this is clearly meant to support NES style games more so than SNES native ones.
      But the full features required to make backwards compatibility happen didn't seem to get implemented.
      I can only guess that in the end it proved too difficult to pull off in a reasonable manner.
      The PPU is already extremely expensive; They skimped on other parts of the design in part because of that. (possibly why the main RAM is slower than you'd expect, the CPU could've been faster too. The DSP-1 was originally going to be built into the console... And the PPU supports 128 kb of RAM but only has 64 kilobytes installed - all of this suggests cost cutting measures made late into development.)

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

    Impressive... but now I’d like to know how the Sega Genesis was able to perform the same effect in Ranger X and Adventures of Batman and Robin *WITHOUT* Mode 7.

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

      Similar effects on Genesis are simulated by having it already prepared (drawn) in the tilemap on rom and playing with colormap.

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

      MrSegmentfault Yep... so I definitely want to see that video. ;-)

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

      @@happyspaceinvader508 Sounds like the chase scene from Mickey Mania. GameHut has made a video about it.

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

    i watch all of your videos and understand 0% of them ;D its still fascinating

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

    Could you explain how racing games like Top Gear work?

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

    1:00 just to remember

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

    How do you discover this, and manage to explain it?

    • @Black-Dawg-Jesus
      @Black-Dawg-Jesus 4 ปีที่แล้ว +13

      He is a witch and should be burned for this kind of black magic!

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

      Dump the ROM, dissasmble it, use debugger. Ghidra is great for that from what I've heard.

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

      @@deoxal7947 Wow, never thought of it that way

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

      @@ericksanchez855 Well that is the literal answer to your question. Just gotta practice it.

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

      Talent? :P

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

    Anyone know how to replicate this effect with modern programming languages? I want to use an effect similar to this in my game, but i'm stuck.

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

    What does the SA1 chip even do? I know Kirby Super star has it, and I can't think of any particularly fancy graphical effects that game other than just having a lot of assets

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

      The first feature is that it's very powerful, a CPU which is around four times faster than the SNES (its RAM, to be precise), more powerful maths (signed 16-bit times 16-bit multiplication and division with a low wait time), DMA doesn't halt the CPU, can interrupt but also is interrupted by the SNES (so it's less like a slave compared to other chips), 8 MiB ROMs (it's much easier than without it since ExLoROM and ExHiROM can't access full 8 MiB) and lastly, bitmap conversion (easier linear transformation), though this can be better seen in Super Mario RPG which also uses SA-1.

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

    s P *E E N*

  • @XT-8147
    @XT-8147 4 ปีที่แล้ว

    What I've been wondering lately: Mode 7 only has one background layer, but games that use it often display untransformed graphics that can have higher or lower priority than the layer that's being transformed by the Mode 7 parameters, and scrolled seemingly independently. We clearly see this here with the platforms Simon is traversing as he walks through the stage. How is this done?

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

      The platforms are objects, just like the enemies and Simon himself.

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

    Jon (Gamehut) did something similar with his games

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

      Did you mean GameHut?

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

      @@eddievhfan1984 ah right lol, got confused with the free Minecraft server host

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

    absolutely fascinating.
    I don't understand how this is a command being sent to modify the lines as they're being scanned and projected but only affecting one layer, aren't scanlines something that draw only the completed final picture with all layers taken into account?

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

      The SNES has no frame buffer, all the background layers and objects are drawn on the fly.

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

      All the more reason, I would imagine, that editing the behavior of the scanning beam would affect everything at once, and not just the backgrounds
      I'm sure you've explained this quite thoroughly in the past, and I just didn't get it ^_^' this must be how regular people feel in school..

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

      @@KairuHakubi The actual output signal is unaffected. The game changes the background settings during H-BLANK, so the background is different when the next scanline is drawn, while the previous scanlines have already been drawn and cannot be changed.

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

      @@KairuHakubi It's not really the "scanning beam" that's being modified, per-se.
      What's happening is that the PPU (the SNES hardware responsible for controlling what color at which time to send to the TV) has to read data from various memory in order to figure out what color to send at a particular point in time. The data it reads for a background layer is defined by various properties like the XY offset position and so forth. In Mode 7, it also uses a special transformation matrix to apply in order to figure out which tile and pixel data to read from.
      The PPU figures out how to read object data (ie: sprites) in a completely different way. There's a big table of objects with various properties like the sprite position. And the PPU uses this table to figure out which object data to read from.
      Modifying the Mode 7 transformation matrix for different scanlines does not affect how the PPU decides how to position objects. Mode 7 is a background layer property, not an object property.

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

      ohhh okay, thank you. that makes a LOT more sense.

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

    Awesome. Now do Adventures of Batman and Robin on genesis.

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

    I am a bit confused, this video shows up in my subscription box, but not on your channel
    Edit: now it is there, hmm weird

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

      Yeah, youtube does that

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

      @@lior_haddad This is the first time I noticed this ^_^

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

      This actually happens all the time. New videos get in people's subscription feed before they show up on the author's channel. What's even funnier is that sometimes a new video by someone I am subscribed to shows up in my recommended before showing up in the subscription feed.

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

      @@Sheevlord At least it shows up, I can remember when TH-camrs had the problem that it was not even showing up in the subscription box.

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

      youtube is cancer

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

    So did Axelay basically do this effect in reverse to create the feeling of flying over a planet’s surface?

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

      Most likely.
      Also Terranigma's truly bizzare looking underworld map is likely almost the same effect.
      With enough effort you can create any arbitrary 3d surface with mode 7 and HDMA as long as the only variation in 'depth' is along the vertical axis.
      Cylinders - both seen from inside and outside...
      But also any kind of polygonal cylinder-like object...
      And even complex surfaces along one dimension.
      You could also use the 'window' registers to mask out the edges, which can make it look like there's some complex edge to the shape as well.
      Again, the limitation is that the surface cannot have any height variation across the horizontal axis...
      And similarly, any kind of perspective effect is only along the horizontal axis, meaning that if you somehow created a fairly complex 3d shape this way, you'd be able to rotate it only along a single axis, unlike if it were actual 3d geometry where you'd have any combination of 3 rotational axes to work with.
      It could have been pushed much, much further, but then you'd need a fairly powerful CPU to do the calculations for it...

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

      Axeley just used Mode 1, with HDMA vertical scrolling. You can tell it's not Mode 7 because there are 2 layers and there is no horizontal scaling.

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

    Imagine still making stuff like that today... wait... oh well

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

    Konami really knew how to push consoles to their limits. I thought Castlevania III pushed the NES beyond its max, and then they started the SNES's life cycle even further beyond. My mind was blown seeing 4-3 in action for the first time at age 9.

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

      Except when it came to using CPU optimizations.

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

      Eh, Super Castlevania IV came out within a year of the system's launch.

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

      @@Kylora2112 My first SNES homebrew demo had 128 moving sprites onscreen with no slowdown and I was 17 years old back then.

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

    yee!

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

    What you use to see into registers?

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

      I generally use debugging tools included in emulators, like Bizhawk and bsnes+.

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

    How did they make this? Well, it was actually fairly simple.

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

      "It's actually surprisingly simple"