Cooking with Linux - Evil Agents under the Bed and Other Scary Things that Go Boom!
Open up, François! I've been knocking for the last ten minutes. Quoi? You're afraid? Of what? But, that's ridiculous! Who else would be at the door at this time besides myself? Besides, I told you I was going to Henri's to pick up a case of today's wine. Sadly, the bottle you and I sampled earlier was the last one in the cellar, and I truly wanted to serve it for our guests. None of that explains why you are hiding behind the bar, keeping me outside knocking for ten minutes. Yes, of course, this month's issue is about security, but I still don't know why you are hiding in the dark.
Secret agents? Terrorists? Aside from the fact that none of those things are serious threats in this restaurant, that doesn't explain why all the computers are down. Logic bombs? Mon ami, the only bomb I am worried about at this moment is the one in your head. The Security issue isn't about national security or anything quite that dramatic. Usually, we mean computer security, and although that kind of security is serious, you aren't in imminent danger, and a logic bomb won't make your laptop explode. The battery inside is more likely to do that. Now, get up and get ready for our guests, many of them are already approaching. And, turn those computers back on. We will need them shortly.
Welcome, everyone, to Chez Marcel, where great wine, Linux and free software combine to make a feast like no other. Please sit and make yourselves comfortable. I won't be sending François to the wine cellar, as I brought the wine with me moments ago. Besides, my faithful waiter would likely cower in the darkness tonight. Don't fret, François. Tonight's wine is a 2004 Xanadu Cabernet Sauvignon from Margaret River in Western Australia.
Let's start with something really simple—slime. That's right, green-gooey slime. The game, written by Joey Marshall, is called Slime Bomber, and although it's alpha code and pretty basic, there's a fun element here that oozes you into the whole playing-with-explosives thing. It's also basic Python code and, therefore, open to simple hacking by anybody who might like to build on this theme. And, it's a pretty simple theme. Fly a bomber over various buildings, launch platforms and the occasional tree, and drop slime balls (Figure 2). That's it. Slime the world from overhead using slime bombs. No massive destruction here, just gooey fun.
To play the game, simply extract the tarball into the directory of your choosing, open a terminal window, and from that directory, type the following:
The game relies on the pygame package, so you need that to play. As for play itself, select a difficulty level, an aircraft type and click Play. Use the cursor keys to move your plane around, and press the F key to drop your slime. Given that this is alpha code, you'll be entertained only for so long with this one, so let's move on to something more explosive—slime, after all, doesn't go boom so much as plop.
It's on that gooey note that I move to a rather endearing game called ClanBomber, written by Andreas Hundt and Denis Oliver Kropp. ClanBomber itself is inspired by the hugely popular, not to mention long-running (since 1983) Bomberman game made famous by Nintendo (but originally created by Hudson Soft). Bomberman featured a robot working in a bomb factory, so the story line for ClanBomber is somewhat different, as are the characters: Tux, the BSD Demon and others. Each level features different layouts and obstacles. The bombs you detonate aren't just to get rid of your opponents, but also to open up walls and let you find and collect treasures. Meanwhile, a clock counts down the time left in that level's gameplay.
ClanBomber has several gameplay options, including defining and renaming AI players, turning off some of the players and more. When bombs go off in this game, body parts go flying, which might not make it a great choice for some, but that too is an option. You can reduce the number of corpse parts that get scattered, or you can switch to the friendlier Kidz mode (Figure 4).
Most distributions offer a version of ClanBomber that works with, wait for it, ClanLib. The latest ClanBomber has been redesigned and now works with DirectFB instead. If you do decide to check out ClanBomber2, you may need to build from source. This is your basic extract-and-build five-step, but it does have the prerequisite of DirectFB's FusionSound library.
Nothing says your bombs have to be bombs, per se. As I mentioned with the first game, slime can be fun. So can potato bombs and even tomato bombs. And, both of these fit in well with the theme of a restaurant. Let's start with the potatoes and a great game called Hot Potato. If you have ever played hot potato as a kid, you can probably guess where the computerized Hot Potato is headed.
Here's the premise. It is the future. Major-league sports have given way to a deadly form of the old hot potato game, where up to four players enter an arena and only one comes out. Hot Potato is a network-enabled, multiplayer game (although you can play it against a computer opponent) that is played inside an enclosed space. You race around this arena, along with up to three other players, picking up, tossing around and otherwise trying to get a potato bomb into the hands of the other player, preferably right before it blows up (Figure 5). It's very fast and good for getting your heart racing.
The potato is a bit like a time bomb in the sense that it has a short fuse and, therefore, offers little time before you need to get rid of it. Hit something with the potato, like another player, and it explodes. Catch a potato thrown at you (by facing the thrower), and the timer resets, providing you with a chance to unload it on somebody else. You either can throw it or leave it where somebody else will run into it. The mouse defines direction, and a left-click tosses the potato.
When the game starts, you can select a local game or choose to connect to another server on the network. Should you decide to start your own server session, enter the lobby where you either can wait for other players to join you or start a match against an AI opponent. The AI also serves as your guide for learning your way around the game.
Hot Potato starts in full-screen mode, but you can override that in the Options screen (Figure 6). There you can switch to windowed mode, turn various sounds (including music) on or off, and define some quick chat responses to use during gameplay. When you don't have time to type, a single keystroke has to do.
The last item on tonight's menu reminds me of a bad old film from my youth called Attack of the Killer Tomatoes, not so much in the sense that it resembles it in any way, but more because killer tomatoes are generally hard to come by. I Have No Tomatoes, by Mika Halttunen, is a colorful, cheerful (despite the explosions), wonderfully addictive and totally engaging game. Your job, should you choose to accept it, is to smash, or blow up, as many enemy tomatoes as possible (Figure 7).
All this action takes place in a surreal landscape, floating in three-dimensional space. You move around a maze of sorts, dropping bombs, running to escape before the fuse blows. All this to smash other tomatoes—you see, you are a tomato as well. Some levels include teleportation devices to get you out of trouble fast, but for the most part, you just need to keep moving. If other tomatoes touch you, you are done for. At least, until you respawn a few seconds later.
I want to touch on some of the gameplay options, and one of those options requires special considerations, so I'll tackle it first. By default, the game starts with full-screen mode enabled. Should you want to play in windowed mode, you can do that; however, it requires that you manually update the game's configuration file. Here's a partial listing of the ~/.tomatoes/config.cfg file:
video_mode = 800 x 600 video_mode_color_depth = 32 video_mode_fullscreen = 1 sound_enabled = 1 sound_freq = 44100
If you change video_mode_fullscreen to 0 instead of 1, the play runs inside a window. Many changes can be made directly from the game's options screen without the need for editing a configuration file. To do that, simply select Options from the main screen, and you can change many settings, including the very important movement options.
Smashing tomatoes creates gems that you collect while traveling the maze. During gameplay, you may win additional “specials” as you collect these gems (Figure 9)—specials that you can bring into play by pressing the right Alt key (also configurable). These specials include lightning bolts, superhero potatoes, tomato traps and other strange and wonderful goodies.
So you see, mes amis, while the news keeps my faithful waiter fearful, we can step back and deal with all this trepidation with a little fun. Remember, no electrons were harmed in the making of these games, and everything is recycled. Exploding tomatoes, potatoes and slime balls won't make the six o'clock news, but they won't keep you awake at night either. Hmm...perhaps that's not the right sentiment. I recall spending many late hours playing games. François, I think this is where you refill our guests' glasses a final time and save me from trying to come up with a better example. Besides, it's closing time. Please, mes amis, raise your glasses and let us all drink to one another's health. A votre santé! Bon appétit!
|Silicon Mechanics Gives Back||Jul 30, 2014|
|Reglue: Opening Up the World to Deserving Kids, One Linux Computer at a Time||Jul 29, 2014|
|diff -u: What's New in Kernel Development||Jul 23, 2014|
|Great Scott! It's Version 13!||Jul 21, 2014|
|Adminer—Better Than Awesome!||Jul 17, 2014|
|It Actually Is Rocket Science||Jul 16, 2014|
- Silicon Mechanics Gives Back
- Reglue: Opening Up the World to Deserving Kids, One Linux Computer at a Time
- Numerical Python
- NSA: Linux Journal is an "extremist forum" and its readers get flagged for extra surveillance
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Tech Tip: Really Simple HTTP Server with Python
- diff -u: What's New in Kernel Development
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep