For me, this has meant replaying some of my classic favorites from the 90s and early 2000s, or newer independent games which pay homage to the styles and gameplay of my older picks. As a Linux gamer, it's had the added bonus of providing a high quality gaming experience with very little effort on a computer that is far from top-of-the-line.
Many of my favorites have had dedicated Linux ports created through the years, and still others run flawlessly on Wine or inside of DOSBox. While the games themselves may not be open source, at least much of the rest of my computing stack is open, and for that matter, also free-as-in-beer.
But lately I've also been thinking about my very early days in computer gaming, which predated such fancy new inventions as mice and color monitors. Gameplay mattered a great deal back then, because it was literally all you had to work with. The allure of watching green specs on a black screen could only hold your attention for so long. And so I decided to take a look around at some of the simplest open source games for Linux: terminal-based games.
A couple of years ago, 2048 became one of the most popular web-based games hosted on GitHub, with its simple mechanics of sliding blocks providing hours of entertainment. While itself a derivative of other similar games, I began to wonder if the name 2048 was reflective of the number of clones this game itself would generate (here are some of the more entertaining ones).
But 2048 is such a simple game, it lent itself well to a terminal-based implementation, and thus 2048-cli was born. 2048-cli is an MIT-licensed version of the game, written in c, which plays exactly like its web-based big brother.
Unlike the other games in this list, the BSD games collection isn't a single game at all, but rather a package providing many different text-mode games across a variety of themes, ranging from the simple to the complex. Including card games, clones of several well-known older games, and other entertaining applications, BSD games were originally packaged for various BSD distributions (no surprise there), generally under a BSD license (also not-so-shocking). Some of my favorites in the package include worm, snake, mille (a Mille Bornes implementation), cribbage, and backgammon, but you should look through the entire list of included games—there are many more than you might think!
Moon Buggy is a GPL-licensed side scrolling game in which you must navigate the crater-covered surface of the moon with your jump-powered car. Modeled after the arcade game Moon Patrol, Moon Buggy is about as simple of a side scrolling driving game as they come, but surprisingly addictive, for the same reason that single-speed navigation games like Flappy Bird are still amusing today.
One could not have a discussion of text-based games and not include Nethack. Nethack is a roguelike adventure game which has kept an active user community still playing it for almost three decades despite the genre spawning many alternatives with more modern graphical interfaces. Nethack is a fantasy game in which you explore a dungeon full of challenges and monsters, but also helpful loot like weapons, armor, scrolls, and potions to help you along the way. It is licensed under the NetHack General Public License, which is similar to the GPL.
Do you miss the classic arcade game Space Invaders? Wish you could play it in your terminal? Well, good news, that's exactly what the GPLv2-licensed nInvadersprovides. Fight back invading alien space ships with your single-turret cannon as you move back and forth to avoid being blown up. It's a throwback to one of the best games of the 1970s.
Nudoku is a sudoku-game for the terminal, written in c and licensed under the GPLv3. A logic game of placing numbers in a 9 by 9 grid, Nudoku provides a number of difficulty levels from easy to hard and plays as well as its GUI- (or paper-) based counterparts.
Robot Finds Kitten
Robot Finds Kitten is a GPL-licensed "zen simulation" in which you play a robot tasked with finding a kitten in a world filled with many objects which you must inspect. While so simple that it's not a game in the tradition sense, it's oddly calming to explore a simple world full of entertainingly-described objects in search of your lost cat.
This, of course, only scratches the surface of gaming options at the Linux terminal. There are many, many others. Want to try out the games we discussed here? Most are packaged for major distributions; on my Fedora machine, the following command installs them all:
sudo dnf install -y nethack bsd-games 2048-cli ninvaders nudoku moon-buggy robotfindskitten