Fresh from the Labs

Ever been stuck working on a text-only mailing server and wished you had some sort of decent gaming distraction? Well, you have a lot of options, such as adventure text games and moon-buggy, but my favorite discovery is vitetris, a Tetris clone with full color and many options. According to the vitetris Web site:

vitetris is a terminal-based Tetris clone by Victor Nilsson. Gameplay is much like the early Tetris games by Nintendo. Features include:

  • Configurable keys

  • Highscore table

  • Two-player mode with garbage

  • Network play

  • Joystick (gamepad) support on Linux

It has been tested on Linux, Cygwin, NetBSD and a few other UNIX-like systems. Library dependencies are minimal (only libc is required), and many features can be disabled at compile time.

vitetris provides two-player Tetris fun without graphics.


For those who prefer binaries, included at the Web site are links to RPM packages and some tarballs built with gcc 3.4.6 for i486 Linux on Slackware 11.0. However, vitetris has very few dependencies, and 99% of you should be able to compile it from the source tarball (saving you from some of the inevitable binary incompatibility). Indeed, this is the easiest and most trouble-free compilation I've encountered in a long time, so I recommend compiling it.

Grab the latest tarball from the project's Web site, extract the contents, and open a terminal in the new folder. Once inside the vitetris directory, enter the commands:

$ configure
$ make

and, as root or sudo:

# make install

Once compiled, typing tetris at the command line loads the game.


Once inside the game, you'll see a heap of cool options. For instance, you can change the height of the level you're in, enable rotation in both clockwise and counter-clockwise directions, and switch between game modes. These two game modes enable or disable attacking the other player with completed lines and adding them to the bottom of their stack (game mode A is for attacking enabled, and B is for disabled). To start a game by yourself, choose 1 Player Game, and choose your difficulty level and game height to begin. On your keyboard, the left and right arrows move each piece left and right; the up arrow rotates the piece on screen; the down arrow makes a “soft drop”; and the spacebar makes a “hard drop”, straight to the bottom of the screen.

If you want to change the keys or switch between rotation methods and so on, you can to that from the Options menu. If you want to play a two-player game, you also have to define Player 2's keys here. If you're having any problems displaying vitetris in your console and want to change the game's colors, or even switch to a monochrome mode, those options are available in the Options menu as well.

Ultimately, vitetris is a great Tetris clone by itself, but coupled with the fact that it runs on the command line without graphics, vitetris is a great addition to any system and will be a nice distraction the next time the X Window System won't start!

This was the craziest project I came across this month! Tetuhi is basically a program that takes an image and generates a game around it, but its appeal doesn't end there. Aside from making landscapes from parts of the image, Tetuhi also creates characters from other parts of the image, as well as other objects, such as food, ammo, friends and enemies, which all wriggle and move about as the engine morphs sections of the original image. On top of all that, it also has a dynamic and adaptive rule set with changing game modes—meaning each game and image may be truly random and different from the last.

I realise this crayon drawing itself doesn't show off Tetuhi's capabilities, but imagine that the hills and trees are pulsating in front of you and you are driving the sun....No, I'm not on mushrooms!


Tetuhi is definitely something that is still in development, so the usual configure && make && make install won't do you much good here. In terms of requirements, you need up-to-date versions of Python, GCC, Pygame, the Python Imaging Library, PyYAML and the Gnu Scientific Library. Once you've got those installed, head to the Tetuhi Web site and grab either the latest tarball or the latest code from the GIT repository.

Once you have either of those, extract it (if you have the tarball), and look at the directories c, img-c and perceptron. Open a terminal, and enter each one of these directories and run the commands:

$ make


John Knight is the New Projects columnist for Linux Journal.

Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Upcoming Webinar
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th
Moderated by Linux Journal Contributor Mike Diehl

Sign up now

Sponsored by Skybot