Cooking with Linux - Evil Agents under the Bed and Other Scary Things that Go Boom!

If you are finding yourself losing sleep over possible intruders and ne'er-do-wells, it's time to relax and look at the lighter side of security threats.

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.

Figure 1. Tonight's wine,
direct from Xanadu, where Kubla Khan did his own sampling.

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.

Figure 2. What could
be more fun than sliming buildings?

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:

python slimebomber.py

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).

Figure 4. ClanBomber's default display of bloodied characters and flying body
parts can be reduced or turned off entirely.

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.

Figure 5. This
hot potato is something you really want to get rid of. Holding on too
long has explosive consequences.

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).

Figure 7. I Have
No Tomatoes is frightfully mesmerizing. Drop bombs, collect jewels
and avoid being crushed by other tomatoes.

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:

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.

Figure 8. Many of
the game's options, including movement, can be set in the Options menu.

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!

Trending Topics

Webinar: 8 Signs You’re Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th

Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.