More actions
PipeSpin | |
---|---|
General | |
Author | hippydave |
Type | Puzzle |
Version | 1.0 |
License | GPL-3.0 |
Last Updated | 2021/07/17 |
Links | |
Download | |
Website | |
Source | |
PipeSpin is an action puzzle game for the Game Boy Advance, that involves making loops out of pieces of pipe. The gameplay takes inspiration from the venerable Pipe Mania (Pipe Dream in the US) and the GBA classic Guru Logic Champ.
The hiscore music is a tribute to one of the all-time classics - actually one of the classic games and one of the classic game music composers - Tetris on the original Game Boy (which also inspired the overall game structure), whose music was composed by Hirokazu "Hip" Tanaka.
It was created for GBA Jam 2021, a three-month long jam to make games for the Game Boy Advance, in celebration of the handheld's 20th anniversary.
Installation
If you use an EZ Flash Omega (or Definitive Edition), to get it to display the thumbnail image for the game, copy PSPN.bmp into IMGS/P/S/ on your Omega's SD card.
(The IMGS folder is in the root directory if you're using the stock kernel, or inside the SYSTEM directory if you're using Stereophonik's Simple kernel.)
User guide
Play mode
Currently the only play mode is Score Attack, the goal is to get the highest score possible before the play grid fills up.
Selecting a start level affects how quickly new pipe pieces are initially added to the grid, this speed continues to increase each time you reach a new level during gameplay. A queue on the right of the screen shows you what kind of pipes are coming next.
Each level number is reached by clearing 10 times that number of pipe pieces - so starting at level 0, clearing 10 pipes moves you to level 1, and 20 pipes to level two, but if you start on level 7, you need to clear 80 pipes to reach level 8, and then 90 to level 9 and so on.
Gameplay
You clear pipes by moving them around the play grid until they form completed loops. Pipes appear in two different colours, and a loop must be made up of pieces all of the same colour to count as complete.
Moving the pipes is achieved by the two cannons. The cannon at the bottom of the grid moves left and right, aims upward through the grid, and can be used to pick up a pipe from the play grid, which is then held in the cannon and can be fired back onto the grid, but only where there is another pipe or block for it to stop against.
The cannon to the left of the grid moves up and down and aims across the grid to the right. It cannot pick up pipes, but it can be used to blast a pipe in such a way that it flips over onto the next square to the right, reversing its orientation.
The final thing you can do to help move pipes where you want them is to rotate the play grid in either direction, this gives you access to all sides, and if you are holding a pipe in the bottom cannon and return it to the grid from a different rotation, this also changes the pipe's orientation relative to the pipes on the grid.
A further obstacle takes the form of rainbow blocks, which appear one at the start of the game and one more for each level increase, and can't be moved around the grid. The only way to get rid of a block is to complete a loop around it.
Scoring
If you surround more than one block in the same loop, the bonus score you receive for the loop grows exponentially for each additional block - the same applies for the number of cross pieces that are crossed through in both directions in the completed loop.
The score for a loop grows similarly based on the number of pipe pieces it's made up of, and all scores are multiplied depending on the current game level. So make big loops with multiple crosses surrounding as many blocks as possible, on higher levels, for the most enormous hiscores.
- Button labels - Shows or hides the on-screen control hints.
- Music volume/Sound FX volume.
- Colour adjust - Recommended settings are ON for GBA/SP/Micro, OFF for emulators and IPS screens etc.
- Gamma adjust - Tweak the relative brightness, to help with unlit screens etc.
- Save indicator - A disk icon is displayed in the top left corner of the screen when save data is being written (when a new hiscore is entered or a setting is changed), so you know not to turn it off at that moment. This setting controls how long the icon is displayed for. It defaults to 5 seconds because of the EZ Flash Omega flashcard needing extra time to copy the save data to SD card, but you can decrease it to 1 second if you're not using that model (or if you like life on the edge).
Screenshots
Compatibility
Can be played with an emulator (recommended mGBA) or loaded onto a flash cart to be played on a real GBA/DS console.
If you are playing on an emulator or an IPS screen: turning off Colour Correction in the settings and turn off Button Labels once you know what you're doing.
Controls
Left/Right - Move bottom cannon
Up/Down - Move side cannon
A - Collect/return pipe from/to the play grid using the bottom cannon
B - Flip pipe over to the right using the side cannon
L/R - rotate grid 90° anticlockwise/clockwise
L+R - Rotate grid 180°
Select - Add the next pipe to the grid immediately
Start - Pause game, Access settings menu or quit
Credits
- Game concept, code, graphics, sfx and music by hippydave.
- Colour consultant by my amazing wife Frances.
- Hiscore music originally composed by Hip Tanaka, cover version by hippydave.
- Colour palette and rainbow blocks by Haley Halcyon (CC0).
- Font by Pixel-boy (CC0).
- Logo/Game Over font based on Down the Drain (origin unclear but marked as freeware) (and every other font site).
- Disk icon modified from Vellidragon (CC0).
- Steel drum samples from Jason Champion (freeware).
- Other CC0 sound samples used for the music were found by searching "metallic" on freesound.org, will try and track down links
- Developed using devkitPro and libgba (per libgba's licence "PipeSpin is based in part on the work of the devkitpro project").
- Music playback by Maxmod.
- Tested using mGBA by endrift/Vicki Pfau.
- Debug code mgba.c/mgba.h by endrift/Vicki Pfau.
- GBA colour correction based on code by the late, great Near (formerly known as byuu).
- Gamma correction based on code by Flubba.
- posprintf by Dan Posluns (public domain).
- Vital hardware reference - [Vijn https://www.coranac.com/tonc/text/toc.htm tonc] by cearn/J.
Huge thanks to the hosts of GBA Jam 2021 (avivace, GValiente, peterlemon, skylyrac, exelotl), and to the people of the gbadev discord and extended gba dev community for inspiration and support.
Hugest thanks to Frances, whose love, support and advice makes everything possible.
External links
- itch.io - https://hippydave.itch.io/pipespin
- GitHub - https://github.com/hippydave/pipespin