Warsow 2.0: An arena-style first-person shooter game
Running around with lots of guns in cramped quarters has served as a sufficient backdrop for many video games. That's also the premise of "Warsow", an almost entirely open-source first-person shooter (FPS). Where Warsow differs from its competitors is its focus on constant mobility and jumping, leading to a frenetic game where fast reflexes and sharp instincts prevail. Warsow's recent 2.0 release, which comes with a number of improvements, including a tutorial, major graphical enhancements, and changes to weapon power for game balance purposes, makes for a good time to look at how the game has progressed to date.
Warsow's origins lie in "Chasseur de bots" (Hunter of bots), a story (written in French) about the battles of a video game player in a chaotic FPS. The original Chasseur de bots website is no longer available, and only an excerpt from the original story can be found online. Fabrice Demurger, who wrote the Chasseur story, began working on Warsow with the help of a few fellow developers in 2004, lifting the cyberpunk setting and frantic action from the story. Playable characters include punks with dyed hair and pigmen (humanoids with pig heads). Many of the game maps are futuristic, imagining a high-tech industrial world. That technology is embodied in the game's weapons, which include fanciful concepts like laser guns as well as creative takes on familiar armaments like shotguns and grenade launchers.
A public 0.1 alpha was released in 2006. In the years to come, Demurger's activity within the project waned, but some of the early developers have stayed on. The project achieved some remarkable successes, including recognition among major online video game leagues as a competitive electronic sport and reviews on television shows. It continues to have a small but dedicated base of players; its timeless gameplay (shoot people before they shoot you) hasn't dulled with age.
Those looking for a single-player story-driven campaign akin to the Half-Life series of FPSes will need to search elsewhere. Warsow is entirely about fast-paced arena fighting, largely in one-on-one duels or in team deathmatches. Players familiar with the famous, multiplayer-oriented Quake series will be right at home.
Success in Warsow doesn't boil down solely to one's aim, but also to how one moves. There are multiple jumping tricks a player needs to take advantage of to win. Some boost speed (such as through strafe-jumping, which is jumping while running sideways), while others allow quick repositioning in a fight (such as via wall-jumping). This need to constantly be mobile can be rather daunting to new players. Fortunately, the 2.0 version comes with an optional tutorial that teaches how best to hop around these arenas.
After downloading the game and running it, the player is prompted to register an account on warsow.gg. This is needed to save statistics (such as accuracy with weapons) and match results. While this is a nice feature, clicking on the prompt takes the player out of the game and into a web browser to fill in account details. Then they have to open their email to click on a confirmation link. It would be a smoother initial experience if a player could register for an account without having to leave the game environment at all.
The small number of players online at any given time harms the overall experience of what is otherwise an impressive, polished game. Most of the time, there's only a handful of active servers to join, some of them with less-than-forgiving latency (I encountered one with 140+ millisecond ping, which some hardcore players would consider to be unacceptable). There is also no guarantee that the players will stay for another round after one is finished, leaving the player searching for another server. The small population hurts the dueling modes the most, where players go head-to-head, one-versus-one. Joining one such server, I spent eight minutes spectating the match being played to wait for the next round. Then everyone left and I had no one to play with.
Waiting is only one pain point of a small server. An unavoidable problem when the number of players is small is imbalanced matchmaking, where experienced players find themselves matched against people new to the game. After I joined another server and waited another seven minutes (leaving me with an effective overall queue of 15 minutes), I got matched against someone who mopped the floor with me. Right after that, I completely stomped my next opponent. Both of these matches occurred on the same ranked server; successes and/or failures on such servers are added to the statistics on one's public-facing profile (see an example here) that detail how accomplished one is.
Nonetheless, the game is still lots of fun. It's intense: there are nine weapons to choose from, including a short-range Riotgun (i.e. shotgun), a medium-range Plasmagun for spreading fire over an area, and the overall reliable long-range Rocket Launcher (which can also boost one's jumps if correctly timed). In some modes, all of the weapons are available when one spawns (i.e. begins the game or is resurrected following death). In others, one begins with a weak Gunblade (which serves the purpose of both pistol and knife in one device) and must collect ammunition and weapons around the map. These weapons can be instantly switched at the press of a button. Success in combat against opponents of similar skill is gratifying; one gets a sense of accomplishment from hopping around nimbly to dodge enemy fire and instinctively swapping to the right weapon at the right time to secure a kill.
Until the 2.0 version, Warsow had an awkward licensing
regime. While the game
engine's codebase was (and is) available under GPLv2-or-later, a
proprietary "Warsow Content License", effectively allowing only
redistribution, applied to all the media assets. Furthermore, outside
contributors had to accept a poorly-written "Contribution License
Agreement". It specified that any submitted "game rules" (not adequately
defined in the license) became the property of "Chasseur de bots" (a
now-defunct association that held the assets). The copyright to any
contributed media assets were also assigned, but the contributor retained
the right to "display the work as part of a personal
portfolio
". Recently, the active development team contacted the old
Chasseur de bots members as well as most of the past contributors (some
were unable to be reached) to ask for a relicense. With their agreement,
all the art assets, with the exception of some sound effects (mostly that
of weapons firing and the grunts of the player's character) and some map
textures, are now available under the copyleft Creative Commons
Attribution-ShareAlike 4.0 International License. The development team
is looking to replace any assets that are not licensed CC BY-SA to make the
game fully open-source.
2.0 comes with much more than a licensing update. There have been major
gameplay balance changes, including an increase in damage to a number of
weapons as well as adding more consistency in recoil and "splash radius"
(i.e. the area-of-effect in which a launched grenade or rocket will cause
damage). Linux versions now use Simple
DirectMedia Layer 2 for video. HTTPS has been mandated for
matchmaking, which is a welcome change for security-conscious players. 2.0
also takes better advantage of multi-threading to address a number of
previous issues, including latency in gameplay, some unpleasant race
conditions, and slow load times. The renderer is much better, boasting a
"30% to 50% overall performance improvement
". Changes to the
graphics, including weapon effects, bullet models, and textures for
playable characters, make the game feel more modern. The game is also
available in nine additional languages. The full list of changes can be found here.
There is lots of room for new contributors looking to help out. Both the client and the server (which share the same repository) are freely-licensed and written in C, C++, and AngelScript, which is a popular object-oriented scripting language for video game development. The Warsow developers provide an SDK [.tar.gz], which comes with the full source code of the game, documentation, and tools (including build scripts). The "sourcecode_quickstart" file sums up the fundamentals of the source code's structure, with a helpful opening section:
This means, that there is 1 major loop handling all application logic. This called a 'state machine' design, which can be confusing when you [are] used to straight-forward procedural or object-oriented programming.
This may sound pretty abstract, but this is due to the fact that Warsow is a client AND a server with exactly the same sourcecode. This means that in the big lines, the same steps are taken for both the client and the server. Of course, once digging deeper into the code, things will start looking very different, since the server is the one who actually makes all decisions, sends state-changes and events to the client (or clients), who then alter their local state and implement it (as in: build the scene and render it)."
The developer team has stated that level designers, computer programmers (particularly those with a good grasp for game engines), 3D artists, translators, and a community manager would be great additions. Some of the goals going forward for Warsow 3.0 are a release of a version for the Steam video game marketplace as well as updating the game's visuals. There is no mailing list but discussions on the official forums are fairly active. One can also contribute by submitting pull requests at the project's GitHub repositories. It's unclear when 3.0 will arrive, but given that the previous major release arrived a year and a half ago, a mid-year 2017 release seems like a reasonable guess.
For those interested in playing, or contributing to, a modern
first-person shooter, Warsow might just be the right choice.
| Index entries for this article | |
|---|---|
| GuestArticles | Saunders, Adam |