Sunday, June 8, 2008

Ponk: A Pong clone



Two paddles, one ball. That's the name of the game when you're playing Ponk, a Pong clone made with SDL and Common Lisp.

Download Ponk source (120 KB ZIP archive)

Requirements:
  • A Common Lisp implementation (I use SBCL)
  • ASDF (SBCL comes with it)
  • CL-SDL (SDL bindings for Common Lisp)

Launching: If you're using SBCL, just run the *nix shell script:

./ponk.sh

If you want to run it from within CL:

(asdf:oos 'asdf:load-op 'ponk)
(ponk:start)

You may have to switch to the directory to make the font load right (use (sb-posix:chdir "path/to/game/") with SBCL).

Controls: Cursor keys for Player 1, WASD for Player 2. Holding left and right will make the ball faster/slower when it hits your paddle. ESC will end the game. First player to reach 10 points will also end the game.

2 comments:

Anonymous said...

OK, I have to know. Why did you choose CL-SDL when LISPBUILDER-SDL:

- Does more,
- Works across more operating systems,
- Is actively developed while the last checkin for CL-SDL was 4 years ago.

tung said...

The name. Yeah, I judge on names. "CL-SDL" sounded like it was just SDL bindings for CL, and that's it. "LISPBUILDER-SDL" sounded like I had to install the rest of the LISPBUILDER-type libraries to use it, or that it had other requirements to it that I wasn't willing to explore.

But, the more I know. Thanks for the tip.