Skip to content

SoC approach on StarCraft inspired Top-down PvP Shooter Game with an FPGA

License

Notifications You must be signed in to change notification settings

wonjongbot/StarCraft-Dogfight-SoC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoC approach on StarCraft inspired Top-down PvP Shooter Game with an FPGA

Front Image

The final version of the game has physics accurate reflection mechanics

Demo Video that covers most of the functionality

Controls

Menu/Ingame control

Key Action
KEY[0] Reset
KEY[1] Continue

Player 1 Control

Key Action
W Forward
A Rotate Left
S Backward
D Rotate Right
SPACE Shoot

Player 2 Control

Key Action
Forward
Rotate Left
Backward
Rotate Right
/ Shoot

Rules of the game

  1. This is a PvP top down shooter. First one to score 10 points wins
  2. You gain 1 point if you hit an enemy with your missile
  3. You get an extra "Style Point" if you kill an enemy by bouncing the missile of a wall. In total, you earn 2 points if you hit an enemy with bounced
  4. A missile can bounce off the wall 3 times. You can also manually adjust this by increasing or decreasing the value at define BOUNCE_LIMIT in player.h header file
  5. If you inflict self damage, you lose a point where lowest point you can get is 0

Notes

  • All of NIOS II Eclipse projects are stored in final_project/software folder. Eclipse is weird where changing the project root makes it fail to reopen the project, so you might have to import the project when you are trying it on a new computer. The projects you will need to import are
📁 final project
└─ 📁 workspace <- Select this folder when launching Eclipse
└─ 📁 software
    └─ 📁 usb_kb    <- Import this folder as a project
    └─ 📁 usb_kb_bsp    <- and this

Please ignore lab61 project files that is hidden in various places (e.g. lab61_app folder in final_project/software)

  • It may take a while to first run the program as it calculates sin and cosine from $[0, 360)$ degrees and stores it into an array for optimizations sake

Feature set

  • 16 different player direction
  • Pixel-accurate map collision system
  • Physics-accurate missile reflection system
  • Pseudo-random player color accent picker
  • Character animation
  • Map-aware character shadow
  • UI animation
  • Death animation(explosion)
  • Scoreboard system
  • Win-lose system
  • Simple main menu system

... and probably some more that I can't think on top of my head right now.

About

SoC approach on StarCraft inspired Top-down PvP Shooter Game with an FPGA

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published