Monday, January 2, 2012

Space Invaders - 2 Player

Last semester I took a course on embedded systems.  The class revolved around building the classic Space Invaders game.  We built the game on the Virtex-II Development Platform which involves an FPGA with a PowerPC processor.  The combination of a "fast enough" processor and an FPGA meant we could do some pretty cool things.  We developed some custom hardware to act as a DMA audio controller, for example.  One part of the course is a creative assignment, where we were supposed to create a substantial addition to the game.  We decided to make it a two player game, but wanted to do a little more hardware development.  So we picked up two RF transceivers and added wireless communication.  Here's the final product:

Space Invaders - 2 Player from Peter Hamilton on Vimeo.

As you can see, the graphics are pretty good (the video skews them a bit) and the gameplay is very smooth.  My friend Jeremy worked hard to make it an exact copy.  As far as multiplayer goes, the video explains the additional rules for 2 players.  Every time a player kills an alien, there is a 30% chance it reappears on the other persons screen as a yellow alien.  When a player shoots a spaceship, a random number of aliens (between 1 and 7), appear on the other players screen.  The game state is synced over the wireless connection 10 times a second.

This turned out to be a blast.  It was fun to build and pretty fun to play.  It added a very fun competitive element to an a classic game.  We actually left it running in the lab for a few weeks and students in the class would frequently challenge each other.

 Overall it was a pretty cool project.

Thanks to Jeremy Mickelson and Jared Pilcher, my lab partners.

Edit: Hacker news comments

No comments:

Post a Comment