Interactive Shooting Game:GalaxianDanny Vo and Jeff Yuan(Image courtesy of wikipedia.org)Galaxian: History• Based on the formula developed by Space Invaders• Released by Namco in 1979• First arcade game to feature true color• Spawned a host of sequels, Galaga(1981), Gaplus (1984), Galaga ’88 (1987), etc.Game Rules• Player controls ship located at bottom of screen• Groups of aliens (up to 15-25) are located at the top of the screen• The player attempts to destroy the aliens by firing projectiles that travel vertically upward• Occasionally, aliens move away from their formation and makes a kamikaze attack at the player’s ship• Each level is over when the player destroys all aliens on the screen or when the player’s ship is destroyedController Schemes• Player ship is controlled by left to right movement of an LED board in front of a video camera.• If the LED controller moves upward with a certain velocity, a firing action is registered.• Optionally, keyboard can also be used as controllerDisplay• XVGA Resolution: 1024 by 768. Clock at 65Mhz.• Will only use half of the screen for game, since it is vertical in nature. So game resolution is 512 by 768.768512GameScoringetc1024High Level OverviewVideo ProcessorGame LogicVGA ControllerInput HandlerVideo CameraLCD MonitorGame LogicAlienShipMapBackgroundBulletCollision Detection Game FSMbullet next_x_yship next_x_yalien next_x_ybullet next_x_yconfirmship next_x_yconfirmalien next_x_yconfirmcollision21212110+1update scoreupdate lives8888map_rgbalien_rgbship_rgbbullet_rgbstart_gameGame FSM s t a r t _ g a m e = 1s t a r t _ g a m e = 0n e x t c l o c k e d g e n e x t c l o c k e d g en e x t c l o c k e d g en e x t c l o c k e d g el i v e ! = 0n e x t c l o c k e d g el i v e = 0n e x t c l o c k e d g ec o l l i s i o n _ r e a d y = 1c o l l i s i o n _ r e a d y = 0R E S E TI n i t i a l _ s c r e e ng a m e _ o v e ru p d a t e _ s h i pu p d a t e _ a l i e nu p d a t e _ b u l l e tu p d a t e _ s c o r eu p d a t e _ l i v ew a i t _ c o l l i s i o nu p d a t e _ s t a t u sCollision Detectionresetclockship next_x_yalien next_x_ybullet next_x_yship enablealien enablebullet enableship next_x_y readyalien next_x_y readybullet next_x_y readyalien in ship zonebullet in alien zonealien ai modecollisionNNNN21*N2121N+1LegendN - number of alien (10 for now)Collision DetectorVGA OutputMux GateBRAM BRAMTo VGAoutputFrame Swapperread datawrite dataread datawrite datargbrgb8888map_rgbalien_rgbship_rgbbullet_rgb8168241616 16Video Processingntsc decode color converter ntsc to zbt zbt ramvram displayLED detectiongame inputCamera AD7185tv_ycrcbycrcbrgb rgb_ntsc_datavram_pixelLED_positionx,yvram_addr vram_read_dataship_velocityship_control_logic30 24 36182111319 36Clock 27MhzClock 65MhzProject Timeline• 11/17:– Video processing– Ship, bullet, alien module, should be able to run simple test version• 11/21:– Game FSM, Collision detector:– Sprite and ROM• 11/29:– VGA output– Full game working–
View Full Document