Bubble Bobble Editor v3.0 for Windows

Welcome to Bubble Bobble Editor version 3.0. This editor will edit from level 1 to level 79 of the ZX Spectrum version of Bubble Bobble. The original is included in the editor by default, so you don't have to go and find an original copy to use with this editor.

A major change has occured since version 2, in that I have stopped working on the ZX Spectum version for now, and I've written a version for Windows using Borland Delphi with FastLib. Along the way, Mr Anon and Dunny have kindly provided snippets of code to help me get things rolling. StuBruise also patched the 48k/128k detection routine in Bubble Bobble that sometimes causes corrupt graphics. This program provides a much more comfortable environment for designing your own Bubble Bobble levels. It produces ZX Spectrum .sna type snapshot files in both 48k and 128k modes and .tap files.

Contents

Installation & Getting Started

The File Menu

The Edit Menu

Editing The Level Layout

Level Colours And Border

Bubbles and Airflow

Graphics Editing

Enemy Editing

Items

Snapshot Preperation and v2 File Convresion

 

 

Installation & Getting Started

Seeing as you are reading this manual, I assume that you have at least opened the archive to see what is inside it and clicked on the .htm file to open the manual. What you should really do is unzip the archive to it's own folder somewhere on your C drive, or another convenient drive. This is all that is needed, unless you want to right-click the .exe file and place a shortcut to it on your desktop. Double click the .exe (or your shortcut to it) to start the program.

When you have started the program, you will be presented with a window like so...

 

The File Menu

The File Menu contains some options such as, Open, Save, Exit etc.

New resets the editor to it's default game, so be careful with this option as it will wipe all changes you have made.

Open .sna simply opens a 48k or 128k snapshot (in .sna format only) of Bubble Bobble. This can be one saved by the editor, or one you have prepared in the proper manner. This will be explained later. The default Bubble Bobble game is already stored in the program itself, so no need to mess about, you can get straight down to editing it if you like.

Save 48k .sna and Save 128k .sna, save a .sna snapshot for you to run in an emulator, in the mode of your choice. The only real difference is that 128k snapshots will be in 128k mode and therefore the music will play as well as sound FX.

Import .scr is only really needed if you are planning to save a final version of your game to a .sna or .tap file with a customised loading screen. In a .sna file, it simply appears as the first thing you see when you load the snapshot. You can draw your own loading screen in a ZX emulator using such programs as Artist II and Art Studio and save them from the emulator as a .scr file, or you can use Windows programs such as SevenuP or ZX Paintbrush to draw the screen and again save as a .scr file. A default loading screen is included in the editor and this will be included in any .sna or .tap file you save where you have not imported a custom screen.

Save .tap saves a ZX Spectrum emulator tape file of your game, complete with basic loader, and loading screen. These will load in any mode on your emulator and so can be played in either 48k or 128k versions, plus you can use them as a way to transfer the game to CD or tape to play on a real Spectrum!

 

The Edit Menu

The Edit Menu allows you to copy and paste level layouts and enemy data. Symmetrical levels can be pasted to asymmetrical ones with no problem, but if you paste an asymmetrical level to a symmetrical level, you only get the left half of the level pasted and it is repeated in reverse on the right hand side.

 

Editing The Level Layout

When you move your mouse over the Level Layout Editor, or the Graphics Editor, then the cursor will change to a cross. If you click on a blank area (black in the Level Layout), then a block of the graphic is placed at the cursor. If you now hold the button down and move the mouse, you can draw blocks to the level swiftly. If you first click on a block then it will be erased, and if you hold the button and move then lots of blocks can be erased with ease.

You may want to select a different level to edit, and this can be done using the Level Control Up/Down buttons.

Levels have two different types, symmetrical and asymmetrical...

When editing symmetrical levels, you can only draw on the left half of the screen, and the opposite blocks on the other half of the screen are drawn / erased at the same time. The asymmetrical levels do not have this restriction.

The black section at the top of the Level is reserved for enemy placement, and can not be drawn to.

 

Level Colours and Border

The level can have two colours assigned to it, Paper and Ink. The Enemies will appear in the same colour as the Ink selected. Use the drop down menus at the right (Colour Selectors) to chose these colours. You will not find Black in either menu, Red in the Ink menu or Cyan in the Paper menu. This is all due to the way the game works.

