                         Super Break-Out

                               by

                          Mark Overmars


0. Introduction

Many  different type of Break-Out like games exist for the  Atari 
ST,  so why yet another one. Well, there are a number of reasons. 
First  of  all  because  all  the  existing  games  are   missing 
something. They all have some great ideas but are lacking others. 
Secondly,  because most games work on colour monitors only.  This 
one will work on a monochrome monitor (only).  Thirdly because it 
is fun to write something like this.

But the main reason is that this one is special. It contains most 
of  the good ideas of the existing games and many  new  features. 
Just to mention a few things:  There are over 40 different  types 
of stones,  all with special features.  There are many  different 
types of bonusses,  many types of monsters, 5 basically different 
types of levels,  etc.  Of course,  you won't encounter all these 
things  at the first levels.  On later levels new  things  appear 
that you did not see before.  To avoid geting bored Super  Break-
Out  allows you to continue on the level you got killed.  So  you 
don't  have  to start from the  beginning.  

Some  other nice features include good score files,  the  program 
remembers  its  players and knows what your  current  status  is, 
level files that can easily be changed,  added,  etc.  For this a 
special  level  editor is provided with  the  program.New  levels 
files might be provided in the future for the advanced players.

1. Your disk

The disk should contain the following files:

   SBREAK.PRG : The program
   SBREAK.DOC : This documentation in 1STWord format
   SBREAK.TXT : This documentation in readable form
 BACKPICT.ART : The background picture
  SPRITES.ART : The bitmaps for the sprites
   SBREAK.SND : The sounds file
 LEVELS02     : The first set of levels
 LEVELS03     : The second set of levels
  etc.

In a folder LEVELED you should find the following files:

   EDITOR.PRG : The level editor
     EDIT.RSC : The resource file for the editor
 SPRITES2.ART : The sprites for the editor

When  playing  a file SBREAK.SCR for the scores will  appear  and 
also  files  ?????.SBR that contain  information  about  players. 
Don't  keep your disk write-protected when playing  otherwise  no 
information  can be stored.  Better first make a back-up copy  of 
the disk.

2. Playing

Simply  click the SBREAK.PRG icon on the desktop.  Type  in  your 
name  when asked (Super Break-Out will remember you) and you  can 
start.  The goal,  as you probably know,  is to hit away all  the 
stones  with  the ball.  During the game the  left  mouse  button 
normally does a lot of important things like e.g.  releasing  the 
ball, shooting bullets, etc.

Sometimes  little bonusses fall down.  They tend to help  you  by 
such  things as slowing down the ball,  turning your bat  into  a 
machine gun,  giving an extra life, etc. When you catch them with 
the  bat the feature will start.  Bonusses are indicated  with  a 
letter. The following types of different bonusses exist:

A: Gives you an Automatic moving bat. Press the left mouse button 
   to continue doing it yourself.
B: Gives you a lot of Bonus points.
D: Gives a Destructive ball that kills all stones.
E: Gives you an Extra life (bat).
G: Your  bat becomes a Gun.  It can shoot bullets with your  left 
   mouse button. Two different types of bullets exist.
H: Your bat will now Hold the balls.  Release them with the  left 
   mouse button.
K: This Kills all the monsters.
L: Your bat will become Long.
N: You  can  pass to the Next level by shooting a ball  into  the 
   exit stone that appears.
R: This Removes all stones of the type you hit next.
S: This Slows down the balls.
T: Gives you Three balls that reappear when lost.
W: Build  a Wall of stones to keep the ball high  up.  Should  be 
   great when the ball is at the top of the field but a  disaster 
   when it is near the bat.
2: Gives you two extra balls.
5: Gives you five extra balls.
?: A  surprise.  Can be very good but also bad.  Do you take  the 
   risk?

Of course also nasty things happen,  like bombs falling down. But 
don't  worry.  They  only  appear on  higher  levels.  Also  some 
monsters run around.  They are reasonably harmless but change the 
direction of the ball when hit. (But beware of the nasties deeper 
in the game.)

High scores and special LIFE stones will give extra  bats.  After 
you  killed  all  your bats you are given the  choice  to  either 
continue at the last level,  start new at the beginning or  quit. 
When  you indicate to continue,  the game will start again  at  a 
level  just before the one on which you where.  To  get  anywhere 
further you will have to get through at least three levels in one 
go. The higher you start, the more points you can get.

The score is computed as follows: 100 for every normal stone hit, 
2500  for  completing the level,  400 for each bonus  caught  and 
100  for  each monster destroyed.  After completing a  level  the 
score  for that level is increased by a percentage  depending  on 
the level.  Hence,  the higher the level,  the more point you can 
obtain for each level.

