Cool as Ice!
A similar game called KBounce exists as part of the KDE games package, minus the cute penguins bouncing around.
Willi Kappler's Snowball (Figure 3) is a classic jump-and-run multiplatform game. It's also an interesting puzzler that requires a lot of thought before you can advance to the next level (of which there are 20). Your job is to find some way to help your penguin (Tux, in one of his many incarnations) release a trapped snowball and roll it into the exit. Along the way, you place (and remove) a limited number of ice blocks, collect gold coins and other treasure, all the while avoiding various dangers, including monsters. Snowball is written in Python, and it's available from www.snowball.retrovertigo.de.
On the right-hand side, a sidebar shows the number of available ice blocks as well as your current score and remaining lives. Using the Action key, you can either place or remove ice blocks. You use these blocks to climb to higher levels and to block the path of monsters. Find a way to release the snowball and guide it to the open doorway. The so-called Action key is, by default, the Enter key—something I found hard to manipulate when I was using cursor keys with the same hand. I switched the Action key to the spacebar instead via the Options menu (Figure 4).
Snowball hasn't been updated in a while, but it's still a lot of fun in its current form and sure to provide a few hours of frozen fun. It would be great if Willi could be convinced to revisit his game or invite another developer to take over. If you want to try modifying Snowball on your own, there's an included level editor.
By now, you may have noticed that cold, snow, ice, penguins and Linux strangely seem to go together very nicely. Another great penguin-themed game, and one you must have a look at, is Ingo Ruhnke's Pingus (Figure 5). This is a game based on the classic Lemmings game (circa 1991), where you assist some friendly little creatures in escaping various dangers. Pingus, however, is much more than a clone. It has become a classic in its own right. Sit back, sip your wine, and relax while I tell you the Pingus story.
The Pingus, mes amis, have been living happily at the South Pole, presumably gorging themselves on fish. In time, their environment started to, er, go south, with the temperatures rising, the ice melting and the food supply getting tight. Rather than look for colder climes, as did other animals, the heroic Pingus decided to embark upon a quest to discover the source of this environmental havoc. You, as the leader of the Pingus, will find yourself commanding hordes of Pingus who must be directed to safety or certain death. To do this, you instruct the Pingus to perform various tasks, which vary depending on the level you are currently playing. You need to think fast and act even more quickly to win each level.
If you feel up to the challenge of saving the Pingus, it's time to get your copy. The latest version of Pingus always is available from the Pingus Web site at pingus.seul.org. Packaged versions of Pingus are included with a number of different distributions, so check your distribution CDs or your usual software repositories. If you can't find it there, you always can pick up the latest package from the Web site.
When you launch Pingus, the main menu offers up four choices. One of these is labeled Story, and this is where you should begin (I will discuss the other choices shortly). Once you decide to embark on the journey, you will arrive at Mogorok Island, also known as Tutorial Island, to begin your training (Figure 6).
On subsequent starts, you will return to Tutorial Island, but you won't jump into the story immediately. The story of the Pingus (of which I've given you a short version) and why these poor penguins are on their perilous quest, is shown automatically only when you first play. If you want to reacquaint yourself with the tale, click the Show story check box at the top left.
At each level, there is an instruction screen providing some explanation of what you are facing and how you might deal with the challenges ahead (Figure 7). This can include digging through the ground or through walls, outfitting your penguins with backpacks to help them fly, turning some into blockers (so the others don't fall to their doom) and more. In some cases, you are forced to transform some of your penguins into bombers. Yes, that's exactly what it sounds like. Sometimes the only way to save the others is to sacrifice a few by making them blow up and, hopefully, blowing holes through whatever stands in the way of the others' safety.
The Tutorial Island I mentioned is a complete game in itself with nearly two-dozen levels. Once you leave Tutorial island, more Pingus action waits for you. Some of that action is easy to find, and some requires a little spelunking. From the intro screen, you can enter Tutorial Island by clicking the Story button. Click Levelsets, however, and a spooky Halloween adventure awaits. So far, neither of these options qualifies as hidden, and this is where the spelunking comes into play.
Each of these games, whether it is Tutorial Island or the Halloween adventure, is considered a level (or rather, a collection of levels). The path to the various levels is usually found in /usr/share/games/pingus/data/levels (if you installed from source, the top-level directory won't be /usr, of course). Under that levels directory, you'll find the tutorial directory where the Tutorial Island levels are located. A couple additional interesting directories are there, including one for your Halloween adventures. Perhaps the most interesting ones are the wip (work in progress) directory and the playable directory. Do an ls in either of those directories, and you'll find a couple hundred other levels—not all of them playable, granted, but still fun to try. To run one of those levels, simply pass the full pathname to the pingus executable, like this:
pingus /usr/share/games/pingus/data/levels/ ↪wip/hellmouth11-grumbel.pingus
Doing the above lets you play the game in the work in progress directory called hellmouth11 (Figure 8). Finally, should you feel so inclined, Pingus has a built-in level editor (that's the other menu option at the start), so you can create your own levels and contribute to the game's development.
Pingus is a great game, and it's great fun. The hidden levels offer a treasure trove of weird and wonderful side quests. Take my word for it, you need to check this one out. Besides, the future of the Pingus depends on you!
Ah, mes amis, I can see by the clock on the wall that we are nearly out of time, and there are still many penguins to save. Perhaps a few more minutes will bring us that much closer to getting our chilly friends to their goal. In the meantime, I'm sure we can convince François to refill your glasses one more time while you huddle in your coats. I promise that the next time you arrive, I will make sure that the temperature approaches something more temperate. Raise your glasses, mes amis, and let us all drink to one another's health. A votre santé! Bon appétit!
- October 2014 Issue of Linux Journal: Embedded
- Encrypt Your Dog (Mutt and GPG)
- Practical Tiny Core in the Fire Service
- DevOps for Dummies
- Tech Tip: Really Simple HTTP Server with Python
- Python Scripts as a Replacement for Bash Utility Scripts
- New Products
- RSS Feeds
- Open Axiom
- Cooking with Linux - Serious Cool, Sysadmin Style!
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
- Linux Journal