Article Preview
Buy Now
REVIEW
Wolfenstein: Enemy Territory
Issue: 4.2 (November/December 2005)
Author: Brian Rathbone
Article Description: No description available.
Article Length (in bytes): 4,265
Starting Page Number: 10
Article Number: 4207
Related Web Link(s):
http://games.activision.com/games/wolfenstein
Full text of article...
So you want to create an online, multi-player, first person shooter, eh? There are a few open source REALbasic projects that can get you started, but they may fall short of large-scale commercial products.
Have you ever wished you could see how a dedicated team of professionals would handle the challenges involved with such a massive endeavor? Well, now is your chance. The folks at Splash Damage, id Software, and Activision have released the source code for Wolfenstein: Enemy Territory.
Powered by the Quake III engine, Wolfenstein: Enemy Territory provides smooth visuals and excellent multiplayer support. The game-play goes beyond the usual death match by incorporating objective based missions, where players must work together to achieve common goals.
Wolfenstein: Enemy Territory was originally intended to be a commercial project, but when the retail product was cancelled, they decided to give it away -- literally. The game is freely downloadable, and the Visual C++ project files are also available. Visual C++ 6 is recommended for greatest compatibility, but the project is said to work with the .NET version of C++ as well. There are restrictions on the creation of derivative works, but the code can serve very well as a learning tool.
Since Wolfenstein: Enemy Territory is free and open-source, there is no central bank of game servers provided by the developers, instead, players can host their own servers. This, in itself, is a technical challenge: how do players find all the available game servers? This is handled quite nicely by a master server, which collects heartbeats from running servers and provides list data to the in-game server browser. There are already a few third-party master servers, as well as third-party server list viewers. Of course, if you know the IP address of a particular server, then you can connect directly. Servers can be created as dedicated servers, or they can be "listen servers" which allow the user to host the game and play on the same machine.
There are many great features that can be examined, and it's great to learn from the pros. See how anti-lag measures have been implemented to allow improved game-play for those on slow connections, or check out the way the PunkBuster Anti-Cheat system from Even Balance, Inc. has been implemented. For game developers, this is simply a treasure-trove of inspiration. Armed with source and compiled code, you can easily identify the strengths and weaknesses of the game's implementation, and then you can reference the actual code behind it.
While the game is available for Windows, Mac, and Linux, I found the performance on my PowerBook G4 to be sub-par and barely playable. On Windows, the performance is stellar, and I have heard that Linux performance is excellent, though I was unable to test it for myself due to my lack of supported hardware.
Whether you are looking for techniques used by the pros, or you just need to do a little fragging after a long session of bug hunting, Wolfenstein: Enemy Territory is sure to please.
End of article.