address
Netpong - A Pong game for the internet era
Netpong is a network-enabled Pong game, written in C++. It enables two players to play against each other, provided an IP address and a port. It also supports a single-player mode.
How it works
The game has only one runtime dependency: The raylib graphics library. In order to write idiomatic C++, I chose to use the raylib-cpp wrapper, which provides an object-oriented interface to the Raylib library.
Building
This application uses Meson as a build system. To build the application:
- 
Install meson from the link above. 
- 
Clone the repository. 
- 
Update all submodules: git submodule update --init --recursive
- 
Set up the build directory. meson setup build
- 
Compile the application. Meson should use a system installation of raylib, if it exists. If not, it falls back to a bundled version. meson compile -C build
- 
You can also create a statically-linked version of the game (with no runtime dependencies) on Linux by running the following commands: meson configure -Ddefault_library=static build/ meson compile -C build -Ddefault_library=static
Running
- 
To run in single-player mode: - Run the application with no arguments: build/pong
- Left paddle is controlled with WandSkeys, right paddle is controlled withUpandDownarrow keys.
 
- Run the application with no arguments: 
- 
To run in multi-player mode: - One player runs the application in Server mode, specifying their IP address and a port: build/pong -S <ip_address> <port>
- The other player connects to the first player by running in Client mode, specifying the first player's IP address and port: build/pong -C <ip_address> <port>.
- The server controls the left paddle by default (WIP to allow the user to modify this), and the client controls the right paddle.
 
- One player runs the application in Server mode, specifying their IP address and a port: 
TODO
See todo.txt.