[HN Gopher] Parsing the C64 Bubble Bobble Wind Currents
       ___________________________________________________________________
        
       Parsing the C64 Bubble Bobble Wind Currents
        
       Author : geon
       Score  : 135 points
       Date   : 2025-01-06 14:57 UTC (4 days ago)
        
 (HTM) web link (geon.github.io)
 (TXT) w3m dump (geon.github.io)
        
       | wzdd wrote:
       | Nice analysis, and cool to see how simple it is to get quite a
       | satisfying effect. Also quite fun to see that the level symmetry
       | was indeed exploited multiple ways to save space. If the author
       | is here, they write '"@123" are the first 4 entries in the
       | default c64 character set' but likely meant @ABC.
        
         | geon wrote:
         | Dammit, fixed.
         | 
         | And thanks!
        
       | actionfromafar wrote:
       | In two player mode, still even today, C64 Bubble Bubble is one of
       | the _best_ casual games. I can sit down almost anyone on the
       | couch and they 'll enjoy at least a few rounds, experienced video
       | game players or not.
       | 
       | That the game design _and implementation_ cuts through FOUR
       | decades of time to be enjoyable says something. There are many
       | old games which still are good but not as accessible to a modern
       | audience.
       | 
       | There are even more old games which are impressive even in
       | retrospect, but don't play well today.
        
         | mbajkowski wrote:
         | Indeed, my kids who are 5 and 8 enjoy it about just as much as
         | Mario Kart 8 - especially the earlier levels which require less
         | of the balloon jumping.
        
         | fidotron wrote:
         | Bubble Bobble, arcade and ports, were wildly popular especially
         | in the UK, to the point that when I was working as a game dev
         | in London in the early 2000s if you mentioned what you did to a
         | random person the chances were they would start lamenting how
         | complicated these modern 3D games were and how after a bit of
         | digging it would turn out they just loved Bubble Bobble/Rainbow
         | Islands etc.
         | 
         | I think it's up there with Asteroids, Defender and Robotron
         | honestly.
        
         | dfxm12 wrote:
         | Is there anything specific about the C64 version that sets it
         | apart from the arcade, NES or other versions? As for design,
         | old arcade games had to both look and be fun fast in order to
         | earn your quarter. As for implementation, the story goes that
         | the original source code for the arcade game was lost and all
         | ports had to be done by reverse engineering an arcade board.
        
           | _sys49152 wrote:
           | c64 was just so much smoother playing + looked better
           | visually. not choppy.
        
           | geon wrote:
           | I don't think source was ever used for porting in those days
           | anyway. The asm wasn't directly portable for sure.
           | 
           | The c64 levels are pretty close to the arcade, apart from the
           | arcade having 26 rows of tiles rather than the c64's 25.
           | 
           | The nes versions levels deviate wildly. Some have been moved
           | and some are replaced.
        
             | ahartmetz wrote:
             | Not at all? If I was porting a game, I'd at least want to
             | make important behaviors 100% true to the original -
             | accelerations, jumping physics, hitboxes, speeds... these
             | are pretty tedious to reverse-engineer without source.
             | OTOH, the source was assembly and the binaries could be
             | disassembled...
        
               | beagle3 wrote:
               | Not at all.
               | 
               | Frame rates varies widely, resolutions varied widely. The
               | exact behavior was in e.g. pixels/frame, and you had to
               | work hard to get the same feel on a 50hz 256x192 4Mhz z80
               | ZX Spectrum, as you did on the 60hz 160x200 1Mhz 6510 C64
               | ; Also abilities differed widely : C64 had hardware
               | sprites, tile (text) mode and hardware scrolling;
               | Spectrum had nothing but a frame buffer (it did have a
               | much faster memory copy instruction, LDIR, but that
               | didn't compete with hardware scrolling).
               | 
               | And the original arcade, of course, had multiple
               | playfield with hardware scaling, and often game-specific
               | hardware (in the early days at least)
        
               | fidotron wrote:
               | I think you underestimate how different the original game
               | and port targets were, and overestimate how capable the
               | machines the porters had access to as workstations were.
               | 
               | To take a famous extreme example:
               | https://en.wikipedia.org/wiki/Chase_H.Q.
               | 
               | Arcade video: https://www.youtube.com/watch?v=Dfz2qofmZx0
               | ZX Spectrum video:
               | https://www.youtube.com/watch?v=s2aYrkofKHM
               | 
               | And that ZX Spectrum port is brought up all the time when
               | people talk about great Spectrum games, while it is, at
               | best, kind of themed the same way as the arcade original.
               | 
               | In the case of Bubble Bobble the hardware was:
               | https://system16.com/hardware.php?id=646
               | 
               | That's 3 Z80s, not counting the sprite hardware.
               | 
               | The result was in practice a lot of this would be done by
               | playing the arcade machines and then attempting to
               | replicate the feel on the target (which is why so many
               | ports miss easter eggs), and at that the C64 did
               | remarkably well here.
               | 
               | The Atari 2600 Pacman is the canonical example of this
               | going wrong.
        
               | duskwuff wrote:
               | > If I was porting a game, I'd at least want to make
               | important behaviors 100% true to the original -
               | accelerations, jumping physics, hitboxes, speeds... these
               | are pretty tedious to reverse-engineer without source.
               | 
               | You're wildly overestimating how professionally done a
               | lot of video game ports were in that era. It wasn't
               | uncommon for home computer ports to be written by a
               | single developer whose only access to the original was
               | being able to pump a pocketful of quarters into it at
               | their local arcade.
        
               | fredoralive wrote:
               | There's a bit about the port as a section of a longer
               | discussion about publisher Firebird:
               | https://youtu.be/LWHJomIX_As?feature=shared&t=2297 .
               | Which does state that yep, it was mostly made by playing
               | the arcade game lots then doing the best they could. They
               | apparently did have some documentation... in Japanese.
               | 
               | AFAIK "here's an arcade PCB, write this for the C64 /
               | Speccy" wasn't an uncommon thing back then. Arcade
               | perfect wasn't really a thing for the 8 bit micros...
        
           | geon wrote:
           | No source is truly lost when you have a disassembler. :D
        
             | kmoser wrote:
             | Quibble: no source _for that target architecture_. If the
             | source included pragmas for other targets, you 'll never
             | know what they were.
        
         | jandrese wrote:
         | Was the C64 version available as a cartridge or did you have to
         | load it in via the painfully slow floppy drive or worse off of
         | a tape?
         | 
         | An advantage of the NES version is you could be playing it
         | within seconds of hitting the power button, which made it great
         | for casual pick up games.
        
           | fidotron wrote:
           | This reply is amazing because it's like people from totally
           | different universes trying to communicate.
           | 
           | The sort of people playing Bubble Bobble in the 80s on C64s
           | would almost certainly have been doing so from tape, more
           | than likely pirated. The NES was not really on the radar of
           | these people at all.
           | 
           | I heard of C64 piracy operations in northern europe where the
           | local radio station would play C64 games for recording on
           | sunday afternoons. That's how pervasive it was.
        
             | ajuc wrote:
             | Or you could live in Poland and only get C64 and (clones
             | of) NES in 90s. And copyright only started being a thing in
             | like 1993. So before that public radiostations broadcasted
             | computer software sometimes :) And there were open air
             | markets with pirated games in the center of most big
             | cities. That's where CD Projekt RED guys started - by
             | selling games they got by paper mail from abroad on these
             | markets.
        
             | georgemcbay wrote:
             | Speaking as an old person who learned to code as a young
             | teenager on the C64 (motivated in part by the ability to
             | pirate games because I otherwise had no means to afford
             | them), by the C64 era disk drives were a lot more prevalent
             | than tape in my experience, at least here in the USA.
             | 
             | The C64 users of the time that I knew, including myself,
             | were all using the 1541 floppy drive (keep the screwdriver
             | handy so you can quickly pop the top off when it inevitably
             | needs to be realigned because of how common it was for
             | anti-piracy measures of popular games to knock the drive
             | head around).
             | 
             | Still slow (but probably sped up by a 'fast load' cartridge
             | if you were and avid user), but not quite as bad as the
             | PET-era cassette tape situation.
             | 
             | And back to the main topic -- I played a lot of multiplayer
             | Bubble Bobble on the C64 with my sisters and cousins.
             | Enough that I can still easily recall the theme song
             | decades later.
        
               | Sharlin wrote:
               | I believe tape was much more common in Europe, the 1541
               | was _expensive_. My second-hand C64 (my first computer!)
               | did come with a 1541, but that wasn 't until the early
               | 90s...
        
               | fidotron wrote:
               | Yep. By the era in question in Europe if you had money
               | for a C64 disk drive you were buying an ST or Amiga
               | instead.
               | 
               | I don't think many on the western side of the Atlantic
               | appreciate how relatively poor, and tight fisted, much of
               | Europe was and remains, even the good bits.
        
               | geon wrote:
               | Exactly. Everyone used tapes and turbo loaders.
               | 
               | The screen of "Turbo 250 By Mr. Z" felt like magic. Not
               | only could you load a game in one minute instead of ten,
               | but you suddenly had extra commands available in the
               | basic prompt.
               | 
               | https://csdb.dk/release/?id=20633
        
           | beagle3 wrote:
           | Fast loaders were a thing after 1987, and we're plenty fast,
           | even the tape ones were acceptable. Not cartridge fast, but
           | 10 sec floppy disc load for games, about 30-60 secs for
           | cassette.
        
       | Dwedit wrote:
       | Back in 1998, a level editor was made for the Arcade version of
       | Bubble Bobble, named "Patch-A-Bobble". This level editor revealed
       | the directional airflow in the levels.
        
       ___________________________________________________________________
       (page generated 2025-01-10 23:01 UTC)