Rifle Arcade Game. Introduction. Implementation. Austin Phillips Brown Casey Wessel. Project Overview

Similar documents
Pong Game. Intermediate. LPo v1

Fantastic Tetris. Design Report

Whistle Pongbat Peter Capraro Michael Hankin Anand Rajeswaran

Beat Gunner: A Rhythm-Based Shooting Game

Surfing on a Sine Wave

Move-O-Phone Movement Controlled Musical Instrument ECE 532 Project Group Report

How to Make Games in MakeCode Arcade Created by Isaac Wellish. Last updated on :10:15 PM UTC

Final Report. Project Title: E-Scope Team Name: Awesome

Fpglappy Bird: A side-scrolling game. 1 Overview. Wei Low, Nicholas McCoy, Julian Mendoza Project Proposal Draft, Fall 2015

Pong! The oldest commercially available game in history

TRDB_DC2 TRDB_DC2. 1.3Mega Pixel Digital Camera Development Kit

Campus Fighter. CSEE 4840 Embedded System Design. Haosen Wang, hw2363 Lei Wang, lw2464 Pan Deng, pd2389 Hongtao Li, hl2660 Pengyi Zhang, pnz2102

ELEN W4840 Embedded System Design Final Project Button Hero : Initial Design. Spring 2007 March 22

CSEE 4840 Project Design A Tower Defense Game: SAVE CROPS

BULLET SPOT DIMENSION ANALYZER USING IMAGE PROCESSING

Workshops Elisava Introduction to programming and electronics (Scratch & Arduino)

Fpglappy Bird: A side-scrolling game. Overview

Image Filtering in VHDL

Painting with Light Above: Flashlight Painting Right: Laser Painting

To Purchase This Game, Visit BMI Gaming Or Contact International Sales at (USA) Sharp Shooter

ECE 511: FINAL PROJECT REPORT GROUP 7 MSP430 TANK

Setup Download the Arduino library (link) for Processing and the Lab 12 sketches (link).

True bullet 1.03 manual

Ragnarok PS4 Flex Mod Chip Operation Instructions

Interactive 1 Player Checkers. Harrison Okun December 9, 2015

ME 5286 Robotics Lab Lab 4: Flashlight Assembly Duration: 3 Weeks (Mar 4 Mar 29; the 3 weeks does not include spring break)

Darin Pitts Phoenix Arcade: How To - Tron Control Panel Overlay October 31, 2011

CISC 1600, Lab 2.2: More games in Scratch

GALAXIAN: CSEE 4840 EMBEDDED SYSTEM DESIGN. Galaxian. CSEE 4840 Embedded System Design

In this project we ll make our own version of the highly popular mobile game Flappy Bird. This project requires Scratch 2.0.

Preliminary Design Report. Project Title: Search and Destroy

Pong! The oldest commercially available game in history

Nhu Nguyen ES95. Prof. Lehrman. Final Project report. The Desk Instrument. Group: Peter Wu, Paloma Ruiz-Ramon, Nhu Nguyen, and Parker Heyl

Tilt Sensor Maze Game

Flappy Parrot Level 2

Ghostbusters. Level. Introduction:

Game Console Design. Final Presentation. Daniel Laws Comp 499 Capstone Project Dec. 11, 2009

Training Schedule. Robotic System Design using Arduino Platform

Note: Objective: Lab Procedure: ME 5286 Robotics Labs Lab 4: Flashlight Assembly Duration: 3 Weeks

1 Introduction. 2 Embedded Electronics Primer. 2.1 The Arduino

Keytar Hero. Bobby Barnett, Katy Kahla, James Kress, and Josh Tate. Teams 9 and 10 1

Vinyl Cutter Instruction Manual

LDOR: Laser Directed Object Retrieving Robot. Final Report

Understanding the Arduino to LabVIEW Interface

Spartan Tetris. Sources. Concept. Design. Plan. Jeff Heckey ECE /12/13.

Whack-a-Witch. Level. Activity Checklist Follow these INSTRUCTIONS one by one. Test Your Project Click on the green flag to TEST your code

SCATT MX-02 SHOOTER TRAINING SYSTEM USER MANUAL. SCATT company Tel: +7 (499)

Performing the Spectrogram on the DSP Shield

Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl. Kinect2Scratch Workbook

Control Robotics Arm with EduCake

Open Source Digital Camera on Field Programmable Gate Arrays

PLEASE READ ALL INSTRUCTIONS BEFORE OPERATING THIS MACHINE

Geo-fence Tracking Device User Manual

Lasers and Webcams. two great things that go great together? John Harrison

Versatile Camera Machine Vision Lab

General Workflow Instructions for capturing 360 images using Theta V, editing in Photoshop, and publishing to Google StreetView

Scratch for Beginners Workbook

