Atari's Quadrascan Explained

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ต.ค. 2024
  • How did Atari utilize vector monitors in their vector-drawn arcade games? It's all explained right here.
    LINKS
    Twitter (updates): / retrogamemechex
    Patreon (support): / rgmechex
    SubscribeStar (support): www.subscribes...
    Discord (discussion): discord.rgmeche...
    PATRONS
    Thank you everyone for your support on Patreon and SubscribeStar!
    Anthony Losego, Dan Salvato, F. Murmel, Jonathan Aldrich, Ange Albertini, Mark Canlas, Avi Drissman, Steven, Mike Gerow, Larry Koubiak, Tina Wuest, Owen Christensen, Gynvael, Buddy, Chris Margroff, Brandan Lennox, Jason Hughes, Diamond Ice, Chris Post, Cypher Signal, Rupix, krivx, Xkeeper, Walter Huf, David Spalding, Acceleration Shark, Rory Kelly, CapnCarl, Joe Mecca, Michael Greb, Kefen, Heptonion, leftler, Scott Beca, 19day, Michael Dragone, John Losego, Travis, Arthur Kunkle, Jordan Wright, Stephan Hennion, Node1729, Andrea, Michael Cafarelli, Red Sona, KieferSkunk, nik, James Church, Rad, Nudelreaktor, tripper, Nebelwerfer Granitara, Sten, 333Rich333, The Revd. Juli Mallett, Glenn hEADcRASH Sugden NPC, Alex Yancey, David Mazarro, null, Ryan, Corey Ogburn, Martin Trozell, Garret Kelly, Jake Hickman, Joel Kuhn, Dan Shedd, Sembiance, Xander479, 4F Panda, David, A Sentient JDAM, Alec Johnson, Brian Henriquez, Travis Nellor, Zach Hugethanks, Yakov, Oxygen Chen, RetroReversing.com, Ceres, Diego Santos Leão, Jeremiah, Chris Connett, Mark, Matthew, sapslaj, Bjoern Hansen, ers35, Pixy011, Daniel Bernard (ReckedCat), Lukas Kalbertodt, Vier Ladair, Bwangry, iPaq, Jeremy Wright, David Johnson, Matt Shepard, Felix Freiberger, Sypwn, Niles Rogoff, Reflet, Yann Le Brech, Evan, Eugene Bulkin, Walter Weaver, Articate, Julien Oster, Steve Losh, Samuel Stoddard, HattyJetty, Paige ? Hex, Yeero, Cruz Godar, Linh Pham, Noah Greenberg, Nick Rogers, Sean Nelson (audiohacked), Bryce, Andrew Yukhymchak, Sean Bryant, John Gabriel, BazBadger, Kyle, Master Knight DH, Tim Romero, Michael B., Eric Loewenthal, Adrian Haslinger, Proxy, Nolan Varani, Daniel Robinson, Hans Jorgensen, Daniel A.A. Pelsmaeker, Aaron, Max Gartung, Nicolas Dohrendorf, Eric Hoppe, Chaz Serir, derHinek, Gyiyg, samfu, Dominic Wehrmann, André Greubel, Anon42, Urda, Ted Berkowitz, araknofennisti, AA, Joseph Torres, serhef, Daniel, Audio, Patrick Johnston, Rodrigo Monteiro, Punchmaster, Stephen Bank, Dasterin, Matthew Yu, Alice Hartley, Marcus N., Agoaj, Nicholas Carhuff, Aaron Murray, Epsilion, bob johnson, Permian Strata, supergtt, Alex Berliner, Sean Coates, Eniplay, iWasHere, Alex, Dominic Cerquetti, Adam Streeter, Eric Romero, Clyde Shaffer, Oast, KitsuneKeira, Esme, ARubiksCube, Stefan Eisenreich, Ariella, & pagetable.com!

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

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

    Hi I'm just here to feel inferior

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

      Hey there! I figured you would watch this kind of video. I enjoy his videos and yours as well!

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

      A great man in here. I'll be watching your new video as soon as you upload it.

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

      LUL you guys are both heroes

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

      No way. Two cakes

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

      Where were you when I saw a girl standing next to an icicle! Really could have used you banana. For scale.

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

    Wow, that final animation is some of the most effort I've ever seen put into a youtube video. I can't fathom the time it must have taken.

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

      Automation is win.

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

      i dont think he animated it by hand, like long-name-mcGee above me said, its automated, here is what RGME said himself:
      I took a snapshot of VMEM from an emulator, ran a script to convert the raw hex data into VG instructions, stripped the parameters from that file and formatted it into an After Effects keyframe format, then used After Effects expressions to pull from that keyframe data to make the animation.

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

      @@raafmaat Sounds impressive

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

      He didn't animate it by hand and it's probably only taken him like a couple hours, if even that.

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

      @@QuotePilgrim How would he do this in under a couple of hours? What would the process be? Don’t disparage artists. This shit is hard work. This animation, combined with the framing and resolution doesn’t exist anywhere else. Someone created it. There is no “convert these vector coordinates from this other machine, into my computer, into Adobe Animate and/or Flash, in the exact way that my brain is thinking” button. It’s not as quick as it looks.

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

    I had a digital design course where we made our own vector games and displayed them via the XY input of an oscilloscope. Custom, hand-wrapped, controlled by a Motorola 68k running our assembly code.
    That was the closest I’ve ever felt to an old-school arcade designer until watching this video. This is stunningly thorough. Thank you for taking me one step further.

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

    Your procedurally generated videos are a piece of art. I'm really curious what tools you are using to achieve such fantastic results.

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

      Mainly just After Effects! I do some preprocessing of data before importing it through various scripts, but most of it is just done within AE using its expression engine.

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

      @@RGMechEx Pretty cool

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

      @@RGMechEx I think I remember you made a video on this, how you actually do the data processing for the scripts. Pretty interesting stuff!

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

      @@RGMechEx Yes, but how did you obtain the arcade game data for this video? Is there an emulator with this kind of observability?

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

      @@JimLeonard Many emulators (including MAME) give you the ability to introspect into the memory of the system, and many of its parts. And there are a number of tools out there that can help. Digging into the MAME source code can also reveal a lot about how memory is mapped in the virtual machine. :)

  • @shaneplumb-saumure7723
    @shaneplumb-saumure7723 3 ปีที่แล้ว +120

    Vector graphics always seemed to be the result of some strange voodoo to me. Nice to have gained some understanding of the incantations , thx.

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

      I've always explained it in an oversimplified way as an electronic equivalent of an Etch-A-Sketch(because the electron "pen" directly traces the image out on the screen).

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

      its weird to think abt some games are too pixelated and some arent at all, even down to the code

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

    So the scale factor ends up being used like a Z coordinate in Tempest. Interesting.

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

      That is so dope

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

      It's even funnier when you think about how the Playstation 1 makes everything out of triangles, and doesn't really have a "depth" but rather, has a "z" deformation value. It's like the same idea exactly! (I could be remembering it wrong though...)
      (Modern vintage gamer has a video about it vs the N64 method, which would be a good sequel to this, though it's about graphics generation, not screen writing.)

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

    1:57 I love the fact you decided to display PAL signal with some shaking to clearly indicate phase is alternating.

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

      The level of details on this channel is stunning.
      Small errors do creep up. But there's also small details added that some people might not notice.

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

      Please elaborate.

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

      Since NTSC has 227.5 chroma cycles per line, each line of NTSC should also naturally be 180 degrees out of phase with the previous line, shouldn't it? Or does NTSC intentionally reset the phase on each line? Regardless, most video display generators didn't conform 100% to broadcast specs anyway.

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

      @@lev7509 PAL stands for Phase Alternating Line, because each line is 180 degrees out of phase with the line before it. This was intended as a sort of "error-cancelling", since an error caused by interference in one line would be compensated for by a mirrored error in the next line.
      It DID result in better color stability on receivers made with 1960s technology, something early NTSC televisions had difficulty with. (Those problems went away as receivers got more advanced.)

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

      @@CptJistuce By line you mean scanline?
      If I understood correctly, you mean the phase is flipped every scanline to... prevent neighboring scanlines from blending too much?

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

    Me yesterday: Hmm... I wonder how quadrascan worked.
    RGME:

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

    2:01 Holy crap, you actually animated the PAL colorburst phase-inversion on alternate lines. I applaud your attention to detail, sir!

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

      Hm, curious what exactly the signal is though. Wonder if we could reverse engineer it and find a fun little Easter egg?

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

      It doesn't show up on 30fps!

  • @d.d.t8350
    @d.d.t8350 3 ปีที่แล้ว +162

    Can you do a video about yoshis island advanced effects? Like the bosses and the nep-enuts ?

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

      Ooh, yes! That sounds like it would be really interesting!

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

      Was it just sprite scaling or something more complicated?

    • @d.d.t8350
      @d.d.t8350 3 ปีที่แล้ว +14

      @@williamdrum9899 it had a lot more complex effects since it had the super fx 2 chip. Some bosses like the sluggy have some crazy sprite deformation that i have yet to see in any other super Nintendo game

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

      I'd be curious about how the layer 3 objects work in that game. They're almost 3D at times but yet seem to just be distorted tiles...

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

      What about Knuckles' Chaotix?

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

    10:45 "Well really, they don't talk to each other. It's just the main CPU telling the Vector Generator what to do."
    Sounds like my mom

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

      And who would be the "Vector Generator" in this scenario?

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

      @@videopsybeam7220 It would be Joe.

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

      @@forgiveman correct.

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

      Relax, someday you'll have a wife take over from mom.

  • @McCoy-00
    @McCoy-00 3 ปีที่แล้ว +117

    I’ve always loved the look of Vector style graphics, it’s got its own feel to it that I’ve always liked

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

      I sadly don’t like it, circles look more like patatos being peeled off😒

    • @McCoy-00
      @McCoy-00 3 ปีที่แล้ว +5

      @@johneygd yeah I can see where you’re coming from with that, I’m hope no one makes any platformers using Vectrex style graphics, unless the shapes made from the lines were shaded or something

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

      Me too. Having grown up with a Vectrex, I am perhaps biased, but I adore the look and feel of vector displays.

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

      The arcade Battlezone was FAR better than ANY raster version. I long for the day.

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

      @@johneygd What do low resolution raster circles look like to you?

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

    TIL that pixel is short for "picture element"

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

      I learned something new today.

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

      And voxel is Volume + Pixel

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

      @@internetuser8922 You sure it's not Volume Element?

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

      @@nezatrebovan Actually yeah, that makes more sense.

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

      Also "bit" is short for "binary digit".

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

    Ingenious animation at the end.
    I think using the scale as an inverse is a clever idea. Normally to get proper 3D perspective you need to divide by the distance, but that's expensive for computers and this lets you avoid it.

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

    I'm surprised how close this is to the line drawing methods in modern graphics libraries as far as the position, draw, brightness and color calls go.
    I wonder how hard it was for them to do fast rotation math on sets of points since all that floating point math would be really slow. Maybe hard coded lookup tables or some clever integer-only math.
    Your videos are super awesome man. Same level as something like 3Blue1Brown. It is very difficult to make good videos on CS topics specifically, your channel is one of the very few that do a really good job explaining topics that are super interesting and visually appealing. I've learned more about ASM from this channel than anything else. I'm a software engineer, but I've never needed to use low-level languages, everything I use is memory managed with auto garbage collection.

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

      Most modern graphics libraries are based on research and precedents with roots in this era.
      I was wondering whether some of the other machines' vector processors had more features. In Asteroids Deluxe, almost everything on the screen simultaneously rotates, so without rotation support you couldn't just render them directly out of ROM. And Star Wars is doing perspective projections on 3D wireframes!

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

      They didn't do the rotation math, at least for asteroids. Haven't checked the other games.
      In Asteroids, the ship can face one of 64 directions, some of which are hardcoded into VROM, but some can be flipped from the hardcoded examples so don't need to be stored. The ship's thrust fire works a similar way.

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

      for some things, fixed-point math (where each number is pre-multiplied by some constant, usually a power of 2) is adequate
      addition and subtraction in this format are the same as integer math
      with multiplication you multiply the numbers together and then divide by the constant
      with division you first multiply by the constant, and then divide the numbers together
      with complex math like atan2 or trigonometry you either use CORDIC or data tables as suggested.

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

    A couple years ago I went to an arcade with my family, and after drifting a bit I found myself oddly attracted to asteroids and tempest. The perfectly straight, piercing white lines of asteroids are almost unreal in person. It was honestly pretty moving.

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

      agreed. I had no idea video games were ever that sharp in the arcades, especially when you consider the age. it is truly something you have to see to appreciate.

    • @MattMcIrvin
      @MattMcIrvin 4 หลายเดือนก่อน +1

      Vector displays were something of a dead end--they couldn't fill in a solid area with color, and were limited to drawing lines--but I love that look. For a little while, they seemed impossibly advanced compared to raster games, and they could easily display rotating objects and perspective 3D graphics. Modern emulations of them don't quite capture the dynamic brightness range they were capable of, either--those vectors could be intensely bright and made glowing halations on the screen just as a physical byproduct. Atari also discovered that you could make the screen flash just by drawing an intense white line off screen, so the electrons got scattered all over. It was an odd physical hack.

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

    Ah. Tempest. One of the games that made me a retro gamer.
    I remember playing it with no idea of what was going on.

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

      Tempest 2000 got me into video game soundtracks

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

      Was just about to mention Tempest 2000, but he beat me to it. Yeah that game is just Tempest but better in every way

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

      @@mechanismeight9565 I personally disagree on that. I never actually liked Tempest 2000 all that much - it just didn't feel the same.

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

      @@KieferSkunk I can see where you're coming from, the two games definitely have a different feel.... I just like 2000 more, it's got style.

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

      @@mechanismeight9565 Fair enough. :)

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

    Ahhh, RGMEx, I've missed you. Been a while since I've played any of these vector games, but it's nice to know how they did these things back in the day. Thanks for the info, you absolute legend!

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

    I love this video. Having grown up in the 80s doing some programming, I can appreciate how innovative algorithms and techniques had to be to accomplish things with limited hardware. When I look at today's games/simulators, there's massive inefficiency caused by layers and layers of frameworks, APIs, wrappers, and sub-optimal routines.

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

    Man, it always amazes me how you manage to explain everything so clearly and make some of the best dynamic graphics, heck, explanatory graphics in the platform. Cheers, dude.

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

    Is that visualization at the end some kind of simulator program? I'd love to toy around with that!

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

      You're expecting too much from me, haha! I took a snapshot of VMEM from an emulator, ran a script to convert the raw hex data into VG instructions, stripped the parameters from that file and formatted it into an After Effects keyframe format, then used After Effects expressions to pull from that keyframe data to make the animation.

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

      @@chyza2012 well, link us to your github when you've got it ready :-D

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

      @@RGMechEx That's cool! I can imagine how satisfying it was to have directly converted the bytes from the game's memory from the emulator to After Effects through several steps and eventually have it work. It's definitely a cool way of doing it.

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

      @@chyza2012 lol, I get what you're saying and all, but if he did any manual intervention in the data to handle edge cases, that could end up being hours of scripting for something that he only needed once for the video. Would I have made a tool? Probably? But I get that's not for everyone or every situation

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

      @@tigerofdoom "that could end up being hours of scripting for something that he only needed once for the video" - I would expect nothing less from this beast of a channel

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

    I tell you what. Back when I was a kid, and even today, I much prefer the look of vector graphic games, when compared to ones that used raster. The vector graphic games just look.. more "video game" to me than raster graphic games. I just.. like the look of them.

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

      Gaming visuals had essentially evolved from vector graphics to sprite-based raster graphics to 3D objects represented by vectors rendered to a raster display, all while at the same time the previous rendering styles became an art form for many contemporary games.
      This is among the reasons I'm looking for a way to express these styles in a series of videos I've been planning, and this video (the entire channel, even) is one of the core insights I've been looking for.

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

      I spent as much time as I could (which at 3 credits per play, wasn't very long) in a Star Trek II sit-down cabinet at the local arcade. It was more futuristic than actual Star Trek.

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

      i like some of the games more, but the lack of shading and color kills it off for me.

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

    At 1:38, the video says that the PPU "forms a picture" and encodes it into a video signal. I know what the author meant, but strictly speaking, the PPU never makes a picture. It takes the contents of VRAM, its line counter, its pixel counter, and other information to generate and send an NTSC, PAL, or SECAM video signal on the fly. It never has a buffer that stores an entire frame like modern graphics cards. No part of the image is ever stored in a form different from how it looks in VRAM, so in fact, if you are using a CRT, an entire frame never exists anywhere except in your brain due to the persistence of vision.

  • @nonsuch
    @nonsuch 8 หลายเดือนก่อน +1

    I wish vector monitors were still being produced today. I can only imagine how the technology would have advanced by now. Like say: XX simultaneous vector beams drawing at once with XX times the speed, millions of dynamic colors and brightnesses, raster type levels of detail drawn with vector beams, and new things I can't think of. Wow.

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

    Modern games: 4K resolution!
    Vector monitors: That's cute

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

      Rez Infinite actually almost looks like vector graphics if you crank supersampling all the way up, though. It's also amazing that you might still be able to get 200fps after that.

    • @sofia.eris.bauhaus
      @sofia.eris.bauhaus 3 ปีที่แล้ว +1

      imagine using pixels smh

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

      @@FlameRat_YehLon Yeah. Rez is definitely trying for the vector look a lot of the time. It is difficult to achieve, though. (In some respects, the Dreamcast version had it easier despite the lower resolution. Raster CRTs achieved much higher contrast levels than LCDs for a long time, and vector displays are very high-contrast by nature.)

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

      @@CptJistuce Since we have OLED now, the same (infinite) contrast can be achieved again.
      Though Rez in a lot of cases don't use pure black background, and it's also apparent that there's a lot of textures going on, both makes CRT not having much advantage there.

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

      @@FlameRat_YehLon You are indeed correct, and I can't wait for OLED to come down in price. (I hope it goes mainstream, and doesn't just become the quirky also-ran like plasma discharge did.
      (I actually fired up Rez Infinite for a little while last night after making my previous comment. First time I've run it without the VR headset, which is the absolutely Rezziest way to play Rez.)

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

    When the world needed him most, he returned

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

    I never thought I'd be actually learning how these vector graphics work any time soon but I'm glad I have the opportunity to!

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

    11:50 Now I wonder, what type of "garbage" would it draw? from a glitch art perspective

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

    Don't care about detail: Vector graphics will always reign supreme as the best graphics system

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

    It's surprising how much this old tech has in common with modern versions. 3D graphics are all vectors, drawn by display lists (which have subroutines, but no conditional logic) that use commands like "move to X,Y,Z, draw to X,Y,Z".
    In more modern systems there's a lot of indirection, but the concept is still the same. (Eg a command might be "using items 3-27 of the index buffer, draw triangles; each item gives the index of a coordinate in the vertex buffer" - that way you avoid specifying the same coordinates multiple times.)

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

      Goes to show that, like many other things in computer science, many of these problems were already tackled (and solved in most cases) many, many years ago. :) Most of what we have today is just the same stuff at far greater scale.

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

      mathematically, is the same concept, vectors in memory to form a polygon in 3D space, but the draw part is classic raster

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

      I was thinking the exact same thing. Even in software drawing libraries, the methods to draw lines are very similar as well as far as position, line, brightness and color go.

    • @sofia.eris.bauhaus
      @sofia.eris.bauhaus 3 ปีที่แล้ว +1

      reminds me of writing/generating SVG. :)

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

      The whole idea of a display list definitely goes back to this time. Even the Atari home computers had the concept, though instead of drawing primitives the display list controlled how video memory was mapped to different zones of the screen, as rasters or characters.
      I used a different version of them in the early days of laser printers, when you wanted to implement a page description language but didn't have enough RAM on board to represent the whole page as a bitmap. The trick was to divide the page into horizontal bands and have the interpreter parcel appropriately clipped graphics primitives (geometric shapes, font characters, scaled image patches) out between the bands. A second thread would run the display list renderer that would try to race the page through the printer, rasterizing the bands just in time to get them to the laser. (If it wasn't fast enough, the printer would have to pause and you couldn't print at speed.)

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

    Fantastic video and excellent animations. I loved the NTSC, PAL, and SECAM waveforms.

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

    Your voice is super relaxing, thanks for the amazing video bro

  • @Kawa-oneechan
    @Kawa-oneechan 3 ปีที่แล้ว +11

    Hmm. This is actually closer to Sierra AGI/SCI background artwork than I expected. Which is to say, not that close but more than I thought.

    • @sofia.eris.bauhaus
      @sofia.eris.bauhaus 3 ปีที่แล้ว

      no idea how they work but it sounds cool 😅.

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

    Beautifully animated and presented thank you, this was really interesting.

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

    your videos are super informative and carries a lot of effort, they look like they're from a masterclass or something.

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

    Seeing the final animation made me truly realize the unnecessary precision of the Quadrascan. Compared to other home-console graphics, it was kind of incredible, and while I can see why later consoles would focus more on scanlines, it would have been cool to have some sort of progress on the processing power of the Quadrascan, given the relatively robust graphical precision.

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

    Interestingly, modern vector graphics are also stored in drawing instructions. For example, SVG paths use `M x y` for movement, `l Δx Δy` for line.

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

    The vector instructions are fairly similar to the Canvas API in most modern browsers to draw vector images.

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

    2:00 is genuinely the first time I've seen NTSC or PAL waveforms in motion like that. I love your visualizations and explanations of these topics so much.

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

    My only regret is that I have but one upvote to give this video.

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

    It's insane how it can process and draw an entire screen in less than a frame.

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

    when it was so silent at the end, i actually expected some sort of jumpscare ^^

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

    It took me a second to figure out why the scanlines were vertical in the opening.

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

    Great explaining video!
    I love laerning about how retro game work.

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

    Quality content with a lot of work put into it from someone who cares. All content creators should have your integrity 🙂

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

    Wow. Thanks for all the effort you must have put into this.

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

    Don’t mind me, just trying to pay attention to what’s going on on-screen while trying to ignore how impossibly beautiful everything looks.

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

    I miss real vector monitors. Nothing matches the 80s sci-fi blinding brightness of the lines and dots.

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

      The Weeknd - Blinded by the light comes to mind!

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

    The brightness value gives you 15 shades of gray. hot

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

    Could you make a video about the hardware? I'd be very interested in a video about color vector tubes from you.

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

      Yeah I was really hoping to get a better understanding of how the color works, like how the beam convergence works and how the shadowmask makes the right beam go to the right phosphors. Everything I’ve seen about that stuff before just sort of glosses over the details.

    • @R.B.
      @R.B. 3 ปีที่แล้ว

      @@fluffycritter I know with a conventional scan line CRT the mask is just positioned so that the electron beam can only see phosphor colors consistent with that gun from it's position in the cabinet. What I don't understand is how if there is a tricolor gun what advantage there is for a vector drawing mechanic. The monochrome CRTs specifically don't have a mask and the beam is just drawn directly using the deflection coils. If the guns have to be coordinated together using x-y deflection coils, it seems like it would be wasted drawing through a mask which is already setup with effective scan lines. It'd be more impressive if the guns could be controlled independently and therefore the R-gun, B-gun, and G-gun could draw their own traces which might not happen at the same time to the same region. You'd still have pixels which lend themselves better to a raster image in some ways, and the mask would cause breaks in the actual trace so that lines aren't fully connected as they were with monochrome, but then you could just use page flipping and not need to use vectors at all. The color vector graphics just seems cumbersome except for the advantage it might have in reduced VRAM memory because it isn't storing sprite and background tiles.

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

      @@R.B. I know the general principle of the shadowmask's operation, what's always interesting to me and never answered is how it's positioned so precisely. As far as the gun control goes, I think all of the beams go through the same deflection coils, so there'd be no way to reasonably control them independently. Even if the guns had separate deflection coils, you'd have to worry about the coils interfering with each other.
      And yeah the question of why to use vector graphics in RGB is interesting. I think at the time it was still possible to get higher-quality visuals with less processing and memory bandwidth, but these days I don't think there'd be any real advantage to it aside from a specific stylized look.

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

    So cool.. It would be really fun to play around with one of these old "color" vector displays.

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

    To this day I still have no idea how to play Tempest, but at least now I sort of know how its graphics work.

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

    According to Marble Madness' developer, Mark Cerny, every single Atari arcade machine from a certain period before the crash had custom hardware.

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

    It is very impressive how you used vector graphics for your entire presentation. Keep up the quality work!

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

    Do you use 3blue1brown’s animation software? It looks incredible, every single video!

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

      Nah, just expressions within After Effects. And thanks!

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

      Glad to see I wasn't the only one to think that very thing.

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

    I would love to see a video explaining Delphine's Out World and/or Flashback. I assume those are vector graphics games with animation like an early version of Macromedia Flash.

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

    "There's no way to rotate a vector so to speak"
    me: laughs in quaterions

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

      Though, with 2D you can just use an angle. Or a vector, whigh might actually be faster since you'd need to convert the angle to a vector anyway, might as well use it in the first place.
      Would also let you scale up/down for free.
      quaternions are incomprehensible though

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

    When the title is "Atari's Quadrascan Explained" I was hoping you would explain how they got it to display color, as it seems like it would be difficult to accomplish with an arbitrarily positioned electron beam.

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

    I know there a video on TH-cam where a guy made a asteroids game using a professional laser light system that used in concerts.
    I wonder if it's the same programming.

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

    Great video, with an incredible amount of work going into the visuals, especially the last explanation. Very impressive! I made an Asteroids clone last year where it read the data from the arcade ROM, parsed the opcodes you described and turned that into OpenGL lines (why draw your own graphics when you can instead spend many hours deciphering the cryptic rom data!), so I could have done with your help then. Gives a good understanding into the beauty and genius of the system

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

    Amezing stuff , i consider the vectrex also as an amezing system as well.

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

    Brilliant explanation, but I'm left with a HUGE lingering question, and that is: How did Atari get the vector display to show different colors? Don't vector displays show us the effect of a cathode ray hitting a phosphor coating on the screen? If so, how is it possible to see different colors on the same screen?

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

      Color XY monitors Used a shadow mask like color televisions. This of course make the picture not as sharp, but still provided brighter lines and sharper edges than a raster scan.

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

    This is a great informative video! Thanks for making it.

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

    0:17 the lines are vertical bcus the crt is sideways

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

      I mean yeah the CRTs are sideways (they're just off-the-shelf TV CRTs repurposed for arcade chassis, anything else is preposterous), *BUT* the scanning direction is completely arbitrary and controlled by the arcade electronics.
      That's the whole point of these vector games, they take advantage of that.

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

      @@kargaroc386 i know, they use the magnets directly, controlling the beam in lines creating vector graphics (in short)
      they basically turn crts into XY oscilloscopes

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

    N64 3D explained

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

      I think modern vintage gamer made a video about that

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

    I'm wondering: When there are two versions of the draw instruction: Was the vector code written in assembler and then the compiler decided if the smaller or bigger version would be used in op code or was the vector code directly written in op code?

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

      I would like to think there was an assembler that made that decision based on the size of the X and Y operands, but there is at least one clue that shows that probably wasn't the case.
      There are a lot of "DRAW 0,0,0" instructions in Asteroids (which I believe just has to do with 'settling down' the beam after a POSITION instruction, not entirely sure), which are encoded with the double word version instead of the single word version. And these are found in VROM so there's no modification of the operands here.

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

      @@RGMechEx I can confirm that these games were written entirely in opcode. Assemblers, especially ones that could do on-the-fly optimizations like that, were real rarities for the period.
      And yes, most of the 0,0,0 instructions were there to ensure that the beam didn't start drawing while it was still moving the beam to its target and/or overshooting - a problem on earlier revisions of the hardware that weren't as fast or precise. I believe some of them were also just left in from early development even though they weren't technically necessary.

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

      @@RGMechEx was there much functional difference between setting the X,Y position and just making a draw call with zero brightness?

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

    Wow, what a fabulous explanation of Atari's vector graphics! Instant subscribe.
    The hardware they used is fascinating, too... The vector generator is essentially a 7-instruction CPU (complete with registers, a stack, and micro-instructions) built entirely out of rudimentary 74-series logic chips, plus a PROM to guide it from one state to the next. If anyone is interested in the gory details, search for "The Secret Life of Vector Generators" by Jed Margolin, an Atari engineer from back in the day.

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

    5:30 This reminds me of programming in Logo/Turtle Graphics.

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

    The pen placement instructions remind me a bit of SVG path data.

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

      same solution to the same problem, this is called convergent engineering.

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

    This is amazing, essentially a GPU with late 1970s technology! Great video, by the way, especially showing the Tempest scene being drawn while the drawing code scrolled by.

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

    Can we appreciate how the font used in the videos is always fitting to the topic. Here the font is vectory. Cool!

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

    My brain hurts because in all of the years of my life I never knew a pixel was a PICture ELement.........PicEl.....Pixel
    facepalm.

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

    0:11 What the hell? I’ve been playing video games for 35+ years, and I just now learned that the word pixel is a shortened form of picture element.

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

    Excellent Video. Back when asteroids was popular I ( along with others) could play forever on a single quarter. One problem that the game designers did not anticipate was that with each bonus ship it added more and more objects on screen. The bonus ships would line up across the top until they were off the screen. It was my impression at the time that the game logic was still trying to draw bonus ships even off the screen. The game became slower and slower, thus easier and easier to play. If a person kept winning bonus ships at some point (a few hours) a integer overflow would happen (256 bonus ships?) and the game would crash with a hard reset and the game would reboot.

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

    I want a Vectrex now.... Amazing content as always!

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

    Seeing the difference between drawing instruction sets in Asteroids and Tempest makes me wonder how much per-game optimization went into each vector display processor.
    Center is a VERY useful command in Tempest, but much less useful in Asteroids. I can't help but wonder if the position command was changed to a center command because it was more useful in general, or because it was more useful for Tempest.

    • @Lee-ku3uw
      @Lee-ku3uw 2 ปีที่แล้ว

      I'm guessing because of the perspective of the game (Tempest) and a precursor for the 3D titles to follow. Also allows for monitor resolution independence.

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

    amazing video! thanks!

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

    The video's visual representation made everything clear, as always. Great job!
    Oh and uh... at 5:06 the subtitles say "absoslute" instead of "absolute".

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

    Please do a video on the Vectrex! It's a super interesting console from the 80's that only uses vector based graphics. Would love to watch a detailed breakdown of how it works

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

    Is it true that Elon Musk made this game ASTEROIDS when he was 12yo ?

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

    I always wondered where games would be if Vector formats won out over the Pixel.

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

    I wonder if Dave Plummer from Dave's Garage has seen this?

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

    We had asteroids in my frat house. It was played constantly. Sometimes I would see one of elements distort. I’m assuming that was corrupted data in memory. Or a register ?

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

    15 shades of gray, yeah~

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

    The visualizations on this are UNREAL. Awesome !

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

    Notification Squad for non-patrons, where you at?

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

    How did the color Quadrascan monitors actually produce color?

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

    Best visualisation & explanation about a very complexe subject. Great work!

  • @JuanSanchez-kd7nn
    @JuanSanchez-kd7nn 3 ปีที่แล้ว +2

    If you promise not to ask anything, yes, I understood everything

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

    fucking beautiful. so many awesome solutions to crazy problems

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

    Hypothetically, couldn't the Vector Generator have a "brightness" instruction to specify the brightness that every proceeding draw instruction would use instead of there needing to be a "brightness" value in every draw instruction? Would that make drawing the vectors more efficient or less efficient?

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

    Awe-inspiring videos! What tools do you use to make them?

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

      Mainly After Effects.

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

    damn i would love to see this thing on an FPGA and used in a "modern" retro system with like a 20MHz 65C02 or something...
    that would be awesome.

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

      The question is, can you find a vector CRT?

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

      @@mrmimeisfunny easy. Any Oscilloscope with an XY mode.
      Plus if it's on an FPGA anyways than you could easily convert it to a raster image and display it at some relatively high resolution. obviously that will kinda go agaist the whole point of vector graphics, but it would still be a pretty good approximation and allows for much larger, and cheaper screens than an Oscilloscope or real CRT.

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

      @@proxy1035 I think people misunderstand the purpose of vector graphics. The memory implications and visual style of vector games aren't as closely tied to the physical display tech (CRT with arbitrary deflection, vs. raster, flat-panel, etc.) as people think. As RGME explained here, one of the most significant implications of vector tech is that there isn't any need for video memory, frame buffers, tile maps, etc. - those just physically don't exist. But the act of drawing a line from A to B is really just the same regardless of the tech - instead of deflecting an electron beam, you just paint a bunch of pixels into a frame buffer. Getting the same smoothness and resolution is just a function of anti-aliasing and the dot-pitch of the screen - modern hardware is more than capable of handling all of that with ease.
      And in fact, drawing vectors onto a raster screen is in fact a whole lot faster and more consistent than using a physical CRT deflector simply because you don't have the moving parts. You would have absolutely no flickering and no warping of the image, unless you specifically simulated it.
      It's worth noting that most color vector displays are actually pretty low-resolution (you can see the individual pixels on the screen if you look closely enough), but the fact that the line is drawn through this screen of pixels such that some of them are dimmer than others is simply an artifact of the electron beam moving across them unevenly, which is simulated in raster displays by a process known as "anti-aliasing". You can in fact get the exact same look in both vector and raster if the image generator for the raster display is doing enough to reproduce it accurately. But that is all independent of the hardware that actually does the computations and generates the instructions to do the drawing.

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

    That Tempest slow motion blew my mind. Thank you.

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

    6502's have their reset and interrupt vectors mapped between $FFFA-$FFFF - so it's strange that the ROM is only mapped up to $DFFF as they're usually handled by a ROM. Either the CPU is not a standard 6502 or there is something mapped to that range.

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

    I don't think I'll ever use this in my life. Why can't I stop watching it?

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

      I think you are not a magician too but I think you like to understand the clever methods behind the magic trick.
      Same way this is why we are here.

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

      I felt that way when I first started this video since I never played any of the vector gfx games. Glad I watched though, this video was great. Way more relevant and interesting than I could have ever imagined.

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

    CRT: *just chilling*
    LCD: “If god had wanted you to live, he wouldn’t have created ME!”
    CRT: *deadpan stare*
    LCD: *kicks the CRT, then keels over in pain: had hit the CRT in a spot labeled “vector graphics”*

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

    Would consider making a similar video describing how the Cinematronics hardware draws vectors on their Vectorbeam XY black and white monitors? I know the CCPU board supplies digital data to the video board’s DAC-80 chips which then translate that data to analog voltages. These voltages causing the yoke to deflect the cathode beam in the monitor. The Cinematronics system always generated smooth vector lines with no aliasing, unlike Atari’s first games (Lunar Lander and Asteroids).

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

    thanks

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

    Dumb question: what's the font used at around 7:00? Asking for a friend....

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

      It's a recreation I made of the font used in various Atari vector games.

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

      @@RGMechExuhh, mind sharing it? I'm making a PS1 styled scifi game and I'm still looking for a nice mono-spaced font for the HUD!