Sharp Shooter

Introduction:

Our project is a highly entertaining video game testing reaction and creativity which uses the hardware and some concepts of the classic games Whack the Mole, Time Crisis, and Duck Hunt.

Summary:

Our initial idea was to replicate an arcade like whack-the-mole game, but as we started on the project, we decided to make a more exciting and fun two player game instead.

Sharp Shooter

Our final project is a two player video game where one player places different types of figures on the screen while the other player tries to shoot them depending on the type of figure. The player placing different types of characters on the screen, which we will call player A, will have a 9 square grid with buttons to determine the location, and another 4 button pad to place 4 different types of characters on screen. The player trying to shoot the characters, which we will call player B, will have a gun with limited number of bullets, which can be reloaded by stepping on the foot-pedal. Every time a character is placed on screen, it will move around, and stay within that square box for a limited amount of time. If time is up, and the character is not shot, the player B will lose a part of their life bar on the screen. The purpose of the game is for player A to put different types of characters in different locations on the screen to confuse player B, and make them lose their whole life bar. Player B’s purpose is to survive the game for a certain set period of time.

Instructions:

The purpose of the placer/manmaker is to place a variety of figures on the screen so the shooter will not be able to shoot the figures in time, or to shoot stuff that they are not supposed to. 4 different figures can be placed on the screen to cause confusion. The 9 button placer is used to place the characters on screen, and the location of the buttons correspond to where the character will be placed on the TV screen. The 4 button selector will be used to select the type of character to be placed. Press the type of character before pressing the 9 button placer. The left most button is the normal guy, the second left most button is the bomb, the third left most button is the samurai guy, and the rightmost button is the headless superman.

The purpose of the shooter is to last through the time at the bottom right of the screen without running out of health. The shooter has only a 6 bullet gun, and the gun can be reloaded by stepping on the footpedal.

The 4 different types of guys are shown below:

This is a normal guy, and only 1 shot is required to take it out. But if not killed in 5 seconds, he will jump and the shooter will lose 1 health.

This is a bomb. If it is shot, it explodes and the opposing player loses one health. It will disappear in 5 seconds and there is no penalty in health if not shot.

This is the samurai guy. He dies in one shot, but when he has his dual swords up, do not shoot him! You will lose one health if you shoot him while he has his swords up. The samurai guy leaves after 6 seconds, and if not shot within seconds, one health is also lost.

This is the headless superman. Requires 3 shots to take him out, that’s why he’s called superman. But superman can be nice too, and if killed, the shooter will be awarded one health. Superman flies away in 8 seconds, and the shooter loses one health if superman is allowed to fly away.

High Level Design:

Our initial brain-stormed idea was simply a whack-the-mole game with varying characters. But as we started on the project, and along with some constraints in cost, our creativity was further stimulated, and our original one player game slowly transformed into an exciting two player game.

Logical Structure:

The following is a high level diagram showing how our hardware was connected:

Sharp Shooter logical structureOur project was written in C, and the code generates everything that is seen on the TV, processes inputs from the hardware (the gun, 9 button placer, 4 button selector, and foot pedal), and controls the progress of the game. More detail can be found in the Program Design and Hardware Design pages.

Background Math:

The background math in our project involved conversion between binary, decimal, and hexadecimal numbers. These conversions were used in determining the location and boundaries of the images placed on the video screen. Floating point was also used.

To simplify calculations, acceleration was kept constant, and velocity was scaled so that dt = 1, and the multiply could be avoided. Now with dt=1, the new position (at t+1) would simply be equal to the position at t=0 + the velocity. For example, x(at t+1)= x (at t=0) + v x *dt, but with dt=1, x=x + v x . These equations provide us with the velocity and position of the figure at different points in time, and would provide us with current information as well as information to calculate the next set of values in time.

After implementing the integration algorithm (previous paragraph) and solving for the x and y coordinates for a particular frame, the code will output the figure shape onto the video screen by calling a function video_putMan, or other video_put commands which created figures on our screen. (video_putMan((char)(x>>8), (char)(y>>8))) The x and y coordinates are shifted right 8 to change the fixed point number back to a regular integer. The video_putMan, and the other similar command functions simply creates pixels at specific points onto the video screen until the desired figure is created.

Hardware/Software tradeoffs:

Originally we wanted to make an amusement park version of whack the mole, where moles would pop out by using motors or some other method, but with the limited budget, doing this task was quite tough. However, this led to our more original project idea, so we can’t complain. Another tradeoff that we had was that our microcontroller limited the size of the guy that we could place on the screen, because if we tried to create/erase too many pixels at once, jittering/distortion would occur. We did not have too many tradeoffs for hardware as a lot of the hardware was built my ourselves, and for missing parts, we simply found alternatives to achieve the same purpose. (e.g. there were no more reset buttons to solder onto our custom pc board, so we just soldered a wire and used it as a short to reset)

Relationship of design available to IEEE, ISO, ANSI, and other standards:

We implemented an NTSC-rate, non-interlaced video signal, and our game can be played on any standard NTSC television.

Discuss patents, copyrights:

We’d have to say our game is quite original. The Duck Hunt gun was just used as a piece of hardware, and our game did not include anything that was related to the game Duck Hunt. The pedal was also an original idea, where the gun would reload when the pedal was stepped on, and no arcade games use this concept. Our game may appear similar to the classic game Whack the Mole, but the classic Whack the Mole game is a one player game, and buttons are pressed to actually �hit’ the mole. But our game is a two player game, and the buttons are used to place a variety of characters onto the screen. To the best of our knowledge, we have not seen a similar game in the arcade, or on any of the gaming consoles.

For more detail: Sharp Shooter


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top