CSEE4840 Project Design Document. Battle City

Laser Tag. Summer Project Completed Under Electronics Club. Team Members: Satyam Dwivedi. Akhil Garg. Sanchit Mall

LORE WAR A Fantasy Strategy Game

FPGA based Real-time Automatic Number Plate Recognition System for Modern License Plates in Sri Lanka

Terasic TRDB_D5M Digital Camera Package TRDB_D5M. 5 Mega Pixel Digital Camera Development Kit

FPGA Air Brush Project Proposal. Oscar Guevara Junior Neeranartvong

Computer Games Laboratory. Prototyping

Lab 4 Rev. 1 Open Lab Due COB Friday April 6, 2018

Using the SparkFun PicoBoard and Scratch

You will be using the platform to design a handheld embedded breakout game.

To solve a problem (perform a task) in a virtual world, we must accomplish the following:

1.3 Using Your BoXZY

Tank trouble 2 full screen english

A video game by Nathan Savant

Robot Jousting. A two-player interactive jousting game involving wheeled robots. Alexander Cruz, En Lei, Sunil Srinivasan, Darrel Weng

FLOE DOCK FURNITURE WARNING ASSEMBLY INSTRUCTIONS

Practical Assignment 1: Arduino interface with Simulink

CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY

Connect 4. Figure 1. Top level simplified block diagram.

SPACEYARD SCRAPPERS 2-D GAME DESIGN DOCUMENT

Laser Cutting at CAP Fab Lab

SPECIFICATIONS. The WM-6XL Long Wm. Malcolm Telescopic Riflescope Instruction Manual WARNING:

TLE9879 EvalKit V1.2 Users Manual

Parts to be supplied by the student: Breadboard and wires IRLZ34N N-channel enhancement-mode power MOSFET transistor

Oct 10 & 17 EGR 220: Engineering Circuit Theory Due Oct 17 & 24 Lab 4: Op Amp Circuits

Fig. 1 Fig. 2. Fig. 3 Fig. 4 TOOLS REQUIRED: *Phillips Screwdriver *Three Inch Putty Knife*Panel Removal Tool *10mm Nut Driver CONTENTS:

04. Two Player Pong. 04.Two Player Pong

Students: Bar Uliel, Moran Nisan,Sapir Mordoch Supervisors: Yaron Honen,Boaz Sternfeld

Experiment 02 Interaction Objects

6.111 Final Project Report FPGA Beethoven. Yuechen (Mark) Yang and Henry Love Fall 2016

Piezo Kalimba. The initial objective of this project was to design and build an expressive handheld

New Features Guide. Version 2.00

G54GAM Lab Session 1

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

1. Hardware Bookkeeping & Adjustment Access Flow Chart... 6 System Adjustment... 7 Chance Adjustment... 8 Touch Screen Calibration...

CATS METRIX 3D - SOW. 00a First version Magnus Karlsson. 00b Updated to only include basic functionality Magnus Karlsson

Autonomous Crash Avoidance System. Kristen Anderson Kat Kononov Fall 2010 Final Project Report

Digital Guitar Effects Box

DSP Dude: A DSP Audio Pre-Amplifier

Pico-Satellite Training Kit HEPTA-Sat: Hands-on Practices for Space Engineering

EE 307 Project #1 Whac-A-Mole

Create a Simple Game in Scratch

Space Invadersesque 2D shooter

Transcription:

Austin Phillips Brown Casey Wessel Rifle Arcade Game Introduction Project Overview We will be making a virtual target shooting game similar to a shooting video game you would play in an arcade. The standard version that you would find in an arcade is bulky the gun is permanently attached to the machine and costs thousands of dollars to manufacture as well as to maintain. Our version is a low cost alternative that uses an FPGA and an Arduino to do the heavy lifting of the game. What makes our light version of the game possible are the methods that we use to track the movement of the gun a combination of image tracking and gun angle calculations. The game itself would first begin by displaying options for game levels of beginner, intermediate, and expert. The player will have a physical plastic rifle, which they will aim at the computer monitor. The player will select their game level by aiming at the desired level and pulling the trigger. The screen will display a target, its size will be based on the level selected. Higher levels will have smaller targets which correspond to a distance farther away. The player will aim the rifle at the displayed targets. A combination of image tracking and a gyroscope will calculate where the player is aiming on the screen and will display an image of a sight on the screen so that the player can see where they are aiming. To fire, the player will push a button on the rifle, which will be wired to the FPGA. The rifle will also include a safety switch, which can be used to pause the game. The display will show any bullet holes if the target is hit, and if the player has accumulated enough points, the game will advance to the next level. Motivation Our main motivation behind this project is that we wanted to create something fun to play and test in the lab. We thought a virtual game would be a great way to accomplish this goal.we picked a shooting game in particular because we both have taken rifle classes and enjoy the challenge of testing our aim. One of the challenges of practicing shooting with a gun is the restriction on practicing in a safe environment, like a shooting range. We thought implementing this game on the FPGA would allow us to simulate practicing a sport we enjoy, in a more readily accessible environment. Implementation 1

