Slap the Ninjas!Giovanni RevelesChuan ZhangGameplay• Ninjas appear on screen and attempt to move towards center• Camera detects players’ hand which tries to slap the ninjas away from center.DesignVideo ProcessingIssue #1: Synchronization• Video camera and decoder run on 27 Mhz clock• ZBT and FPGA run on 65 Mhz clock• Use series of flip flops to synchronize video dataIssue #2: Hand Detection• Wear green gloves, use blue background• Filter out pixels not in valid color range• Average coordinates of pixels in intensity range to find center of mass of handIssue #3: Timing• hcount, vcount run at 65 Mhz• Propagation delay from hand detection• Latency for reading from ZBT• Total Time access frame’s pixel data < 7.5 msGame ModuleGame issues• Ninja Display– Several ROMs to represent animation.– A “depth” parameter will be use to determine display priority– Initially simple stick figures, will try to implement more complex sprites using portable grey maps and pgm2coe.py provided online• To test as stand alone game– Generate two button controlled paddles on screen that behave the same way as if hands were detected– To implement game, hand center of mass will be represented as a paddleDisplay logic• Gives priority to game graphics. • Essentially a MUX where if there are any game graphics, display them otherwise display the camera pixel.camera pixel1010time + healthninja pixelif (time+health != 0)game pixelif (game pixel != 0)Timeline• Video– Dual-ZBT write/read functionality 11/17/2006– Live video feed 11/22/2006– Hand position detection 12/1/2006• Game– Animated ninja graphics 11/17– Game FSM w/ health and time display 11/22– Collision logic and stand-alone game implementation 12/1• System Integration– Last
View Full Document