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!
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
|Trying to Tame the Tablet||May 08, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Home, My Backup Data Center
- Android is Linux -- why no better inter-operation
1 hour 52 min ago
- Connecting Android device to desktop Linux via USB
2 hours 20 min ago
- Find new cell phone and tablet pc
3 hours 18 min ago
4 hours 47 min ago
- Automatically updating Guest Additions
5 hours 56 min ago
- I like your topic on android
6 hours 42 min ago
- Reply to comment | Linux Journal
7 hours 3 min ago
- This is the easiest tutorial
13 hours 18 min ago
- Ahh, the Koolaid.
18 hours 56 min ago
- git-annex assistant
1 day 56 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?