Aadhavan Srinivasan 8848f0ff8c Removed debug print statements, cleared background before drawing to screen, and added client GUI implementation
I removed a print statement that printed out every position of the ball, because it was no longer necessary.
I also added code to clear the background before drawing to the screen at the start of the game, to remove
any lingering un-erased objects. Finally, and most substantially, I finished the initial implementation of
the client-side GUI. The client should now be able to specify a connect code through the GUI, and connect
to the appropriate server.
2024-03-08 23:35:18 -05:00
2024-03-06 13:09:06 -06:00
2024-02-26 21:38:54 -05:00
2024-03-07 07:49:39 -05:00
2024-03-05 22:42:28 -05:00
2024-03-08 14:44:53 -05:00

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 system. In order to write idiomatic C++, I chose to use the raylib-cpp wrapper, which provides an object-oriented interface to the Raylib library. However, this wrapper is bundled with the project, and is thus not required to be installed.

Building

This application uses Meson as a build system. To build the application:

  1. Install meson from the link above.

  2. Install raylib from the link above (THIS IS OPTIONAL, SEE STEP 5)

  3. Set up the build directory with the meson setup build command.

  4. Compile the application, with the existing raylib installation, using meson compile -C build.

  5. If you don't have raylib installed, you can create a statically linked version of the library 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 W and S keys, right paddle is controlled with Up and Down arrow keys.
  • 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.
Description
A network-based Pong game, written in C++.
Readme 2.2 MiB
Netpong v0.2 Latest
2024-03-19 09:59:28 -05:00
Languages
C 55.4%
C++ 43.7%
Meson 0.5%
Shell 0.4%