2 Player Digital Logic Shooter Game


Class: Digital Logic Design
Partner: Troy Singletary

Overview

This project using logic chips allows two people to play a small shooting game with each other, and let's players move back and forth with a fire button. It includes a 3-point life system, specific hit collision of the bullets, and a reset button to restart the game.

Design Details

An up/down counter is attached to a demultiplexer so that the user can shift up or down between the eight lanes.
As the player hits the fire button, a 1 signal is sent down a row of D-flip flops that correspond to LED's, letting the “bullet” shift down the four LED's.
The 2nd player's bullet travels down a separate set of D-flip flops, in order to allow bullets to travel in two directions at the same time.
Bicolor LED's are used in order to differentiate between the two player's bullets.
In order to account for bullet collision, when two D-flip flops that correspond to the same LED are lit up from both player's side at the same time, the game would reset the next D-flip flop in sequence so that the bullets stopped traveling.
This does not account for bullets passing by each other, separated by one LED apart, and some bullets would pass through each other given the spacing.
This feature was left as it is because we decided the game would become too stale if all bullets could collide with each other, and players would be just stuck blocking each other's bullets.
The life system is similar to the hit detection system, except when it detects the bullet and player in the same place, it will trigger the clock on a shift register that displays the lights of life, to show that the player has been hit.


Demonstration Video

 
start/classes/principlesofdesign/daniel_hsin/2playershootergame.txt · Last modified: 2013/05/16 14:45 by dhsin
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki