Xilin Jiang (xilinj2) // Tianchen Wang (tw12) // Heyi Tao (heyitao2)
Meeting time:
Thursday 6:00pm-7:00pm
___________________________________________________________________________________________________________
Introduction:
Statement of Purpose:
STG (or Shoot 'em up) is a subgenre of shooter genre of video games. It originates from Spacewar! (1962) and becomes popular in 1970s thanks to many masterpieces including space invaders and Asteroids. Japanese game series Touhou Project contributes to the further development of STG in 21st century.
In spite of the popularity of STG in the late 20th century, it nearly becomes extinct in today’s games market. Our goal of the lab is to build a simple two-player STG game with RGB board and Arduino. Each player holds a simple game controller which supports movement in 4 directions and bomb shooting. Player got shoot loses HP, and when one player’s HP becomes zero, game over.
Background Research:
Our design is motivated by a snake game implemented by Arduino and RGB board. We are interested in remaking games with the knowledge we learn in ECE 110 and ECE 120.
Design Details:
Flow Chart:
System Overview:
Our design mainly contains two physical parts: the RGB board and controllers.
Procedures:
Game begins,
the screen will print a welcome message and two "ships" of different colors (which represents two players) appear in the middle of two opposite bottom lines.
During the game,
(1) Arduino reads signals from the controllers (up, down, left, right, bomb, spacial) and controls the lighting of RGB board.
(a) "up, down, left, right": moves the player ship to the direction indicated
(b) "bomb": shoot the bomb. The bomb will go in a straight line starting from the position of the shooting player.
When players hold "bomb", a line of bombs with space between (on contrary to a "beam" of bombs) will be shoot.
//optional: players cannot hold "bomb" for a long time
//(c) and (d) are optional. Only design it/them when time allows.
(c) "special": special bomb. Design it only when we have time.
(d) "items": Players might get occasionally while shooting other player's ships.
(2) Arduino check whether any of the following conditions happened
(a) got shoot. //optional: HP drop depends on shooting positions
(b) reach the edges of the RGB board
(c) crash with another player
If any of (a),(b),(c) happened,the player(s) triggered these conditions lose HP.
Game over if any of the player's HP becomes zero.
Print winner message.
Parts:
1. Arduino Mega 2560 (Better Choice) or Arduino Uno, With USB Connection Wires. (At least 2 Arduino boards)
2. A 32×32 RGB Matrix Panel *
3. Two Arduino JoyStick Sensors and Board **
4. Infinite jump wires.
5. Many logic gates.
6. Switches
7. Breadboards, ICs, and LEDs
* like this one: https://www.sparkfun.com/products/14646?_ga=2.249354575.917751894.1549585103-1652313248.1549585103
Possible Challenges:
- need to learn how controller interacts with RGB board
- need to properly control delays of I/O to make game smooth
- consider all possible conditions and learn to debug
- need to know how to store and trace information of player ships on the RGB board.
References:
1. https://www.sparkfun.com/products/14646?_ga=2.73791834.917751894.1549585103-1652313248.1549585103
Attachments:
flowchart.png (image/png)
Digram.png (image/png)
Digram.png (image/png)
Digram.png (image/png)
Digram.png (image/png)