C64 Games memories - Rampage

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ก.ค. 2024
  • In this Commodore 64 video we look at Rampage. How it uses three sprite grids for the players, with dynamic sprite frames, find the graphics data, and background redraw with dynamic bullet characters.
    github.com/martinpiper/Debugg...
    00:11 Introduction
    01:09 Loading the disk
    01:51 Nice loading screen
    02:46 Next loading screen
    02:59 Game instructions screen
    03:10 Player selection
    03:19 Player use large sprite grids
    03:38 Hardware sprite limitations
    04:04 Other game objects use multiplexing
    06:19 Analysing the hardware sprite usage
    11:15 Destroying the buildings
    11:47 Tape version in ICU64
    12:48 Dynamic sprites
    16:01 Double buffered text screens
    16:41 Background drawing every frame
    17:09 Dynamic characters for bullets
    18:45 Finding player graphics data
    22:07 Thoughts on the rendering
  • เกม

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

  • @GuybrushThreepwoodNZ
    @GuybrushThreepwoodNZ 14 วันที่ผ่านมา +3

    A technically impressive, faithful rendition of a very addictive arcade game.

    • @MartinPiper6502
      @MartinPiper6502  14 วันที่ผ่านมา +3

      Yeah I'm really quite surprised at how accurate it is.

  • @japangamejunk
    @japangamejunk 11 วันที่ผ่านมา +2

    This stuff is seriously interesting. Huge respect to the people who not only understand this stuff but can help someone like me understand it too!

  • @jackmf3960
    @jackmf3960 14 วันที่ผ่านมา +3

    Great episode. Thank you. I was curious how the big characters are solved. It's completely different here than in Barbarian. Duplicate sprites are a cool technique. It's strange that the processor has so much graphics copying. And yet it works. The programmer had to optimize it well. :)

    • @MartinPiper6502
      @MartinPiper6502  14 วันที่ผ่านมา +1

      The regular spacing of the sprite grids help, because the code can more easily organise when to update the sprite registers for the next part of the sheet. It really is a good effect for the time period when this game was released.

    • @michaeljarcher
      @michaeljarcher 14 วันที่ผ่านมา +2

      @@MartinPiper6502 Ánd the IRQ handler was re-written one week before the completions to save about 6 CPU cycles / IRQ. This is why the IRQ handler as absolute values and not form memory addresses, the IRQ was poked all over all the time critical, and zero flicker. I could of gone on to larger sprites, but memory limits make it somewhat impossible.

  • @michaeljarcher
    @michaeljarcher 14 วันที่ผ่านมา +3

    Thanks!

    • @MartinPiper6502
      @MartinPiper6502  14 วันที่ผ่านมา +1

      Thank you for the very generous support. :)

  • @alanbenson1505
    @alanbenson1505 14 วันที่ผ่านมา +1

    I'm 8 seconds in... and I know this is going to be good!!

    • @MartinPiper6502
      @MartinPiper6502  14 วันที่ผ่านมา +1

      Glad you liked it :)

    • @alanbenson1505
      @alanbenson1505 13 วันที่ผ่านมา +1

      @@MartinPiper6502 I love the 6502 on your name, Martin. I've just noticed it!! Have you done a Gribbly's day out video? I'd be interested to see if Braybrook used similar techniques to what he did in Paradroid in the scrolling routine.

    • @MartinPiper6502
      @MartinPiper6502  12 วันที่ผ่านมา +1

      I will add it to the list :)

    • @alanbenson1505
      @alanbenson1505 10 วันที่ผ่านมา

      @@MartinPiper6502 Thanks!

  • @JustWasted3HoursHere
    @JustWasted3HoursHere 14 วันที่ผ่านมา +1

    Some very clever programming for the sprites in this. I used wonder why programmers didn't just use 8 spites in a row on a horizontal line and then before the raster beam finishes drawing the 8th sprite (but after drawing the others), just redefine and move the first sprite to a position after the 8th sprite so that you could have more than 8 on a line, but apparently the hardware cannot do this. Not sure if it's a limitation of the VIC-II chip or the clock speed of the hardware.

    • @MartinPiper6502
      @MartinPiper6502  14 วันที่ผ่านมา

      If I recall correctly, the video chip will only clock out the pixels for each sprite once per horizontal line, when the sprite X position reaches the currently displayed pixel position in the horizontal line.
      This means even if sprite0 has an X position on the left of the screen, then halfway during the horizontal line the X position is moved to the right, the sprite won't be displayed again on that line.
      The latches for when to clock out the sprite pixels are reset for each horizontal line.

    • @JustWasted3HoursHere
      @JustWasted3HoursHere 13 วันที่ผ่านมา

      @@MartinPiper6502 That sounds about right. Perhaps the VIC-II chip has a one-line buffer that it constructs the next line in and only scans the sprite info once before updating that buffer. I knew there was a reason that coders didn't do it, though they did discover the open-borders glitch, so who knows what capabilities are still lurking inside that old chip? ;)

  • @Mr.1.i
    @Mr.1.i 13 วันที่ผ่านมา

    and then the structure of games was re invented when nintendo launched the famicom

  • @rwxdesigns
    @rwxdesigns 13 วันที่ผ่านมา +2

    The U.S. version of Rampage is a much better game.

    • @MartinPiper6502
      @MartinPiper6502  11 วันที่ผ่านมา +1

      I think I need to have a look at that version at some point :)

    • @rwxdesigns
      @rwxdesigns 11 วันที่ผ่านมา +1

      @@MartinPiper6502 yes, the sampled sound and better animation on the main characters also helps the game beat the UK version.

  • @cpu_UP
    @cpu_UP 14 วันที่ผ่านมา +1

    Thanks!

    • @MartinPiper6502
      @MartinPiper6502  14 วันที่ผ่านมา

      Thank you for the continued support. :)