Skip to content

koenigr/PiPong

Repository files navigation

PiPong

PiPong is a C/C++-based distributed Pong-style game originally designed to run across a mesh network of four Raspberry Pi devices.

Original Concept

The original architecture of PiPong was built around:

  • 4 Raspberry Pi devices
  • A mesh network communication system between nodes
  • Each Raspberry Pi acting as an independent game node
  • Distributed gameplay logic across all devices
  • Hardware-based input (e.g. sensors / GPIO)

The idea was to create a physically distributed version of Pong, where each Pi contributes to the overall game state in a networked environment.


Current State of the Project

Since the original multi-device setup is no longer available, the project is currently being refactored.

The new direction focuses on:

  • Running the system on a single Raspberry Pi
  • Simulating or virtualizing the original multi-node architecture
  • Preserving the distributed system design in software
  • Maintaining the original game logic written in C

Goal of the Refactor

The goal is to preserve the original distributed systems idea while making the project runnable without requiring four physical Raspberry Pis.

Planned improvements include:

  • Node-based abstraction layer (instead of physical devices)
  • Network simulation (local / virtual nodes)
  • Cleaner separation between game logic and hardware/communication layer
  • Easier testing and development on a single machine

Architecture (Planned)

  • Core Game Logic (C/C++)
    Handles physics, ball movement, collisions, and scoring.

  • Node Layer
    Abstract representation of a Raspberry Pi node (real or simulated).

  • Communication Layer
    Handles message passing between nodes (originally mesh network, now simulated or local network).

  • Hardware Layer (optional)
    Interface for real Raspberry Pi input devices (GPIO / sensors).


Status

This project is actively being refactored from a hardware-distributed system into a software-simulated distributed system while keeping the original design philosophy intact.


Notes

The repository still reflects its origins as a multi-Raspberry Pi mesh system. Future updates will gradually transition the architecture toward a single-device or simulated multi-node environment.

About

Distributed C game system built for a 4-node Raspberry Pi mesh network, currently refactored into a single Pi / simulated multi-node architecture.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages