Academic 2019
River Raid game built in hardware
A full arcade game written as a digital circuit, with no processor and no software
My version of the Atari game River Raid, built as logic on an FPGA board, with the picture on a VGA screen and controls on the board buttons.
- Role
- Creator and developer
- Year
- 2019
- Runs on
- FPGA board and VGA screen
- Language
- VHDL
01 The problem
Games normally run as software on a processor. Here every part of the game, from the picture to the score, had to be a circuit that does its work on each tick of a 50 MHz clock.
02 Result
- A playable game on real hardware, built from logic alone.
- Later taught FPGA and VHDL as lab instructor of the Digital Systems Lab (2022).
03 What I built
- 01
Picture on a VGA screen
Draws the river, its banks, the plane, the obstacles and the shots pixel by pixel while the screen is scanned, in 12-bit colour.
- 02
Controls on the board
Board buttons start the game, move the plane left and right, and fire. A switch picks the game mode.
- 03
Random obstacles
A 32-bit random number circuit picks where each new obstacle appears, with no software involved.
- 04
Two game modes
Dodge mode gives a point for each obstacle passed and is won at 60. Shooting mode gives a point for each hit and is won at 20.
- 05
Score, time and speed
Score and play time show on the board number displays. The game gets faster in three steps, and all LEDs light up when the game ends.
04 Risks I handled
- Risk 01
Everything at the same time
A circuit has no main loop. Shots, obstacles and the plane are all checked for hits in parallel, on every clock tick, so the rules had to be written as hardware. Fix: one hit check per obstacle, all running side by side.
- Risk 02
Game speed from a fast clock
The board clock ticks 50 million times a second. A game at that speed is unplayable. Fix: counters slow it down to a speed a person can play, in three steps that rise as the game goes on.
05 Stack
- VHDL
- FPGA
- Quartus
- VGA
06 How it works
- 01Press start on the board.
- 02Steer the plane with two buttons. In shooting mode, fire with a third.
- 03Score and time update on the number displays.
Get in touch.
Hiring an engineering lead, or building a platform or AI agents? Tell me about it.