There are only 15 colour combinations used in the game, and they loop as the levels progress. Editing the colours for Level 1, also edits the colours for Levels 16, 31, 46, etc. If a level above level 15 is selected, then the colour selectors are disabled.

The border strips at the side can be rendered as normal sized graphics or double height and width graphics. Check or Uncheck the Border checkbox to select which one you want.

 

Bubbles and Airflow


Bubbles have restrictions placed on them when editing them. When you first run the editor, you will notice that Level 1 has no bubbles. The selector is also greyed out, so that you can not select a type of bubble for this level. So, search for a level which has bubbles, and you'll see that the selector is enabled. Change the selection to 'None', and go back to Level 1. The selector is now enabled on Level 1, so you can now choose a bubble type for it.

In the code of Bubble Bobble, there is a long list of level numbers that describes which levels have bubbles and which don't. This means that if we want to change the level so that it has bubbles, we must first change a level that has bubbles so that it has none, otherwise there is not enough room in the list to store the information.

Bubbles have 4 types, Water, Lightning, Fire, and Extend. Water bubbles burst and produce a stream which runs down the screen sweeping you along in it, and killing enemies which get in it's way. Lightning bubbles let out bolts of lightning which move horizontally across the screen and kill enemies that get in their way. Fire bubbles drop fire onto the platform below which kills any enemies which make contact with it. Extend bubbles give you letters to make the word 'Extend' appear at the side of the screen, and give you an extra life.

When you check the Edit Airflow checkbox, the level display switches to something like the above, and 3 controls become available just below the checkbox.

Airflow determines how the bubbles (both those that you blow and those that appear) move around the screen. The game has values for almost every level that describe blocks of arrows. When a bubble sits over one of those blocks, it travels in the direction set by the arrows. While we can change the size and shape of the blocks, and the direction the arrows face, we can not change how many blocks or 'areas' there are on any level. If you need to get rid of an area, you can just place it over another area and set it's direction to the same direction as the area it's placed over. The map is initially filled with Up arrows, and areas of different types are layed over the top, one after the other in number sequence.

Use the up and down controls for Area, Direction and Gap Type to change these values. You will notice that the Area Up/Down is greyed out on some levels, this is because there is only one area to play with on these levels.

The Gap Type value changes the airflow in the gaps at the top and bottom of a level. Gaps should usually be placed where these arrows appear, but you can be creative if you are careful. Some gap types are repeated. At this moment, I'm not sure exactly why that is. Also, some types appear to be missing from the game code.

Once you've selected an area to edit (it will be highlighted in grey), click and hold where you want the top-left corner of the area to start, then drag to the bottom-right corner and release the mouse button to set it's size. You can only draw to the left half of the screen, as the airflow is reversed on the right half. The right half will show the way the areas are layered on top of one another.

Some levels share airflow maps. You will have to build some of your levels with this in mind. You will not be able to edit the airflow on these levels, but it will be displayed when you check the Edit Airflow box. Here are the details...

Airflow on Level 1 is shared by 2,36,48,50 and 52

Airflow on Level 5 is shared by 6

Airflow on Level 7 is shared by 43

Airflow on Level 13 is shared by 14 and 60

Airflow on Level 29 is shared by 41 and 42

Airflow on Level 34 is shared by 35, 46 and 69

Airflow on Level 76 is shared by 77 and 80

 

Graphics Editing

The Graphics editor works in the same way as the Level Layout editor. There are only 5 graphics in the game to edit, and they loop round as the levels progress. This means that editing the graphic on Level 1, edits the graphic on levels 6, 11, 16, 21, etc. If a level above level 5 is selected, then the graphics editor is disabled.

 

Enemy Editing

There are 8 types of enemy in the game, and 7 can be placed on each level. They can face either left or right, and sit anywhere on the screen to start with. This is except for Level 1. Although this editor allows you to place the enemies at any position vertically on level 1, they will not behave this way in the game. For some reason the verical position is limited on level 1. I find it's best to place the enemies at the top of the screen and let them fall to wherever at the start of the level.

You can edit the enemy type and direction for each of the 7 enemies, by clicking the Up/Down control buttons underneath their pictures. Eventually you will get to 'none' which means that this enemy has been switched off. Another click switches the enemy back on and resets it's screen position to the top left.

Each enemy has it's own proporties, such as ways of attack etc. You can not change these, but you can change the time it takes for each enemy to start moving from it's start position. This is done with the Enemy Pattern Up/Down selector. The number displayed next to this control, relates to the following movement patterns...

1 - all move at once
2 - move one at a time
3 - move in pairs
4 - move in triplets
5 - move in fours
6 - 1 moves, 2 moves, 3&4 move, the remainder move
7 - 1&2 move, the remainder move
8 - 1 moves, 2&3 move, 4&5 move, the remainder move

You can also adjust the amount of time it takes for the enemies to burst out of the bubbles you catch them in. This is the Burst Time Up/Down control's job. This is quite trial and error, but I'd say about 100 is as fast as you'll want to go, as it causes the enemies to start to burst out very soon after capture. You can take it all the way to 0 if you like, but I'm not sure what that does. At the time of writing, I have not investigated this fully ;)

Finally, to edit the position of each enemy, you must check the 'Edit Enemies' box. This swtiches on the enemy sprite display, and you can click and drag the enemies about, one by one. The Status Bar tells you which enemy you are moving / clicking at that moment.

If there are enemies stacked up over each other, the enemy with the highest number is selected by the click.

 

Items

Random items (crosses, red shoes, etc.) appear in the game, first on one side of the screen, and then at the opposite positon on the other side of the screen.

When you check the 'Edit Items' box, you will see 2 chequred boxes appear in the Level display. The white box, show the position of the first Item, the Cyan box shows the position of the second item. You can only click and drag the white box around, the cyan box will follow with the movement on the opposite side of the level.

You will only be able to drag the item half way horizontally across the level. If an item originally appears in the lower third of the level, it can't be dragged up beyond that third. Likewise, an item that originally appears in the top 2 thirds of the level, can not be dragged into the bottom third. This is the way the game is written, and can not be changed.

 

Editing Title Screen Text

The text that appears when you are asked to select one or two players, can be edited with the edit boxes at the bottom of the window. Just type your alternative text into the boxes. The title can be up to 24 chars long, the company text 21 chars, and the author text 20.

Snapshot Preperation and v2 File Convresion

If you have a version of Bubble Bobble that has already been edited that you would like to import into this editor, or if you have a game you were editing on the Spectrum versions of BBE (v2 was the only near-fully working version though), then you need to convert this to a snapshot that BBE V3 can use.

You must get an emulator to the state where you've done a CLEAR 24978 and got the full game code into memory.

If you are converting your own edited game, this is easier than converting somebody else's game. Just load up the compiler that came with V2 of BBE, compile the code into one long block and save it. Now, reset and using an emulation of a 48k machine, type the following short BASIC program in, and run it...

5 CLEAR 24978 : LOAD "" CODE 25000 : POKE 31526,21

10 FOR n=24980 TO (24980+14): READ a: POKE n,a: NEXT n

20 FOR n=64215 TO (64215+6): READ a: POKE n,a: NEXT n

30 DATA 1, 253, 127, 33

40 DATA 1, 255, 237, 105

50 DATA 113, 175, 237, 121

60 DATA 121, 150, 201

70 DATA 205,148,97,40,24,24,17

 

Play in the code you saved from the compiler. When this is loaded, an OK message should appear after a brief pause. The program has applied a patch to the code, to make sure when the game runs it correctly figures out if it's being run on a 48k or 128k machine. It also applies a patch (with the POKE 31526,21 command) to the airflow data for level 45. The original data has an area which runs outside the level boundaries, so this poke moves that section up a couple of lines so the editor doesn't crash on this level. Now save a 48k .sna Snapshot of this. You can load this into the editor.

When you reload the snapshot post-edit, then RANDOMIZE USR 62908 will run the game, and SAVE "name" CODE 24980, 40556 will save the code to a .tap file.

Now, if you have an edited Bubble Bobble game of somebody else's that you'd like to edit, then you will need to be able to hack it so that it loads to the point where the code is in memory, but not running (ie, there has been no call to 62908 yet, and you've actually returned to BASIC), and save the code to tape at this point. You can then apply the patch as above, and create your snapshot. I can not describe exactly how to do this here, as everybody will have a different way of protecting their code, or not protecting it as the case maybe. If you can get that far, you won't need to be told anyway ;)

 

Bye!

I hope you have some fun with this editor. Please feel free to submit bug reports to me at deej_mulder@hotmail.com. Thanks to Mr Anon, Dunny and StuBruise for the help and Software Creations for writing the original Spectrum version of Bubble Bobble.