Computer gaming is a $25 billion market in the US, and it is one of the major application development industries. These are just two of the reasons why students should consider getting involved in open source gaming projects for their university course requirements.
Other reasons include:
- source code is available for study and modification
- gaming communities provide high levels of engagement and feedback
- games lead advances in graphics, sound, animation, and 3D technologies
- many games are cross-platform
- games are programmed in all kinds of languages, so students can contrast and compare performance, and suitability for different tasks
This roundup of games showcase different technologies and offer a variety of programming experiences for students to try out. The source code is available from the project sites, except as noted.
Armagetron Advanced should be familiar to fans of the classic movie, Tron. Armagetron is a 3D open source clone of the original Tron game. Gameplay is fast and furious; players drive high-speed vehicles in a grid-lined arena, and try to draw barriers to block their opponents. The game ends when a player hits a wall or barrier. The game supports multiple modes, including Fast Track, Team Gauntlet, Rotation, and Death Match, and runs on Linux, OS X, Windows, OpenBSD, and AmigaOS 4.
Crossfire is a medieval fantasy, cross-platform, open source, cooperative multiplayer, role-playing and adventure game. It has grown considerably since its first release, and now has over 150 monsters, 3000+ maps, 13 races, 15 character classes, and many skills, artifacts, and treasures.
You can run it on a local network, over the Internet, and on a single computer. Crossfire supports Linux, Mac OS X, and Windows for both the server and clients.
Enigma is a puzzle game inspired by Oxyd on the Atari ST, and Rock ‘n’ Roll on the Amiga. Like 2048, it is simple to play but difficult to win; all you have to do is uncover pairs of identical Oxyd stones. But you must get past mazes, traps, and puzzles. There are over 25,000 levels to keep you busy. Enigma runs on Linux, Mac OS X, and Windows.
GNU Chess is a text chess engine that is the backend of several graphical chess games, including XBoard and glChess. You can also play it standalone in a terminal. This makes it a good project to learn about engines, and what lies underneath graphical interfaces.
Smash Battle is a good old-fashioned 2D shooter. It supports single and multi-player, and the goal is to fight your way through multiple missions to unlock secret characters. The game has five levels, and spices up gameplay with random powerups of health packs, weapons, and shields. It runs on Linux and Windows, and it licensed under the GPL.
Are there any Linux fans who are not familiar with Tux Racer? Tux the penguin slides down an icy mountain racecourse collecting herring, dodging obstacles, leaping chasms, and racing against the clock. The original Tux Racer source code is hosted at SourceForge. There are several Tux Racer variants, including Extreme Tux Racer, and a 2D side-scrolling version, SuperTux.
Students who are new to programming should consider starting with 2048, because you can instantly view your changes in a web browser. The rest of the games in this roundup are good starters for learning about different gaming fundamentals, such as network play, multi-player, single-player, 2D, and 3D.