The following keys are important:

    q: Quit the game.
    k: kill your bat (useful when you locked yourself up).
    r: restart the level (useful when the level locks up).
    N: Continue on the next level.  This costs you 2 lives and is 
       only useful when you don't manage some particular level at
       all.
    p: pause the game. Any key continues.
    b: Changes the speed of the bat.
    s: Toggles sound on off.
    f: Saves the current   situation such that you  can  continue 
       playing later.  The game will be saved under your  current 
       name.  To continue later  simply start  SBREAK and type in
       your name.
space: Will  give  you an empty screen such that nobody will  see 
       what you are doing. Any character continues. 

3. The Level Editor

With  Super Break-Out I have provided a simple interactive  Level 
Editor.  You will find it in the folder LEVELED. One thing I will 
state immediately:  IT DOES NOT CHECK FOR ERRORS.  So if you fill 
in impossible data,  it just leaves it in.  Before starting using 
it,  take  care that you have a copy of  this  documentation,  in 
particular the next chapter, on paper in fromt of you.

To start the Level Editor simply double click  EDITOR.PRG.  After 
some loading you will see the so-called manager.  In this you can 
load  in  a file of levels (using the Load button)  or  save  the 
levels you created or changed.  On the left you see the names  of 
the (at most) 40 different levels in the file.  One of them  will 
be selected.  Above the buttons there is another possible  level, 
called the buffer.  The buffer is used for changing the order  of 
levels  in the file.  You can copy levels to and from the  buffer 
and  exchange  levels with the buffer.  You can also  insert  the 
buffer above the selected level or delete a level.  For  example, 
to move the first level to the end select the first level,  press 
Copy  To Buffer,  press Delete,  select the last level and  press 
Copy From Buffer.  Play a bit with this moving and copying  stuff 
until you are familiar with it.

To  change a level,  first select it.  (You can also  select  the 
buffer to change it. Note that the buffer won't be saved on disk, 
so  after  changing it you have to copy ot to some place  in  the 
level  file.)  Now  there are two  things  you  can  change:  The 
settings and the field.  The field contains the information about 
the position of the stones.  The settings contain such things  as 
type of monsters, speed of the ball, etc.

To  change the settings press the cooresponding button.  Het  you 
can  fill  in the name of the level and the  different  settings. 
Refer to section 4 for their meaning.  Take care that they are in 
the  given bounds.  The name should contain something.  An  empty 
name  is considered by the editor as a non-existing level and  is 
not  saved  on disk.  Press OK to actually change  the  settings. 
Press Cancel if you made a big mistake.

To change the field press the button Edit Field.  You will see  a 
screen consisting of two parts.  On the left there is the current 
field  description  of  the  level.  On the  right  are  all  the 
different stones in three vertical rows.  (Refer to section 4 for 
the  meaning  of  the stones.) Some  stones  will  look  slightly 
different as in the game to make it possible to distinguish  them 
(in  particular the invisible stones are made  visible).  On  the 
left bottom of the field the current stone is indicated.  This is 
the stone type you can place on the field.  To change it,  simply 
point your mouse to the stone you want (at the right) and press a 
mouse button.  To place a stone in the field point your mouse  to 
the position and press the left mouse button. To erase a stone on 
the field,  point and press the right mouse button.  That is  all 
there  is to know.  Well,  one more thing.  How to return to  the 
manager.  This is done in a very user-unfriendly way. Simply move 
your mouse to the far left of the screen and press a button  will 
do the trick.

Finally there are a few more buttons.  Clear clears the  selected 
level, Clear All does ... (guess what). Help gives you some basic 
information.  Quit finally stops the program.  Make sure that you 
saved your file before pressing Quit. No escapes are provided.

The best way to create and test your own levels is to put them in 
a file LEVEL01.  (Note that such a file does not exist. The files 
on  disk start with LEVELS01.) Now when you start SBREAK it  will 
first give you your own newly created levels.  If you really want 
to do difficult things,  e.g.,  getting levels from one file  and 
putting them in the other,  you can also use a simple editor. See 
section 4 on what a level file look like.

Please create a few levels yourself and send them to me.  I  will 
collect all levels design and provide them later on a level disk.

4. Internals

This section is going to describe a number of internal aspects of 
Super  Break-Out.  This information is neccessary for  those  who 
want to design their own levels but should preferably not be read 
by  people that want to have most fun in the  game.  Surprise  is 
always nicer.

4.1. Bitmaps and Background

