Documentation for BoinkOut2
Current Revision: 2.1
GEMscript support and some RSC modifications by Matthias Jaap
What is it?
A "BreakOut" style game. Bounce the ball off of the paddle
to destroy the bricks. Destroy all the non permanent bricks
and the level is finished.
Originally released for the Magic Gaming Competition 99, where
it came in second place.
What Resolutions does it support?
Right now realistically. ST High and Above. There is code in
the program to work with ST Medium. But it is not working at the
moment. It will attempt to run in whatever resolution you
boot it in as if the screen were big enough for it to run.
This in one way is annoying, but in another avoids some of the
resolution detection problems that I had in the past when
working on AstroPanic.
ie. If the screen resolution isn't high enough. It's damn
hard to play ;)
What Color Depth does it support?
Any. With the default images, it's happiest in 8 bit color (256
colors) or higher. However you can load your own background
image with whatever depth you like (1-8 planes).
What Img formats does it support?
Ximg and normal Atari Image formats should work for your backgound
images. BoinkOut2 does not support Truecolor Ximg files.
What is "Timing"?
The entire program operates off of the VDI and AES. The
timing value is what you want the default minimum timing
to be. For an ST this should be 0. However for a TT
with a graphics card. I recommend in the range of 30.
An 060 seems to work alright at 60.
You will want to set the timing to whatever you feel is
the most enjoyable for your system.
Any cool things not listed in the Menu?
Yes one. Close the gameplay window. Hold down the Right Shift key
and select New Game from the Menu. This should launch you into
the demo mode. You will then be able to watch the game run through
The game is controled with the mouse. Moving the mouse will
move the paddle in the play area. Extra features of the game
can be accessed from the Menu Items or Hotkeys.
Certain keys or combinations of keys operate as shortcuts.
Control - O Start a New Game.
Control - N Start a New game. Opens new window if necessary.
Esc Pause a game in progress. Pressing again unpauses.
Control - Q Quit the program
Control - L Load a background image. User selectable via
the file selector.
Control - J Open the Jump to Level dialog.
Control - C Copy to clipboard the current editable text field.
Control - V Paste clipboard into current editable text field.
Help Opens the BOINKOUT.HYP file if ST-GUIDE is present
Displays information about the game. Revision and URL.
Selecting URL string in dialog will launch web browser to
the BoinkOut2 page under the following conditions.
1. User has an enviromental string of either
WWW_CLIENT or BROWSER configured to their browser
2. The browser supports command line URL starts
3. It all works better under an AV_SERVER system
Starts a New Game. Will abort a game in progress. Will
open a new window if necessary.
Jump to Level
Opens a windowed dialog that displays the following information.
File name of the Level set you are currently using.
Number of levels in that level set.
It also allows you to enter a level and press jump. If it's a valid
level a new game will be started at that level. This only works
if you have a Game window open.
Pauses a game in progress. Selecting again will unpause
the game. Only pauses/unpauses if the Game Window is the top window.
Exits the program.
Set Object Colors
Opens the Object Colors Dialog.
This allows you to change what colors which the different objects
in the game will be drawn with to the screen. Select the name
for the object that you wish to change it's color, then select
a color from the color box.
When you have finished editing the object colors, select "Set Colors".
If you do not wish to change any colors simply close the window.
When you choose "Set Colors" the level you are on will restart.
Opens the Timing Dialog. For "What is timing" see above.
Suggested timing values to start with:
Normal ST 0 (Includes All 8 mhz 68000 Atari's)
TT/Nova Gfx 30
060 clones 60 (Seems to be a good place to start)
You will want to experiment with the timing for your own
system. Let me reitterate. Experiment with the speeds
what is a good speed for one person will be a quick trip
to game end for another. This is for entertainment, set
the timing to where you have fun.
Load New Background...
Opens system file selector. This allows you to select a
new (X)IMG file to operate as the backdrop to the game
play area. See "What image formats " above.
This toggles whether to play any sounds or not. When off
your boss or wife won't know what you are doing ;)
Load Level Set...
Opens system file selector. This allows you to select a
new LVL file. LVL files are level description files for
BoinkOut2. You can make your own LVL files and share
them with your friends.
View High Scores
Opens the High Score window. This will show you how well
you or your friends have done in the past. It will also
show you the first time you play, that I have watched too
many episodes of "Are You Being Served?", over the years.
This option will save your game preferences.
At the moment it saves your timing variable and
your object color settings.
BoinkOut2 at it's heart is a breakout game. If you don't know
what breakout is then play it for a few minutes and you will know ;)
However BoinkOut2 is also close to the family of Arkanoid. Kind
of a Breakout+.
The game takes place in the game window. We will refer to this
as the play area. At the top of the play area, you will see
The first is preceded by a strange shaped litle object that is
a representation of the ball used in play. The number next to
it shows how many balls you have left. Note. If it says 1
you are on your last ball. Once you hit 0 the game is over.
The next field is the Level indicator. This shows what level
you are on. The built in levels of BoinkOut2 number 36, once
(if) you hit 36 you will wrap and start at level 1 again.
The last field on the right is your score.
Below this should be an array of blocks. Level 1 has 7 rows
and 9 columns of blocks. Level 1 has all normal blocks.
There are several types of blocks in the game.
1. Normal bricks. One hit and they are gone.
2. Normal Spin bricks. Look a bit different one hit.
3. Double Spin bricks. Two hits to get rid of this.
4. Triple Spin bricks Three hits...
5. Quadruple Spin bricks Four hits...
6. Permanent bricks Can not be destroyed.
7. Magic Bricks See below
Magic Bricks are the fun ones. You never know quite what is
going to happen. The play area could be erased, all the bricks
can become invisible, multiple balls can come out. There are
some suprises waiting for you with these.
At the bottom of the play area, is an open area containing your
paddle. This is what you use to hit the balls back up. A ball
hitting the bottom of the play area is lost.
Making your own Level Sets.
To make your own level sets open up your favourite text processor
and edit away! Actually is fairly easy to do. The built in
levels exist in a file called BOINKOUT.LVL, this will show you
how all the levels that you have played are put together.
I've also included another file called TEST.LVL, this is not
a recommended set. But shows that you can load more than one
Always check at http://www.netset.com/~baldrick/boinkout2.html for
new level sets. If you have a level set you have created please
send it to me and I will make it available for other people.
Please Name the level set in the level set and include your name
and any other information you would like behind a #. The Bumper
Level set has an example of how I did this. You can feel free
to add more information to yours, just remember that these notes
must start with a '#'.
All the rules for building your own levels exist in either of the
.LVL files. They are fairly easy. Levels have 63 blocks, 9 columns
by 7 rows. The identifiers for the block types are in the files.
One big warning. NO SPACES in the data area. This will cause the
file to be misinterpreted.
NOTE: There is a hard coded maximum of 99 levels that can be loaded
from a LVL file.
Hey sometimes my balls bounce off the bottom of the play area instead
of being lost?
You are the lucky recipient of the Magic Bottom! Magic bottom
can be invoked by a magic block. However sometimes the clipping does
miss a ball and sends it bouncing back up. Smile don't complain.
It takes forever to load images in TrueColor modes!
If you think it is bad now then obviously you didn't ever play
an earlier version of BoinkOut2 in TrueColor. It's possible that
the routines could be optimized more, however this is no longer
a priority for me. If someone would like to patch this then let
My web browser doesn't go to the Boinkout page when started.
Some Desktops clip the length of the command line. This appears
to be occuring with this routine. Once the web browser is open another
selection on the URL in the About dialog should take you to the
My images look odd!
This can happen in a planar mode (2-256 colors). The reason for
this is that BoinkOut2 converts the images pallete to the system
palette. For some images this creates no noticeable problems, yet
for others it creates quite marked differences (see normal back
drop image in a 16 color or less mode).
You have a few options.
1. Use a different image
2. Change your system palette
3. Don't worry about it.
I also owe alot of thanks to a lot of people for getting it to this state.
All the people on my beta list (Charles Silver, Edward Baiz, David Leaver and
Paul Williams to name a few (my memory is lapsing and I don't have enough time
to log in and get the rest. Please accept my apologies if I left you out) and
SWE and kellis, both of whom did alot of real time testing for me via #atariscne
I especially need to thank Thothy (Thomas Huth), who has been working on
the PC-Gem side of this project. He has helped work out a number of problems and
kept this project from sitting on my back burner. I've heard from Thothy that the
PC-GEM port is dead. Not that it shouldn't be compatible, just wasn't any interest
in the program. However we can all hope that he will still take a look at the Atari
version from time to time and add patches.
Thanks as well to "Marvin" Bressler who adapted BoinkOut2 to GCC,
added a new magic effect and submitted several patches across the whole project.
Including the new "magic" effect of Gravity.
Thanks for the Gemscript support added by Matthias Jaap.
I also owe alot of thanks (as we all do) to many other programmers over
the years who have helped me out when I've gotten into hard spots. I'd list
you all, but then everyone would realize that I don't program anything I just
Have fun and enjoy,