Welcome to PSY PONG 3D

A three dimensional Pong clone made in C, using OpenGL/GLUT. It runs on GNU/Linux, but the code should be portable enough to run on other platforms.

Game rules...

  • The game level will start at 1 (one), and will increase every two seconds.
  • Everything in the game will be affected by the current level: player speed, ball speed, camera rotation speed, CPU player performance (if you play against it).
  • During the game, the players may swap sides randomly, so watch out!
  • There's an invisible warp hole when you pass beyond the floor wall, that will transport the player to the opposite side.
  • The first player to score 5 points wins!

...are made to be broken!

  • The game can start from a different level. To do that, just use the --level command line option, followed by the level you want. You can also stop the game level from increasing, by issuing the --no-inc option.
  • OK, not everything is affected by the game level. If you wish, you can stop the camera from rotating, using the --no-rot option.
  • Player warping and swapping, can also be turned off with the --no-warp and --no-swap options respectively.
  • You can choose to win at a different score. To do that, just use the --limit option, followed by the score limit.
  • Other game options can also be changed, like enabling full screen mode, changing screen resolution, or setting different floor, player and ball sizes.
  • Use the --help option to see all the available options.


Besides the GNU tool chain and standard libraries, you also need:

  • freeglut >= 2.4.0 or compatible