This project is a course project for UIUC's ECE385 Digital Systems Laboratory. It aims to recreate the classic game Fireboy & Water Girl In the Forest Temple an FPGA board, based on the early course materials. I have designed the animation module, character interaction module, and control module individually, and also integrated the sound module with assistance. Here is the video demo link. Our project has won one of the Best Design Awards in the course! 🏆🎉
I would like to express my gratitude to my teammate Song Yifei and our instructor Professor Li Chushan for their guidance and support throughout the development of this project.
Requirements ⚙️
To run this project, you will need the following:
- FPGA DE2-115 Board
- A standardized keyboard
- Quartus 18.1 software
Setup 🚀
- Clone this repository:
git clone https://github.com/Hank0626/FPGA-Game-Desigan.git
- Open the project in Quartus 18.1:
cd FPGA-Game-Desigan
-
Connect the FPGA DE2-115 Board to your computer.
-
Connect a standardized keyboard to the FPGA DE2-115 Board.
-
Compile the project and program the FPGA DE2-115 Board using Quartus 18.1.
-
Once the FPGA DE2-115 Board is programmed, the game will start automatically. Enjoy!
Here is our module architecture.
{FPGA-GAME-DESIGN}
└─────ECE385-HelperTools-master
└─────src
├───hpi_io_intf.sv
├───VGA_controller.sv
├───lab8.sv
├───background.sv
├───map1.sv
├───button.sv
├───button1.sv
├───button_yellow.sv
├───girl_word.sv
├───boy_word.sv
├───collision.sv
├───collision_board.sv
├───box_collide.sv
├───collision_box.sv
├───red_diamond.sv
├───blue_diamond.sv
├───is_red_diamond eat.sv
├───is_blue_diamond eat.sv
├───girl_motion.sv
├───boy_motion.sv
├───board_motion.sv
├───board_purple_motion.sv
├───box_motion.sv
├───win_girl.sv
├───win_boy.sv
├───dead_girl.sv
├───dead_boy.sv
├───button_push.sv
├───button_puple_push1.sv
├───button_puple_push2.sv
├───designer.sv
├───color_mapper.sv
├───game_logic.sv
├───HexDriver.sv
├───select.sv
├───keycode_select.sv
├───audio.sv
├───music.sv
All details can be found in license.
Part of our code is base on this Part of our code is based on ECE385-HelperTools-master. We would like to thank them for their excellent work.