brkout v0.1.2 ------------- brkout is a breakout clone written for the Sega Dreamcast. It features: - 17 included levels, all drawn by yours truly! As you'll see, I'm not much of an artist, so I've also included... - A level editor! Draw levels to your heart's content, then save them to VMU. Trade with your friends, send them to me, sell them on e-bay... the possibilities are endless. I created all the included levels with the level editor. Installation from binary distribution ------------------------------------- 1 Untar the distribution (creates directory brkout-0.1.2-bin/). 2 Burn brkout-0.1.2-bin/cd to CD the standard way. Note: the directory "cd" should be the root directory "/" on the burned CD. I've included a sample burning script, burn.sh, in the distribution. consolevision.com is pretty good about providing Nero, .sbi, and other images; see http://consolevision.com/dreamcast/games/homebrew/dcbreakout.shtml. You can always download the latest version from my brkout page at http://3e8.org/hacks/brkout. Installation from source (tested with KOS 1.1.7-CVS) ---------------------------------------------------- Note: currently, you need to patch KOS-1.1.7-CVS with a patch I've included, kos-twiddle-parse.diff. It adds some local changes that haven't been committed to KOS yet, and will hopefully be unnecessary soon. 1 Untar the source file. 2 Set up your usual KOS environment. I've provided the file that I source, environ-dc.sh. 3 Tweak Makefiles and #defines if desired * 4 "make" (or "make bin" for scrambled 1ST_READ.BIN) * Tweakable variables in the Makefiles: - SCRAMBLE - path to scramble, if you want to create 1ST_READ.BIN - DEFS, QUIT_TO_MENU: 0 to drop back to debugger, 1 to return to boot ROM - DEFS, LOAD_DIR: path to load levels from - DEFS, SAVE_DIR: path to save levels to * Tweakable #defines in the source: - ENABLE_SCREEN_SHOT -- in brkout.h. #defined, it dumps a screenshot into /pc/tmp when you press X in-game, or START in editor. - brkout.c has other likely candidates, near the top, controlling the game parameters. Drop me a line for more info. * Drop a 512x512 true-color PNG into romdisk_boot/field.png if you'd like to change the playfield background. You can upload the resulting .elf file, "brkout", with dcload or burn 1ST_READ.BIN to CD as above. How to play ----------- The object of the game, as if you don't already know, is to hit bricks with the familiar ball-and-paddle duo. Destroy all bricks in a level to advance to the next. Once you clear all 17 levels, you win! Well, sort of. Winning is anticlimactic at present. But, as a consolation, you then get to play random levels forever! Controls: Use the directional pad to move your paddle left and right. You can use the analog stick as well for smoother control, although the D-Pad is probably easier on your hands. If you hold R (right trigger) while moving, your speed is doubled---useful indeed. Press Start to pause and unpause. B+Start ends your game prematurely and returns to the title screen. You can advance to the next level with L+R, but your score is reset and you lose any extra lives you've picked up. Color bricks are worth 100 points each; silver 500 and platinum 2,500. An extra life is awarded every 25,000 points. I'm open to suggestions on how to improve gameplay (slow it down, speed it up, etc.) How to edit ----------- In the editor, you'll see the playfield (where your levels appear), the selector (the thing with the numbers), and the help box (which provides, oddly, help). In general, D-Pad moves, A selects, and B cancels or exits. The built-in levels appear at startup and can be edited and saved to VMU if desired. Selector: The selector contains a list of available levels and lets you navigate among them. Use the D-Pad to maneuver to your desired level (the playfield updates as you move) and then press A to edit it. L and R go to the first and last levels, respectively. The selector always contains a "phantom" level, the very last level (which is dimmed). The phantom level is a convenience; a new level will be created if you try to edit it. Editing: When editing a level, you move the rectangular cursor around the playfield with the D-Pad or the analog stick, then press A to draw a brick, or X to erase a brick. Y will revert your level to its original form (when you started editing). B will return you to the selector, automatically retaining any changes you made. Special menu: If you press X while navigating amongst your levels, the Special menu will appear. Here you can Copy, Move, Swap, Delete, or Clear the currently selected level, or Insert a blank level at that spot. Insert, Delete, and Clear work the moment you select them; Copy, Move, and Swap will prompt you for a destination. (Move can be confusing at first, but I find myself using it a lot.) The phantom level, being pretend, cannot be operated upon. The Special menu also provides a "Delete All" option, which leaves you with a blank slate. VMU menu: Here you can Save, Load or change your VMU port. With Save and Load, the selector changes to a view of your save slots. Save: Using the selector, you can save to any of 99 save slots. The editor remembers the last slot saved to or loaded from, and starts you there by default. "Bright" numbers are available--that is, empty--and dimmed slots are occupied. However, you can save to any slot, and in fact if you've been saving to a given slot it -will- appear dimmed. Load: Operation is similar to Save except that the bright/dimmed meaning is reversed, in a sense. Bright numbers are available--that is, occupied-- and dimmed slots are empty. You cannot load from an empty slot, of course. Port: You can't change the port in this release; it has to be Port A1 (first controller, first port). If you could, you'd press Left and Right to do it. However, if you press A, the VMU will be rescanned. This allows you to replace the VMU without exiting the editor. If you want to send me your levels, and you have dc-tool, you can set SAVE_DIR in the Makefile to something like "/pc/tmp", so you can load off VMU and save to PC. Or you can copy the save files with an external program, assuming such a program exists. That should be it. Have fun! Author ------ Jim Ursetto jim@3e8.org (http://3e8.org)