Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

acme (189)

acme
  (email not shown publicly)
http://www.astray.com/

Leon Brocard (aka acme) is an orange-loving Perl eurohacker with many varied contributions to the Perl community, including the GraphViz module on the CPAN. YAPC::Europe was all his fault. He is still looking for a Perl Monger group he can start which begins with the letter 'D'.

Journal of acme (189)

Monday October 19, 2009
02:34 AM

Games

[ #39771 ]

A few weeks ago I was up in the hills about Geneva reminiscing with my sister about all the things we used to enjoy when we were smaller. When I was younger I used to really enjoy programming computer games, first on my 48K Spectrum and then later on in STOS BASIC and then 68000 assembly language on my Atari ST.

I haven't programmed a game in a very long time. However, I'm an avid gamer, playing games while travelling on my DS and at home on my Xbox 360. I almost enjoy reading Edge magazine more than I like playing games.

At YAPC::Europe in Lisbon, Domm pointed out that the Perl SDL project (which wraps the Simple DirectMedia Layer) was languishing and that we should all programs games in Perl.

A few months later I got around to playing with SDL and made a simple breakout clone which I styled after Batty on the Spectrum, but with gravity. It was fairly easy to program, but there was a lot to grasp. The Perl libraries are a mix between a Perl interface to SDL and a Perlish interface to SDL, with limited documentation, tests and examples.

Of course this is where I join the #sdl IRC channel on irc.perl.org and start discussing with the other hackers (kthakore, garu, nothingmuch). We decide on a major redesign to split the project into two sections: the main code will just wrap SDL and then there will be another layer which makes it easier to use. I've started writing a bunch of XS on the redesign branch of the repository while trying to keep Bouncy (my game) still working. There is a bunch of work still to do but we've made a good start. This is what Bouncy looks like at the moment:

[YouTube video]

The physics are pretty fun and it runs pretty fast (1800 frames/second). I'm taking a little break as I'm off to Taipei...

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • You know, with a share/ and script/ directory, and the core code in a module, this would be pretty trivial to move to the CPAN. (If only for the exercise)

    • Bouncy requires an experimental redesign branch of SDL. when it's stable it'll get tidied up and go to CPAN.