Figure 1. System Block Diagram Outside hardware Camera and Rifle Inputs, FPGA Modules Aim/Target Overlap, Score, Display, FSM Arduino Modules Image Processing, Aim Calculations Display Author:Austin Phillips Brown and Casey Wessel For this portion, we will aim to design methods that create the specific targets for our game. In general, we will have three standard target sprites: A short distance target, a long distance target, and a medium distance target. These methods will be called at the start of each level. Each target will have three rings of different colors. The number of points the player receives will be dependent on which ring the player hits. The target sprites will move around the screen during the round, similar to the pong game, making it more difficult for the player to hit the target. In addition to the targets getting smaller, the speed of movement will increase as the player reaches more difficult levels. 2

Picture 1. Example of a Level Layout Picture composed of Background, Target, and Aiming Aid (crosshairs) The Display Module will take, as an input, the position of where the bullet would hit the target we refer to this as Aim Location. Based upon the input value for the Aim Location, the Display Module will place a Sight sprite at a the corresponding location on the monitor. The Sight sprite will represent where the person is aiming and where the bullet itself would, ignoring wind, likely hit. If a person hits a target, a version of the target with an X shape at the Aim Location will appear. Rather than storing the images in RAM, we will write methods to produce sprites for the targets, X, and pointer. This will be very similar to sprites we created when we implemented the game Pong on the FPGA. To make the game a little prettier, we will also implement a scenic background behind the moving target. Using a MATLAB script, we can convert the JPEG image to RGB values to be displayed via the FPGA. Camera and Image Processing Author: Casey Wessel The camera s purpose is to find the general location of the Rifle nozzle. First, we will need to use the provided Verilog code to take the data from the camera and convert it into a color image. That color image is then processed on the FPGA in the following manner: We search the pixels for the color of the neon orange that we set on the rifle nozzle and mark the locations where we see that image as the location of the nozzle. After finding all the locations, we choose one as a center point; this does not really need to be extremely accurate for our purpose as the camera will likely only have a few pixels containing the rifle nozzle. The resolution of the camera may not necessarily be the resolution of the monitor so we will be forced to adjust our point s location to fit on the VGA screen. For this, we plan to set a ratio of the resolutions from the camera to the VGA display for example, if we use 600 x 480 pixels for the display and the camera is 1024 x 1024, the x, y coordinates that we find will be adjusted by the general equation: 3

Position Camera * Res Res Camera Display Rifle and Aim Calculations Author: Austin Phillips Brown The Rifle module has three key aspects, the first two of which are relatively simple. We will have a button/switch system on the rifle that will relay the Fire and Pause commands to the FPGA respectively. The button will be normally disconnected and will connect 5v from the FPGA to the io port of the FPGA when pressed. The setup for the Pause function will be very similar but using a switch instead of a button. The idea behind the switch for the Pause function is that it is similar to a safety switch on a rifle. The third task will be finding the angle of the rifle with respect to the x and y axis. For this portion, we plan on using a gyroscope with the analog outputs for the x and y angle being supplied to an Arduino. The Arduino will send the data to the FPGA via the serial port. The Aim Calculation Module will also take pixel coordinate from the Image Processing Module. Using the angle from the gyroscope and the pixel coordinate from the Image Processing Module, we can use simple geometry to figure out where the bullet would hit the screen. The location where the bullet would hit the screen is then sent to another module named Aim/Target Overlap. This module will take in the location of the bullet hit and the display image. It will detect if the location of the bullet hit was within the target, and depending on which section of the target the bullet hits, it will output a certain number of points to a Score Module, which will keep tally of the players score for that level. Timeline For our timeline, we separated what we believe to be high risk material from the rest of the tasks. The high risk activities will require large amounts of time and it is possible that we will not be able to effectively implement them these tasks include the Image Processing Module and the Aim Calculation Module. These tasks are given a week each so that we can be sure to either complete them or have enough time to consider alternative strategies. We ve also put the sound module at the end because it will add a fun element to our game, but is not necessary for the overall operation. Due Date Task Complete 10/31 Moving Target and Background Image 11/7 Gun wired, FSM module written, Score module 11/14 Image Processing Module 11/23 Aim Calculation Module 12/10 Modules interfaced together, Sound module 4

Supplies Part Cost Status NTSC Camera Free Acquired Plastic Rifle $20 Acquired Arduino Mega Board $32 Purchased Gyro Breakout Board $12.50 Purchased Button, Switch Free Acquired Table 1. Project Supplies Table 5