Galaxian Revolution: Interactive Arcade Shooting Game 6.111 Fall 2006 Final Project Report Team #27 Danh (Danny) Vo and Weijie (Jeff) Yuan Mentoring TA: Javier Castro Abstract: Galaxian Revolution represents a coalescence of the classic arcade game Galaxian and a novel hand motion based controller scheme. The project involves the design and implementation of three different module blocks: video processor to detect hand motion and translate into game commands, the game logic itself which governs the flow of gameplay, and finally the display output to the monitor. The successful integration of these independently designed blocks is also a crucial component of the project. Through five weeks of planning, designing, implantation, and integration, the project is fully functional and can be enjoyed by adults and children of all ages.2 Table of Contents 1 Introduction -------------------------------------------------------------------------- 4 2 System Overview ------------------------------------------------------------------- 4 3 Video Processor (Danny Vo) ------------------------------------------------------ 5 3.1 Object Detector ------------------------------------------------------------- 6 3.2 Object Position History---------------------------------------------------- 7 3.3 Game Input ------------------------------------------------------------------ 8 3.4 Testing and Debugging ---------------------------------------------------- 8 4 Game Logic (Jeff Yuan) ----------------------------------------------------------- 9 4.1 Main Game Logic ---------------------------------------------------------- 9 4.2 Collision Detection -------------------------------------------------------- 10 4.3 Timer ------------------------------------------------------------------------ 10 4.4 Ship Object ------------------------------------------------------------------ 11 4.5 Bullet Object ---------------------------------------------------------------- 11 4.6 Alien Object ----------------------------------------------------------------- 11 4.7 Game FSM------------------------------------------------------------------- 13 4.8 Titlescreen and Endscreen------------------------------------------------- 14 4.9 Background Image --------------------------------------------------------- 14 4.10 Score Display---------------------------------------------------------------- 15 4.11 Testing and Debugging ---------------------------------------------------- 15 5 Display Output (Danny Vo) ------------------------------------------------------- 16 5.1 Testing and Debugging --------------------------------------------------- 17 6 Conclusion --------------------------------------------------------------------------- 18 7 Acknowledgements ----------------------------------------------------------------- 183 Table of Figures Figure 1: Galaxian Game Logo ------------------------------------------------------------ 4 Figure 2: Screenshot of Galaxian ---------------------------------------------------------- 4 Figure 3: Overall Block Diagram----------------------------------------------------------- 5 Figure 4: Video Processor Block Diagram ----------------------------------------------- 6 Figure 5: Demonstration of Median Filter ------------------------------------------------ 7 Figure 6: Routing With and Without Area Constraint ---------------------------------- 8 Figure 7: Game Logic Block Diagram ---------------------------------------------------- 9 Figure 8: Alien FSM State Transition Diagram ----------------------------------------- 12 Figure 9: Game FSM State Transition Diagram ----------------------------------------- 14 Figure 10: Game Title Screen -------------------------------------------------------------- 15 Figure 11: Game End Screen --------------------------------------------------------------- 15 Figure 12: In Game Screen ----------------------------------------------------------------- 15 Figure 13: Display Output Pipeline Diagram -------------------------------------------- 174 1. Overview Galaxian is a classic arcade game released by Namco in 1979. The game features a horde of aliens creatures which attempts to destroy a spaceship controlled by the player. The player can shoot bullets at the aliens in an attempt to exterminate them. A novel feature of the game is that periodically, aliens swoop down from their formation and make kamikaze attacks at the player’s ship. Galaxian was a huge success for Namco and spawned a large number of sequels, including Galaga (1981), Gaplus (1984), and Galaga ’88 (1987). For our project, we aimed to implement a version of Galaxian on the FPGA board. While keeping the spirit of the game in mind, we did not intend to copy the design of the game exactly. In addition, we wanted to combine this classic game with an innovative controller scheme where the ship can be controlled by the player’s hand motion. This allows for a more interactive and exciting gaming experience. To reach the goals stated above, we designed our project to include three main blocks. The video processing block handles the signal from the camera, which detects the player’s hand motion and converts it into commands such as “move left”, “move right” and “fire bullet”. The game logic is responsible for creating the game itself, including the graphics, the simple physics in the game, and the progression of the game itself. Finally, the video output block takes video signal generated from the game logic and outputs it to the screen. The following sections in this document detail the design of the system, the process of implementation and debugging, and the end result of this project. Possible improvements to the design process and the system are also discussed at the end of the document. 2. System Overview The system is divided up into three main blocks (see figure 3). The video processor block contains code which interfaces with the video camera to get the relevant pixels. It also uses various algorithms to detect the desired object, and track its velocity and position. The video processor is designed and implemented by Danny Vo. The game logic contains all the images, rules, and interactions which make the game operate. Jeff Yuan is responsible for the design and implementation of the game logic.
View Full Document