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