gnupong and yapong: One bad, one … better

I’m dreading talking about gnupong and yapong, mostly because I’m in that “weak sauce” area again.

Pong itself is no masterpiece of programming, and in this case we’re reaching so far back into game history that even the finest, freshest, most faithful rendition of the original game is going to be a bit … sparse.

These two are on my list though, so I feel obligated to include them. The first is gnupong, which has dates in its source files that reach back to 1998.


If that looks pretty weak to you, it is. This is more a one-person variation on the original Pong than a clever imitation at the console. And given that it has an upright orientation over a horizontal one, it has more of a feel of Arkanoid than Pong proper.

No score display, until the game is over. No help on controls, until you read through the source files (hint: “a” and “l” for left and right). No help on speed controls or quitting the game, and when you miss a ball, it all comes crashing down.

I’m almost embarrassed to include it.

yapong, on the other hand, is a better attempt.


Here we have the original side-by-side arrangement, the vertical controls (up and down for the right player, “a” and “z” for the left) and proper rebounding action for the ball. Score is on-screen and visible, and the game doesn’t smash-to-black every time one side makes a mistake.

Space drops the ball and continues play after a point, with “q” as a dropout key. Check the help flags for difficulty and animation controls; in my case yapong -l 1 was a good shortcut for a playable game at 2.6Ghz.

No AI players though. And still no color, although I expect the argument could be made that the arcade version had no color either, so it’s an issue of fidelity.

Regardless, I will set these aside for now, as two titles that are done and done. One bad, but one better. 😐

P.S.: yapong is in AUR only; gnupong will compile if you add using namespace std; after #include <iostream> in pong.cpp … according to my notes. πŸ˜‰

3 thoughts on “gnupong and yapong: One bad, one … better

  1. matt

    it’s been interesting reading your posts, because the stuff you’re digging up is kind of mirroring an archive of stuff i’ve been messing around with for a while, basically collecting old (and new) ascii “amusements” and getting them running on os x. i was looking for a link to reference for cursedmate last week and couldn’t find it, but you did; so thanks!.

    gnupong is pretty much the worst, isn’t it? whew.

    1. K.Mandla Post author

      Thanks. To be honest, that was a small part of the reason I did this. I’m not in a position to really mirror anything, but with a source link, other sites like can fill that purpose.

      And yes, gnupong is really bad. 😦

  2. Pingback: Links 27/3/2015: Ubuntu 15.04 Second Beta, Dart 1.9 | Techrights

Comments are closed.