Skip to content
@PYNQcast

PYNQcast

A Multiplayer Raycasting Game Engine on PYNQ FPGA with Cloud-Hosted Development Environment

PYNQcast

A multiplayer raycasting game engine built on PYNQ-Z1 FPGA boards with a cloud-hosted AWS game server. Players connect over UDP, with the FPGA handling real-time rendering via a hardware DDA raycasting engine and the ARM Cortex-A9 managing game logic and networking.


Repositories

Repo Description
ClientSide_PYNQ_jupyter Bitstream, HWH file, and Python game script: everything needed to run PYNQcast on a PYNQ-Z1 out of the box (Server should be running, *.pem will be provided if needed)
HardwareSide_PYNQ_Raycaster Full Vivado project and SystemVerilog source for the DDA raycasting engine
ServerSide_PYNQ_Raycaster AWS-hosted game server handling player registration, match state, and UDP tick protocol
HardwareSide_PYNQ_UI Extension: Full Vivado project and SystemVerilog source for the UI overlay
Deliverables Includes custom diagrams, manim (python) videos and other key documents we used along the way for our project

Getting Started

To play, only ClientSide_PYNQ_jupyter is required. Clone it onto your PYNQ-Z1 board and follow the instructions in its README. The hardware and server repos are provided for reference and reproducibility.


Built With

  • PYNQ-Z1 (Zynq-7020 SoC)
  • SystemVerilog / Vivado
  • Python / PYNQ framework
  • AWS (EC2, Redis, DynamoDB, S3)

Explanation Video

Watch the explanation video here

--Main_architecture


Report

Report | Check out the full report here

Popular repositories Loading

  1. ServerSide_PYNQ_Raycaster ServerSide_PYNQ_Raycaster Public

    Server Side for FPGA Raycaster: Reactor/SEDA, EC2, REDIS, DynamoDB, S3

    Python 2

  2. deliverables deliverables Public

    Python

  3. report report Public

    TeX

  4. HardwareSide_PYNQ_Raycaster HardwareSide_PYNQ_Raycaster Public

    Verilog

  5. ClientSide_PYNQ_jupyter ClientSide_PYNQ_jupyter Public

    Python

  6. .github .github Public

Repositories

Showing 7 of 7 repositories

Top languages

Loading…

Most used topics

Loading…