A Space Shooter With A Custom Controller
Code, as well as a version playable on macs, can be found here
Kitty In Space is a space shooter written in Processing designed around a custom controller I built using a MakeyMakey.
The core game sees a space cat (flying a cat-shaped ship) stranded in the midst of a huge flock of evil space birds (flying bird-shaped ships). As the cat, the player needs to stay alive long enough for the warp drive to charge up and provide an escape. The cat has a myriad of weapons at her disposal, each of which is best suited for one type of enemy (mouse rockets work best against the pelicans, targeted lasers against seagulls, and scatter shot against humming birds). The weapons all load and charge differently, and can be mixed and matched into volleys to suit the situation. The cat’s ship can prepare up to three volleys at once, each of which can be fired separately when the time is right.
A key part to the game, and unfortunately one that is difficult to share over the internet, is the controller it’s meant to be played with. Built from a cardboard box, tin foil and paper clips, and wired up with a MakeyMakey, the controller has 14 “button” panels and a grounding panel. The medium-sized rectangles move the ship left and right, while the 9 weapon select “buttons”, arranged in a 3×3 grid across the front, load weapons into one of the ship’s 3 volleys. Each volley can be fired using one of the launch “buttons” along the right-hand side of the controller (not visible in the picture above). The large rectangle is the grounding panel, that the player must always be touching in order for the MakeyMakey to take input from the other panels.
The custom controller was designed so that the player would have to control the ship using only one hand, since one has to be on the grounding panel. This way, the player always has to choose between moving, preparing future volleys, or firing weapons. It gives the game a very frantic tone, forcing players to prioritize several options based on quickly-changing situations. Each of the panels is tied to a button on the keyboard, so the game can still be played without the controller, but the experience isn’t quite the same. It also makes the “Scan In” start screen feel way less science fiction-y, which is a shame.