Both the background and the bitmaps of all the sprites are simple 
drawings,  created  with the great Public Domain program  Artist. 
You  can easily edit them.  Realise that the program "knows"  the 
sizes of the different objects.  Hence you should take care  that 
sizes  remain the same.  For example,  if you make the bat a  bit 
larger,  the ball will simply pass through the extra  part.  Also 
take care that the order of the bitmaps remains the same.  Always 
first make a copy of the old files.

4.2. Sounds

The  sounds  that you hear when e.g.  the ball hits a  stone  are 
described in the file SBREAK.SND and can be altered. There are 12 
different types of sound. Each sound is described on one line. It 
consists of a series of numbers. This row of numbers is passed to 
the  sounds  demon  when the sound is required  using  the  XBIOS 
command DoSound.  Number are given in Hexadecimal and should  end 
with the letter H. Each row should end with the number FF00H. The 
following 12 sounds are in the file:

   1: Ball hits wall
   2: Ball hits bat
   3: Ball or bat hits a monster
   4: A normal stone is hit by the ball or a bullet
   5: An undestructable stone is hit
   6: A super stone is hit (stone type Y or Z)
   7: A teleporter stone is hit (type a or p)
   8: An exploding stone is hit (type U)
   9: The bat gets destroyed
  10: Starting a new level
  11: An extra life is obtained
  12: A bomb hits the bat

4.3. Stones

Super  Break-Out knows a large number of different  stones.  Most 
stones have their own special features. Stone types are indicated 
by  letters.  Below  follows a description of  all  stone  types. 
Stones indicated with a star (*) must be destroyed to finish  the 
level. The others not.

.      Empty position.
A    * Normal stone.
B-J  * Normal stones with different grey scales.  Can be used for 
       making nice looking pictures.
K    * Looks like P but must be destroyed.
L    * Invisible but must be hit.
M    * Needs two hits.
N    * Needs three hits.
O    * Needs four hits.
P      Undestructable.
Q    * Can be hit only from above, otherwise just bounces.
R    * Can be hit only from below.
S      Lets balls pass from top to bottom only.
T      Lets balls pass from bottom to top only.
U    * Explodes and destroys all stones around it.
V      Undestructable but moves up when hit from below.
W      Undestructable but moves down when hit from above.
X      Undestructable but moves when hit.
Y      Removes all stones of type A.
Z      Removes all stones of type P.
a      Teleports the ball to another teleporting stone.
b    * Like A but moves horizontally.
c      Like P but moves horizontally.
d      Like a but moves horizontally.
e      Can be destroyed but this is not neccessary.
f      Lets balls pass sometimes and sometimes not.
g      Needs three hits. Reappears after some time.
h      Needs two hits and reappears after some time.
i      Creates stones of type e to the left and to the right.
j      Creates stones of type A on both sides.
k      Creates stones of type P on both sides.
l    * Creates a bomb when destroyed.
m    * Like A but moves vertically.
n      Like P but moves vertically.
o    * Creates a nasty bomb that goes towards the bat.
p    * Moves the ball to some arbitrary position (and disappears).
q      Kills the ball. Should not be hit.
r      Gives an extra life.
s      Exit to next level.
t      Invisible and undestructable.
u      Undestructable, creates a bomb when hit.
v    * Requires a random number of hits (average is 5).
w    * Transforms into an arbitrary other stone when hit.
x      Undestructable, moves to somewhere else when hit
y    * Jumps around randomly
z      Undestructable, jumps around randomly

When  designing levels please follow the following  rules.  Don't 
use  too many different types of stones.  Don't use more than  20 
moving  stones.  Take  care that the level  cannot  lock  itself. 
Although this might be a 'feature' of later levels. Note that the 
user  is  always given the possibility to kill himself  (when  he 
gets  locked  up) or redo the level (when the level  gets  locked 
up).

4.4. Bats

Super Break-Out knows five different types of games, depending on 
the type of bats choosen:

1      Normal game with one fixed bat at the bottom.
2      One bat but it can be moved also in the y-direction.
3      Two bats, one at the top and one at the bottom.
4      One bat that gradually moves up, making things harder.
5      Two bats that both gradually move to the center.

4.5. Monsters

Monsters  are described by two numbers in the  level  files:  the 
type and their number. The following types exist:

0: No monsters
1: Simple  moving   thing.  Can   pass  through  stones.  Changes    
   direction of the ball a bit when hit.
2: Same but cannot pass through stones.
3: Spaceship  that  kills the  bat when it  hits  it.  Cannot  be 
   destroyed.
4: Spaceship that  flies around  and changes the direction of the    
   ball. It cannot be destroyed.
5: A jumping  ball that cannot be destroyed but disappears at the 
   bottom.
