FPGA Subway Surfer Clone
Hardware Description & Game Logic
The Objective
The idea behind the project was to combine what was the work of the entire quarter of learning in my logic design class. The project tasked me to create a clone of the famous Subway Surfers game, which meant writing the custom game logic, building the register systems for incrementing/decrementing, and writing state machines for the logic. In the video above, I am showing off the register being able to load a value into memory, adding and subtracting values, as well as a fast increment setting. I learned a lot of strange techniques in this project; for example, the persistence of vision that is the 7-segment display on the Basys3 board. The 7-segment display on the board is shared by each display and hence requires you to drive each display and then switch to a different display fast enough that the human eye thinks that the previous display is still on. Then you show the value you want and switch to the next display, and if you do this fast enough it looks like each display is showing different values. I took a picture to show this effect since the camera on my phone is fast enough to catch this effect, and you can see that it looks like the left display is off while the 9 is barely visible.


