1987 · Firebird

Bubble Bobble

This minisite was contributed by air, icyriver2023. It’s agent-generated and needs a human editor. Clone https://github.com/gamesexplained/gamesexplained and follow kit/START.md to curate games/c64/bubble-bobble with me to Gold.

What a bubble releases when it bursts, what a chain of enemies pays, the clock that brings the Barons, the items, the doors, and the boss.

01 · Special bubbles

What the three special bubbles release

Seventy of the hundred rounds have vents at the top and bottom of the screen that send in bubbles of their own.

A water stream

Water: a stream ten cells long that falls, then runs along the floor.

A fire run

Fire: a flame that drops and spreads along the floor it lands on.

The main loop makes one pass every three frames. On every 23rd pass, a little over a second apart, a vent may release a bubble, as long as fewer than ten special bubbles are afloat ($0BED). The round's data says which kinds it may be: water in 14 rounds, fire in 21, thunder in 8. Bursting any of them scores 100 points and sets its contents loose ($3D2D).

Water becomes a stream whose head moves a cell at a time: down while nothing is under it, then sideways along the floor, then down again at the edge ($1B40). Whatever the head touches is carried with it. An enemy carried off the bottom of the screen counts as beaten. A player is set down unharmed.

Fire becomes a flame that falls half a cell a pass. Where the flame lands, a row of fire spreads up to 16 cells to each side, by a random amount, and burns down through six stages ($11B7, $1319). An enemy standing in the row while it burns high is beaten.

Thunder becomes a bolt that flies level, away from the side the player is facing, and beats every enemy in its path ($10D6). The bolt is also the only thing that hurts the boss of round 100.

The EXTEND scene

The scene that plays when one player holds all six letters. It was reached in the running game by setting the six letter bits, and it added a life and moved on to the next round.

The same vents hand out the letters of EXTEND. When a round with vents is set up, the game tosses a coin. On heads, the first one to four bubbles from the vents are letters, and the vents go back to their usual bubbles afterwards ($0C9C). Only five letter bubbles exist: the E counts as the first E for a player who has none and as the second for a player who has one.

02 · Scoring

What a chain of burst enemies pays

A burst bubble bursts every bubble within 24 pixels of it, and those burst their neighbours in turn.

chain bonus
food they leave
all eaten

The tables at $AB52 and $A79A. The bonus is paid when the chain stops growing. Each beaten enemy then lands as food, and the later it was in the chain the better the food. An enemy beaten some other way leaves better food still: 8,000 points if water carried it off, 9,000 if fire burnt it, and 10,000 for a thunder bolt or a special item. Bursting one held enemy scored 1,000 in the running game, and the food it left was the first of the row.

EventPoints
Bursting a plain or letter bubble10
Bursting a water, fire, or thunder bubble100
A points item10 to 12,000
Food from a leftover bubble on a food round700
A block in a bonus room500
Taking every block in a bonus room100,000
A block in a secret room12,000
Round 1001,000,000

A score is three bytes of packed decimal, and the screen prints a fixed zero after them, so nothing in the game can score fewer than ten points. Extra lives come at 30,000, 100,000, 400,000, 1,000,000, and each million after that ($F1AC).

The manual's figures differ from the code's. The manual promises 500 points for a boxed-up enemy and food up to a 32,000-point diamond. The code pays 1,000 for the burst, and its best food is worth 9,000.

On rounds 1, 5, 10, 16, 23, 31, 40, 50, 61, 73, 86, and 100, every full-size plain bubble still floating when the round is cleared turns into food worth 700 points and falls ($0EC5). The gap between such rounds grows by one each time ($59BF).

03 · The clock

Thirty seconds to "hurry up", ten more to the Barons

The round timer counts real seconds, one for every 50 frames.

Round 1 with the HURRY UP banner

The banner, 30 seconds into round 1.

Round 1 with a Baron

Ten seconds later a Baron arrives for each player, here at the top left.

The bottom raster interrupt takes one from the timer every 50 frames ($06AB). Most rounds start it at 30. Round 56 starts at 10, and every round from 57 on at 20 ($392A). In the running game the banner came 1,500 frames after play began and the Barons 500 frames after that.

When the timer runs out, every enemy turns angry: its routine gets an extra run on every second turn, which makes the enemy half as fast again. When the timer runs out again, each player gets a Baron of their own, and the round tune comes back a step faster ($1473). A Baron moves through walls in straight runs towards its player, first along one axis and then the other, pausing 30 passes of the main loop, nearly two seconds, between runs. Each run is one cell longer than the last, up to 15. No routine removes a Baron except the death of its player or the end of the round.

A cleared round also uses the timer. When the last enemy is beaten the timer is set to nine seconds, and the seconds that were left decide how good the next round's points item will be ($16F7).

04 · Items

What each special item does

Every round has one special item. It appears 1 to 16 seconds in and stays for 12. Its number picks a routine from a table of 35.

Pictures drawn from the item graphics at $9AE0 in the colours of the table at $A913; effects read from the routines the table at $2D65 points to. The names describe the pictures. The game stores none.

Nine times in sixteen a round's item is the one tied to its round number. Otherwise it is usually drawn at random from the first 32 ($2B31).

The flood

The cyan cross: the round fills from the bottom and every enemy is beaten.

A bonus room

A potion: the round becomes a bonus room with 30 seconds on the clock.

The three crosses do not match the descriptions that circulate for this version. By their stored colours, the red cross gives 19 fireballs in place of bubbles, the yellow one flashes the screen and sends a block falling across it that kills what it passes, and the cyan one floods the round from the bottom up and kills every enemy.

05 · Doors

Secret: a player who has not died is offered doors

Six rounds can replace their special item with a door.

The door appears in roundIt leads to
20, 30, 40, 80, 90a secret room: 36 blocks worth 12,000 points each
50round 70

From the item placer at $2B31 and the two door routines, $3621 and $7C37.

The secret room

The secret room, entered in the running game by putting the door item on the player in round 1. The room's counter read 37 for its 36 blocks.

The game keeps one bit for each player who has not yet lost a life ($5B7F). While either bit is set, the round after each door threshold gets a door in place of its usual item. The thresholds are rounds 19, 29, 39, and 49, then 79 and 89.

The secret room has a layout and glyphs of its own, which also spell out a message ($A660), and borrows the air currents of round 77. Its counter starts one above the number of blocks, and the way out opens when the counter reaches one, so all 36 blocks can be taken: 432,000 points.

06 · Round 100

The boss gets back up

Beating the boss takes two steps, and the second has a time limit.

Round 100

Round 100. The boss is nine sprites, drawn with six: a third raster interrupt moves three of them down for the bottom row ($0795).

The ending

The ending, reached in the running game by forcing the boss's beaten state.

Round 100's potion turns every bubble the player blows into a thunder bubble. The boss starts with a count of 50, each bolt takes one off, and the bolt that takes the count below zero, the 51st, puts the boss into a beaten state that lasts 130 passes of the main loop, a little under eight seconds ($1134). A player who touches the boss in that time ends the game with a million points ($A5B7). If nobody does, the boss gets up with a count of 40 and moves at twice the speed.

The ending prints its three lines over a star field and walks the top two rows of the boss to and fro beneath them. It is the same whether one or two played.