6: Like  1  but  does   not  influence  balls  (only  useful  for    
   throwing bombs).
7: Like 2 but does not influence balls.

The number of monsters must lie between 0 and 6.

4.6. Bombs

Bombs are thrown down by monsters and by some stones.  There  are 
two  types of bombs,  bombs that simply fall down and bombs  that 
move  towards the bat.  Bomb can also be distinguished  by  their 
effect when they hit the bat. The following effects exist:

0: Kills the bat (i.e. it costs you a life)
1: Make the bat invisible for some time
2: Freezes the bat for some time
3: Removes all special features
4: Reduces the score by 1000 points
5: makes the balls invisible for some time
6: increases the ball speed

The  type of effect is indicated in the LEVELS files and  can  be 
different  for each level.  Whether monsters throw bombs and  how 
often  is  also indicated in the LEVELS files by  giving  a  bomb 
chance.  When this is 0 there are no bombs.  When it is between 1 
and 5 the bombs fall straight down.  Their number increases. When 
the  chance  is between 6 and 9 the bombs move towards  the  bat. 
Note  that  the  number of bombs also depends on  the  number  of 
monsters.

4.7. The LEVELS files

Super  Break-Out  reads the levels from  files  called  LEVELSxx, 
where  xx is some two digit number,  that should be in  the  same 
directory  as the program.  These files can be changed using  the 
provided Level Editor.  But,  as they are simple ASCII files they 
can  also be changed with any editor.  Hence,  it is easy to  add 
levels,  remove levels or change levels,  merge files,  etc. Each 
file  can contain up to 100 levels but,  as the Level Editor  can 
only handle at most 40 levels,  it is better to limit the  number 
of levels per file to 40.  Not all files need to be present.  The 
program simply starts with the lowest numbered file and when  all 
levels in that file have been solved it goes to the next file  it 
can find etc.

Each level starts with a * on the first position of an input line 
(but don't use the sign for anything else). Everything before the 
first  *  is skipped.  The rest of the line with the  *  is  also 
skipped and,  hence,  can contain info about the level.  The next 
line   should  contain  the  name  of  the  level   (maximal   16 
characters).  The  next  line contains a number  of  digits  that 
indicate the type of play. The following digits should be there:

- The type of bats (1-5)
- The type of monsters (0-9)
- The number of monsters (0-6)
- The bonus chance (the higher the more bonusses) (0-9)
- The start speed (0-9)
- The maximum speed (0-9)
- The speed increase (the higher the longer it takes) (0-9)
- The type of bombs (0-6)
- The bomb chance (0=never,9=very often) (0-9)
- If  1 the level restores  itself when you get killed.  2  means 
  the end of the last level file (0-2)
- Reserved for later use (0)

The  basic (easy) setting should be something  like  10041640000. 
After  the last level in the last file put a level  with  setting 
10000000020.

On  the  next  line the description of the stones  in  the  level 
starts.  Note that there are at most 20 lines each of at most  11 
stones.  Stones are indicated by letters,  empty places by a dot. 
Each  line of stones must be on a separate line of text.  If  the 
rest of a line is empty it can be ommitted. If the next lines are 
empty they can be ommitted as well.

Finally,  after all levels,  the next line should start with a  # 
indicating that this is the end of the file.  Any text after that 
is skipped.  The following is an example of a level file with two 
levels:

This is a level file.
* The first easy level
Easy Starter
10070460000
..
..
NNNNNNNNNNN
AAAAAAAAAAA
AAAAAAAAAAA
AAAAAAAAAAA
AAAAAAAAAAA
AAAAAAAAAAA

* The second, difficult level
Two Bat Terror
30062840000
..
..
..
..
..
..
.PPPPPPPPP.
.AAAAAAAAA.
.AAAAAAAAA.
...........
.AAAAAAAAA.
.AAAAAAAAA.
.PPPPPPPPP.

# THE END

Some  hints on designing levels are useful.  Don't use  too  many 
different  types of stones on one level.  When the bat  can  move 
freely (type=2) only use the top 14 rows. When there are two bats 
(type=3) don't use the top 5 rows. 

When designing levels, the easiest thing to do is to create a new 
file named LEVELS01 with your own levels.(Note that such no  file 
with that name is present.)

4.8. Suggestions

If  you  have any suggestions for  improvement  (e.g.  new  stone 
types)  or  if you did design a nicer set of  bitmaps,  a  better 
background,  new sounds or a new set of levels,  please send them 
to me and they will be included with the next update. I also plan 
to  make libraries of levels.  Of course credits will  be  given. 
Send things to:

   Mark Overmars
   Magnuslaan 6
   3571 ET UTRECHT
   the Netherlands

