Reza Shirazi / Head of Engineering

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

  1. 01Press start on the board.
  2. 02Steer the plane with two buttons. In shooting mode, fire with a third.
  3. 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.