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.
2048
Italian web developer Gabriele Cirulli wrote the 2048 sliding block math game. It a web game, written in JavaScript and CSS, and it is also available as iOS and Android apps. 2048 is simple to play: Use your arrow keys to move the numbered tiles until you reach the 2048 tile. Though winning, of course, is not that easy, as the hard part is figuring out which directions to move the tiles to get to that goal. Source code is on GitHub.
Armagetron Advanced
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
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
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
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
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.
Tux Racer
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.
Comments are closed.