Everything you need to know about Blowhole.
The following is adapted from the text that appears in README.txt included with the Blowhole release.
Welcome to Blowhole version .90. Blowhole is a puzzle game for
the Game Boy Advance. Blowhole is NOT licensed by Nintendo.
Blowhole is Copyright (C) 2002 Something Screwy Productions.
Blowhole is free software; you can redistribute it and/or modify
Blowhole is distributed in the hope that it will be useful,
The idea for Blowhole came from the game Slippy 1.0 by Martin Hock for the TI-85 calculator with ZShell. 15 of Blowhole's 25 levels are adapted forms of levels from Slippy 1.0. The other 10 are original levels. Slippy 1.0 can still be found in the file archives at http://www.ticalc.org, or more specifically: http://www.ticalc.org/pub/85/asm/games/zshell/slippy.zip
You are Blowhole , a fun loving killer whale in the ocean . Being the inquisitive whale that you are, you enjoy collecting mysterious YELLOW PEARLS . It is not hard to spot these YELLOW PEARLS , but it sometimes is difficult to get to them because there are ROCKS , pesky fisherman's NETS , and SCHOOLS OF FISH in your way. Unfortunately, you can not move the ROCKS , but you are a strong and smart whale, and you have figured out that you can hit a SCHOOL OF FISH into a NET , causing the SCHOOL OF FISH to be captured and the NET to be raised, clearing a path for you to swim through. You can also swim off one side of the screen and end up on the opposite side. When you hit a SCHOOL OF FISH , it will move in a straight line in the direction that you hit it, and it will stop when it reaches ROCKS or another SCHOOL OF FISH , or be captured if it reaches a NET . Be careful though, if you hit a SCHOOL OF FISH off one side of the screen, they will swim away and not return. Also, if you hit a SCHOOL OF FISH into a YELLOW PEARL the fish will take the pearl! Your goal is to collect all the YELLOW PEARLS in a level in order to move on to the next level. Complete all 25 levels to win the game!
After the Copyright Screen and Title Screen that appear when you turn on the game, you will see the Level Select Screen. At the Level Select Screen you can use UP and DOWN on the control pad to choose which level to play from the levels you have already completed. Press START or A to begin the level. Once you have started a level, the controls are as follows:
Your progress will be battery saved after you complete each level, so you can turn off the system and resume play later from where you left off. To reset the save (clear all completed levels and restart from level one), at the Title Screen, hold down L + R and press SELECT. Note: if you are using a multiboot cable to load the game, your progress can not be saved. Once the system is turned off, you will have to start over from level one.
Running The Game:
Blowhole has been designed for and tested on hardware (an actual Game Boy Advance). You can load it on a Game Boy Advance via an MBV2 Multiboot cable using the file blowhole.mb. It will also run on a Visoly Flash Card (necessary for your game in progress to be saved). You can use the file blowhole.gba or blowhole.mb with a Flash Card, either will work, but I recommend using blowhole.mb, as it stangely gives better performance in some aspects.. Lastly, Blowhole will run on GBA emulators. It has been tested on BoycottAdvance and VisualBoyAdvance, and the game save also works on emulators (the emulator will typically create a blowhole.sav file with the saved data). Performance on an emulator is not as good as on an actual GBA, no emulator is perfect. Both blowhole.gba and blowhole.mb will work on emulators, however, I have noticed slower performance with the blowhole.mb ROM on emulators. Use blowhole.gba with emulators for the best results. See the Note About Emulators just below.
To obtain an MBV2 Multiboot cable or Visoly Flash Card and Flash Linker to program the card (you can also program a Flash Card with the MBV2 cable), visit http://www.lik-sang.com. To obtain a GBA emulator, visit http://www.gbadev.org/ and look in the Tools section.
Note About Emulators:
As stated above, emulators are imperfect and will not match the performance of an actual Game Boy Advance exactly. One particular issue is that I have not seen an emulator that accurately emulates the GBA's key press interrupt. This means that when pressing START to move between the Level Select Screen and the game, on emulators it will often switch back and forth very rapidly with just one keypress. Also, when selecting a level on emulators, the numbers scroll much too quickly. To compensate for this just hit the key that you are using for START on your keyboard very gingerly (and it may take a few tries) until the level starts. The hold A + B + SELECT and press START reset also causes problems on emulators. Nearly everything else in the game seems to run fine on emulators.
If you have any feedback about Blowhole I would love to hear it. Like it, hate it, suggestions for improvement, bug reports, questions, or if you have designed your own level that you would like to include in a possible future release of Blowhole (see levels_data.h in release for details). Also, I am new to program development, so any suggestions for improvement of my code and my design approach in general from someone more experienced in software development, game development, or GBA development would be appreciated. See the Contact page for my contact information.
Why Version .90?:
Blowhole is almost totally complete and there may or may not be another version released. I wanted to keep this one at version .90 to give me the option of adding sound and some new levels before releasing version 1.0. Whether it happens or not depends if I have time and on the feedback I get from this release.
Blowhole was developed using the Unofficial GameBoy Advance Software Development Kit (devkitadv) and the Rhide C/C++ editor for DJGPP. Adobe Photoshop 6.0 was used for the graphics. The utilities gifs2sprites, gfx2gba, and gbarm were used for converting sprites, converting bitmaps, and patching the ROM header respectively. See the Links page for a more comprehensive list of the resources used.
Compiling Blowhole Yourself:
If you have devkitadv for DOS/Windows setup correctly, Blowhole should be easy to compile. Just unzip all the files from the Blowhole release into a directory, and while in that directory, use the included make.bat file like this: 'make blowhole.c myfile.gba' which will compile, link, (using the included crt0.o and lnkscript by Jeff Frohwein) and objcopy blowhole.c into the binary myfile.gba, or whatever you choose to call it. I have not yet tried to compile this with the Linux version of devkitadv, but I will soon. If you are using Linux, I'm sure you know how to compile things.
I have been spending my summer learning about programming for the Game Boy Advance. I was looking for a simple game idea that I could develop to completion that would be challenging, but not overwhelming. I also set the goal of documenting the program adequately and releasing it under the GNU GPL so that other newbie GBA programmers like myself would have a simple and clearly written game to learn from that directly applies the techniques taught in various GBA programming tutorials that can be found online. (see Links page) I remembered a game from high school for the TI-85 calculator (Slippy 1.0) that was challenging and fun, and decided a clone of it would be a perfect project.
The complete development cycle from idea to release was July 3, 2002 to August 3, 2002.
I worked on the game almost daily and usually for several hours each day. The
dates below are just some landmark dates.