Undertale 3 is a thrilling, 2D RPG-style adventure developed for RISC-V ISA based FPGA input and VGA Display. The player, represented by a red heart, faces off against the formidable boss, Brother Ma. To emerge victorious, you’ll dodge a relentless onslaught of bullets, traps, and unique attacks inside a three-by-three grid arena. Each second is crucial, as Brother Ma’s health bar gradually depletes over time—yet to win, you’ll need to survive the countdown before losing all three of your lifes.
See our Demo Here!
.mif file (in this project, specifically image.colour.mif) is used to generate the background (start screen) on the VGA screen. To convert your image into .mif files, refer to this project: imgtomif
Our project is originally compiled on quartus prime, the top file being undertale3.v.
Display: 160 X 120 VGA screen.
FPGA Board: Altera Cyclone V Soc FPGA DE1-SoC
Keyboard compatible with FPGA
If you wish to modify this project, then here are some setup tips. Otherwise you can just use the output files we have.
Inside the program, go to Assignments -> Settings, make sure:
- General -> Top-level entity is set to undertale3
- Libraries -> Project libraries includes /undertale3/vga_adapter
- Files -> Files includes all verilog (.v) files in this project
- Don't forget to Import Pin Assignments for your FPGA board(For instanced we used DE1_SoC.qsf)
- Make sure keyboard, VGA Display is properly connected to board
- On the start screen: Push SW5+SW6 up, then push SW6 down (leaving SW5 up)
- Use WSAD to control the player