The final version of the game has physics accurate reflection mechanics
Demo Video that covers most of the functionality
| Key | Action |
|---|---|
| KEY[0] | Reset |
| KEY[1] | Continue |
| Key | Action |
|---|---|
| W | Forward |
| A | Rotate Left |
| S | Backward |
| D | Rotate Right |
| SPACE | Shoot |
| Key | Action |
|---|---|
| ↑ | Forward |
| ← | Rotate Left |
| ↓ | Backward |
| → | Rotate Right |
| / | Shoot |
- This is a PvP top down shooter. First one to score 10 points wins
- You gain 1 point if you hit an enemy with your missile
- 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
- A missile can bounce off the wall 3 times. You can also manually adjust this by increasing or decreasing the value at
define BOUNCE_LIMITin player.h header file - If you inflict self damage, you lose a point where lowest point you can get is 0
- All of NIOS II Eclipse projects are stored in
final_project/softwarefolder. 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 thisPlease 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
- 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.
