1 / 26

Live Action First Person Shooter Game

Live Action First Person Shooter Game. Patrick Judd Ian Katsuno Bao Le. Inspiration . Inspired by the “Real Time Color Replacement” Project (2009) Wanted to combine their invisibility effect with a Duck Hunt style game. http://en.wikipedia.org/wiki/Duck_Hunt.

duncan
Download Presentation

Live Action First Person Shooter Game

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Live Action First Person Shooter Game Patrick Judd Ian Katsuno Bao Le

  2. Inspiration • Inspired by the “Real Time Color Replacement” Project (2009) • Wanted to combine their invisibility effect with a Duck Hunt style game http://en.wikipedia.org/wiki/Duck_Hunt http://www.eecg.toronto.edu/~pc/courses/432/2009/projects/colorreplacement.pdf

  3. How our game works • Camera captures the game stage and displays it on a monitor • People/objects which enter the stage become targets • User shoots targets on the monitor with a gun controller • When a target is hit, it disappears (invisibility effect)

  4. Revised Project Goal • Two foreseen difficulties • Custom HW interface for gun controller • Tracking multiple targets • Revised project goals • Use a mouse instead of a gun controller • Restrict number of supported targets to one

  5. Camera Mouse Analog Video Decoder Serial Port Driver Digital • RAM • live image • reference image Light gun • MicroBlaze Processor Hit/Miss Analyzer Target Locator Target Manager Target Drawer Draw B/W Image* • RAM • Modified image Video Encoder Optional Monitor Initial System Block Diagram Video_to_ram

  6. Target Locator • Compares reference image to live image • A difference in color indicated a target • Encodes targets location as: (x min, y min) (x max, y max) Target Locator

  7. Reference Image

  8. Live Image

  9. Target Location

  10. PS/2 Mouse • FPS requires: • High Precision • Quick Response Time • Replaced Light Gun as input. • No ECE532 project has used it!

  11. Mouse Operation • Xilinx IP: XPS_Ps2 v1.00a • Communicates with Microblaze over PLB • SW Initialization: predefined sequence of byte codes • Interrupts on action (move or click) • Receives info packets in ISR

  12. Software – Target Manger • Tracks movement of target based on coordinates from the target locator • Needs to distinguish an old target from a new target • Compares target location to mouse coordinates to detect “hits” • Remembers if a target has be hit

  13. Target Remover • Gets coordinates of box to remove from microblaze (x min, y min) (x max, y max) If (pixel is in box) read from reference image Else read from live image Video Encoder

  14. Design Flow - Hardware • Start with simple custom core to read and write to memory • Create verilog testbench and simulate core • Compare output waveforms with spec • Test core in hardware • Incrementally add functionality

  15. Design Flow - Software • Wrote algorithms and data structures in Linux • Integrated into microblaze code • Debugged microblaze software using xps gdb

  16. Problem - Mouse Initialization Initialization: Send and receive a sequence of byte-codes Problem: Mouse wouldn’t follow script! Debug: • Tried to isolate the problem: • Tried mouse on other PC • Read Registers using XMD Solution: Get another mouse!

  17. Problem - Mouse Buffer Overflow Problem: Buffer overflow interrupt occur Debug: • Decrease sample rate • Receive more than one packet in ISR? Solution: Printf too slow, Remove it!

  18. Problem – Custom Logic • Target Locator core worked correctly in simulation • However the core did not function in hardware • Tried a variety of debug methods but could not isolate the cause of the problem • LEDs and switches • Chipscope • XPS hdl simulator

  19. Problem – Custom Logic • Solution: • Use mem_to_ip/ip_to_mem core from “Real Time Color Replacement” Project • Used their FSMs to perform memory reads and writes • Added our own target locator logic • Also move target remover functionality to software

  20. Problem - Integration • the ps2 core caused erroneous target detection when it was added to the project • possibly due to bus read errors • We are currently unable to find a solution

  21. For the demo • Two demos too show functionality of parts of the design before integration, in lieu of the ps2 – detection issue

  22. For the demo 1. Target locator reading the video signal and sending target information to microblaze Video Decoder • RAM • - live image • reference image • MicroBlaze Processor Target Locator Video Encoder

  23. For the demo 2. Mouse to video interface and target remover functionality Mouse Video Decoder Serial Port Driver • RAM • live image • reference image • MicroBlaze Processor Hit or Miss Analyzer Target Manager Video Encoder

  24. Lessons learned • Don’t try to reinvent the wheel • We spend a lot of timing trying to recreate what other group had already done instead of focusing on the “new” aspects of our project

  25. Lessons learned • Our approach to hardware debugging was less than ideal • We had • multiple group members debugging independently • used different methods • Should have • decided on the best method • concentrated our efforts

  26. Conclusion • Could not produce a fully functioning project • However • Learned valuable lessons in project management • Were the first group to use a ps2 mouse with their project • Will add this to the ece532 knowledge base

More Related