New Projects - Fresh from the Labs
Something that's been making a buzz at SourceForge, X-Moto appears to be a remake of an old DOS game I used to play, Action Supercross, along with its earlier Windows remake, Elastomania. Some tweaks have been made to the the physics engine, new community levels have been added, and it's now about ten times harder! This game is a physics engine gone mad, allowing for some truly hilarious moves and addictive gameplay. The actual premise of the game and its controls are simple, yet the dynamics and gameplay are complex. The result is that despite its simplistic look, this actually is one of the hardest games I've ever played.
If you look on the Web site, lots of installation methods are available, and installing X-Moto is easy. Packages are provided for various distros in deb, rpm and Slackware form, and X-Moto is provided in a number of repositories, so it's well worth having a look in your package manager first. And, for those who like to do things the hard(er) way, a source tarball also is provided.
In terms of requirements, you'll need: aclocal, SDL_mixer, liblua, libode0, build-essential, sqlite3, zlib, libjpeg, libpng, libbz2, glu, SDL_ttf, liblualib50 and libcurl. For the source, download the latest tarball, extract it, open a terminal in the new folder and enter:
$ ./configure $ make $ sudo make install
To run the game, look in your system's game menu, or enter:
When the game first starts, it prompts you to connect to the Net. I recommend saying yes, because there's a whole swag of things you can do when connected, such as rate levels, get new ones and so on. If you don't like being connected, you can turn it off with F8 anyway. Let's get playing. Click Levels, and in the menu below in the Level Packs tab, look under All Levels and choose a level. I recommend working your way through the “aeRo's Training” levels first and going onto harder levels from there.
Once you're in the game itself, the bike is controlled purely with the arrow keys and the spacebar—that's it. The up key controls the bike's throttle, and the down key controls the brakes. The right key rotates/pitches the bike clockwise, and the left key, anti-clockwise. The spacebar flips the direction of the bike between left and right, and this can be performed anywhere, at any time. When you need to restart the level, press Enter (you'll be doing this a lot). You'll probably notice that each level has a timer, and each level has a high score Internet-wide. If you're an X-Moto fanatic, I'm sure you'll wanna take someone down!
Although this game may look simple at first glance, beginners will have trouble just keeping the bike upright. Full throttle starts generally result in a wheelie, and if you don't “feel” the physics engine and its inertia, you'll quickly flip the bike over and land on your head. The main things to grasp are what the active objects are in this game, how everything is controlled and what this will allow you to do.
First, there's the rider's head. Don't hit it on anything, or the level ends, and you have to restart. However, things also can go through the rider's body. Now this might sound strange, but it allows for some truly hilarious possibilities, such as hanging upside down on a rail with the wheels on top. The suspension reacts in real time and is a big part of the physics engine. The tires will react in time with the suspension also, so pay constant attention to your terrain. Remember that like most motorbikes, this is rear-wheel drive only, so if you try to feed on power when you're only on the front wheel, it won't do any good. Braking, however, works on both wheels.
Braking is very important in some often unexpected ways, because many puzzles require you to lock your wheels and actually flip the bike over. Don't forget that the body of the rider itself also will flip forward under braking inertia, not just the bike, so if you pull up too hard and too late before a wall, the rider might hit his head, even though the bike is still okay.
Learning to feel the actual game is really important—get to grips with the physics engine, especially on tricky hills where the bike can tip over and you lose all of your momentum—you want your reactions to come naturally. Learn to use opposing power, flipping the bike around and applying power in the reverse direction, as braking isn't always the answer. Don't glue down the accelerator. Some puzzles require quick dabs on the keyboard, and just about every level requires a lot of delicacy. Finally, remember that when the bike is riding upside down hanging on a ledge (yes, it's crazy, but it's what the game is all about), the wheel will be turning in the opposite direction to when the bike is upright. This is counter-intuitive at first, but you'll get used to it.
I've covered only basic single-player stuff here, but this game has many more features and some very clever adaptations, especially in the scripted levels, which really show off what this crazy engine can do. If you check the Web site, you'll notice it has a very extensive community and, most important, a level editor. Try making your own levels, and explore the dynamics of this game intimately.
John Knight is the New Projects columnist for Linux Journal.
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Linux Systems Administrator
- Validate an E-Mail Address with PHP, the Right Way
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Introduction to MapReduce with Hadoop on Linux
- RSS Feeds
Free Webinar: Hadoop
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?