Cross-Platform Game Development for C++ Developers
Some Other Game Engines to Explore
Take a whirlwind tour of some other open source gaming engines.
ALLEGRO (Allegro Low LEvel Game ROutines)
Allegro is an open source portable library mainly aimed at videogame and multimedia programming. Allegro was created by Shawn Hargreaves (lately of Climax) and has grown to be a capable cross-platform gaming system for Linux, Windows, MacOS, MS-DOS, and a half-dozen other platforms.
In addition to a super 2D graphics library, it also offers easy access to the mouse, keyboard, joystick, and high-resolution timer interrupts. Allegro doesn't encapsulate or replace OpenGL, but you can learn how to integrate OpenGL in Allegro apps by visiting their extensive developer's site.
There are about 700 different game projects published with Allegro, the top two categories of which are Arcade and Puzzles. I particularly liked the remake of the classic Zaxxon arcade game (see Figure 3).

Figure 3. Cool Remake of Zaxxon
Irrlicht: Lightning Fast Real-Time 3D Engine
The Irrlicht Engine is a cross-platform, high-performance real-time engine written in C++. You can choose Direct3D, OpenGL, or software-based rendering. High-end features include dynamic shadows, particle systems, character animation, indoor and outdoor technology, and collision detection (see Figure 4). Irrlicht supports Windows and Linux and offers language bindings for Java, Perl, Ruby, and others. Gaming pro Nikolaus Gebhardt does it all with a little help from his friends.

Figure 4. A Breathtaking Scene in Irrlicht
ClanLib: Designed for Multiplayer Gaming
ClanLib delivers a platform-independent interface to write games that have a common interface to low-level libraries such as DirectX and OpenGL. You can target ClanLib apps for Windows, Linux, and OS X with a single set of sources. ClanLib includes an extensive sound library, 2D collision detection, animation, GUI framework, and network libraries. Figure 5 shows a scene from the game XenoHammer.

Figure 5. XenoHammer Screenshot
Book of the Month: Dewhurst Does it Again
|
With all the programming-for-idiots and teach-yourself-in -"X"-days book series these days, it's refreshing to see something for the long-suffering intermediate C++ programmer. Stephen C. Dewhurst's C++ Common Knowledge comes to the rescue with 63 easily digestible items that satisfy your hunger for doing things the right way in C++. The book leads off with several items on pointerswhat they are and aren'twhich can be vexing for people who didn't grow up on a diet of C code. It quickly leads into more complex topics, many template-related, including partial specialization, generic algorithms, substitution failure, argument deduction, and template template parameters. I'd bet my last two bits that every C++ programmer would learn something from this slim volume. |
![]() |
About the Author
Victor Volkman has been writing for C/C++ Users Journal and other programming journals since the late 1980s. He is a graduate of Michigan Tech and a faculty advisor board member for Washtenaw Community College's CIS department. Volkman is the editor of numerous books, including C/C++ Treasure Chest and is the owner of Loving Healing Press. He can help you in your quest for open source tools and libraries; just send an e-mail to sysop@HAL9K.com.




Solid state disks (SSDs) made a splash in consumer technology, and now the technology has its eyes on the enterprise storage market. Download this eBook to see what SSDs can do for your infrastructure and review the pros and cons of this potentially game-changing storage technology.