Documentation for BoinkOut2 Current Revision: D 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. 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. 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 Open Window from the Menu. This should launch you into the demo mode. You will then be able to watch the game run through the levels. Controls 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. HOTKEYS Certain keys or combinations of keys operate as shortcuts. Control - O Open a New Game window (only if not already open) 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. Menu Items About BoinkOut2 Displays information about the game. Revision and URL. Open Window Opens a Game window if there is not already one open. New Game Starts a New Game. Will abort a game in progress. Will open a new window if necessary. Pause Game Pauses a game in progress. Selecting again will unpause the game. Quit Exits the program. Set Timing 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. Sound ON/OFF 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. Save Preferences This option will save your game preferences. At the moment this only saves your Timing variable. Game Play 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 three fields. 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 dies. 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 level set. 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 dieing. 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. Anything Else? Yes I'm sure there should be. If anyone has any questions or input on what should be in the docs let me know. I still have a few more things that I'm planning on adding. I know it's getting kind of late. But I've already worked most of them out. They just aren't implemented in this binary. Finals notes: This probably isn't the pretiest program in the competition. As usual for me, I didn't get the time to really get the bits and bobs done that I wanted to get done. However I hope that the game is playable. The souce will be available on my web page, if you feel so motivated to go in and clean up the bits I didn't get finished. Please let me know if you do. 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 who did alot of real time testing for me via #atariscne on IRC. 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 recompile ;) Have fun and enjoy, Dan Ackerman baldrick@netset.com