Inspiration for Tap Invaders

We played Star Wars Jedi Knight: Jedi Academy using the Tap Wearable Keyboard whilst brainstorming for ideas. This inspired us to create a space shooter game with which we could use the Tap. Since we wanted to also make a custom interface, we decided to create a game of Space Invaders.

What it does

Tap Invaders uses the Tap Keyboard. The user must shoot at the aliens which appear on a 7x7 LED matrix.

How we built it

The project consists of three aspects which we divided amongst the group members:

• The Space Invaders Game
• The LED matrix
• The Tap Keyboard

The Game

This game of space invaders was created with the Tap in mind (the game is much slower paced than the actual one). The game utilizes a state machine to keep track of game progress. The aliens descend 10 seconds at a time between each row, giving the user the time to shoot. If the player successfully destroys an alien, the LED associated with it turns off. If the player destroys all of them, they emerge victorious. However, if all aliens descend before the player can hit them all, the game is lost.

The LED matrix

The matrix is made of a 7x7 grid of NeoPixel LEDs which can be individually controlled. It is driven by an Arduino Uno which receives commands from the serial terminal on the computer which in turn receives inputs from the Tap. Since these are RGB LEDs, the aliens are represented by red LEDs that are all in line. The player is represented by a single green LED which can move across the first row. When the player shoots, a single LED moves up across the matrix towards the aliens.

The Tap Keyboard

The Tap Keyboard was developed in Visual Studio 2019 using its SDK. The keyboard uses the IDE's debugger in which it outputs characters depending on the user's gestures. This is then sent to the Arduino terminal which interprets the command. The different gestures that are used are:
-Swipe left/right: this makes the user move on their row
-Point and move up: this acts as the shoot

Challenges we ran into

Our main challenge that we ran into was familiarizing ourselves with the Tap Keyboard, since this is a device that we had never used before. We also didn't know exactly how to use Visual Studio 2019 which had a learning curve. However, after using over the past day, we became more confident in our actions and made significant progress in our code.

Accomplishments that we are proud of

We are proud of having been able to figure out how to make the Tap Keyboard interface with the Arduino to control the game of Space Invaders. We are also proud of having been able to write the the logic for the Space Invaders state machine

What we learned

Since this project used not only a hardware interface but a software one as well, we learned a lot about how to make the two work together, which was something that we hadn't worked much on before. We also refined our skills in areas such as state machines, and hardware debugging, which both have applications in many areas.

What's next for Tap Invaders

We hope to create a bigger matrix for Tap Invaders and maybe incorporate other games for it.

Built With

Share this project:

Updates