My Worm game is now in a playable state. Ok, it's not Half-Life II (the physics engine isn't quite... eh... done yet), but the gameplay is actually pretty ok after a few days of implementing stories.
On the Lawn there are Walls obstructing the way of your Worm, and Worm Bots compete with you for the Prizes (the $ signs). Future stories include areas of SlowSand where the speed is reduced.
The Worm Bots roaming the Lawn are semi-clever when it comes to catching the Prizes, using an opportunistic approach of trying to turn towards a Prize when they pass next to it. But it works, and if there are three Bots on the Lawn with you, they might even collect more points than you.
I currently use Win32::Console for the display, so it's not very cross-platform. I tried installing Curses and found a PPM after some digging, but some (I think) important calls in the demo programs didn't work, so I don't think I can use it as-is for win32. Maybe if I create an OS abstraction layer someone could help me port the few calls needed?
I'm also thinking of a Tk UI to get it cross-platform, but I'm pretty Tk-illiterate. Is there a some kind of grid-widget that resembles how I treat a console? (i.e. write a char at x/y). Is there a way to get keyboard input? Or maybe I should take the opportunity to take a look at wxPerl.
Source and a freestanding