Battle for Wesnoth is a wholly remarkable game. And it's free,
baby, like the air, like a bird. A free spirit,
free to decide, yearning to breathe free. Give me
liberty or give me death.
"But Swap..." I hear a protest coming from those who know me. "You're
a free software nut and a bit of a zealot. You think that everything
the GPL touches turns to gold. Are you
just trying to push your tree-hugging militant hippie agenda on us again?"
Yeahyeahyeah... I am a free software nut. But no, really, putting that
little quirk of mine aside for a moment, let me reiterate an important
fact.
Battle for Wesnoth
is a wholly remarkable game.
It's so good, actually, that if you want to ignore the fact that it's
a free game, you're perfectly allowed to. If you want to pretend that
a paternalistic corporation is charging you money, hiding the source of the game, and forbidding distribution of the game to your friends, all in exchange for delivering to you an enjoyable gaming experience like Battle for
Wesnoth is, then be my guest. The game is good enough to compete
with a lot of the proprietary computer games out there. If you never
want to look at its source code, never want to feel perfectly
guiltless and righteous in distributing it freely to all of your
friends, never consider contributing anything to the community that
developed the game, then go ahead. You can treat this game as if it
were another proprietary game you bought or
pirated, as the case may be.
But boy, you'll sure be missing out if you do that.
Ok, fine. You'll be missing out on a very special component of the
gaming experience that Battle for Wesnoth can offer, but by no
means the most important component. That important component, of
course, is playing the game itself. Download it and play it on a
non-free operating system if you want (or better yet, aptitude install wesnoth). Its installers for MacOS X
and... that other operating system... work
wonderfully and effortlessly. A 60 meg download or so will quickly
bring to you the best that the free software community can offer. So,
pretending for a moment that this isn't a free game, how
does the game compare with its competitors?
It more than holds its ground, my friend. More than holds its ground.
A Review of Battle for Wesnoth
Battle for Wesnoth is a turn-based military hex wargame in
a fantasy
setting. It can be played in a single-player campaign mode, where you
follow the adventures of a leader in a developing storyline set in the
world of Wesnoth, or in various flavours of multiplayer modes:
skirmishes against the AI, hotseat on the same computer with a
friend or friends you physically have next to you, or across the
network with your sparring buddies, possibly on the official Wesnoth
server.
General Game Mechanics
A maxim in Wesnoth's design is the KISS principle. That is, Keep It
Simple, Stupid. A turn-based military hex wargame can get arbitrarily
complicated, especially if too many bright ideas try to get wedged in
at once. In an effort to keep too many cooks from spoiling the broth,
the lead developers have decided that it's better to keep the rules
relatively simple, but interesting enough to provide endless variety
and capture the attention of the player. Hey, this principle worked
well enough for hundreds of years of chess, and it's working for
Wesnoth too.
But Wesnoth is no chess game. At a glance, its basic rules seem simple
enough to be an ordinary table-top game instead of a computer game:
- Each side controls exactly one leader, which must be defended at
all costs. Loss of the leader implies defeat for that side.
- The leader can recruit (or recall, in campaign mode) all other
units when it stands on a keep, either the one it starts in, or any
other keep. No other unit can recruit or recall.
- Units can move through the playing field's terrain according to
the number of motion points they have. The number of motion points
required depends on the terrain and the unit. Each hex can contain at
most one unit.
- Gold is the only resource. Recruiting and recalling costs gold,
and each unit also incurs an upkeep cost. Gold is earned by
controlling villages in the playing field at the beginning of each
turn. A village is controlled by placing a unit in it, and lost only
when an enemy unit enters that village; there's no need to keep a unit in a village to control it.
- All combat is between adjacent hexes. The two units engaged in
combat will attack and defend according to their damage points and the
number of strikes available to them, both of which are fixed
statistics assigned to each unit type.
- During combat, each strike has a probability between 10% and 90%
of hitting its target. The actual probability depends only on the type of the defending unit and the terrain it is standing on.
- A side wins when all enemy sides have lost their leaders. In
campaign mode, a scenario editor can choose to impose other winning
conditions, such as moving your leader to a specific position in the
map, or simply surviving for a set number of turns.
I think the rules of chess or go are more difficult to explain than
this. Wesnoth's rules are easy enough to be quickly grasped by playing
through the short tutorial included in the game.
Now, in a game where lots of suggestions from the players are expected
and encouraged, it is inevitable that someone will say "gee, wouldn't it be cool if..." All of these
wouldn't-it-be-cools are implemented as minor exceptions to the above
rules. For example, magical attacks trump the hit percentages rule by
always having 70% chance of hitting its target, regardless of the
terrain type on which the defender stands, and this is the only way in
which a magical attack differs from ordinary attacks. Night and day
cycles affect damage inficted and received by 25% depending on the
alignment of the unit, which can be lawful, neutral, or chaotic. Units
with the plague ability, such as the undead zombies, convert
vanquished units to their side. There are lots of other little
modifications to the above rules, and all of them are minor and
simple. No complicated and arcane calculations are necessary in order
to know exactly how much damage a certain attack will do to a certain
unit standing in a certain terrain at a certain time of day. Even if
these calculations seem complicated, it's always possible to ask the
game engine to show its scratchwork and see why a
troll really whoops an elf's ass in the open fields away from the
forests at nighttime.
Besides keeping rules relatively simple so that human players can
easily keep them in their head at all time, another important
motivation for upholding the KISS principle in Wesnoth is that the
developers want to make sure that the AI can keep the rules in its head and thus play well. It
works. The AI in Wesnoth is suitably clever. In fact, as all good software projects, Battle for
Wesnoth started out when the lead developer, Australian-born David
White, wanted to scratch an itch and decided that he wanted a simple
but fun game with a good AI. He was playing Civilization III one day
when he said to himself, "gee, I bet I could program a better AI than
that", and indeed he could, so he did.
Another salient feature of Wesnoth's gameplay is the great variety of
units, factions, and races available for players, and the obvious care
that has been undertaken in making sure that units are balanced. Every
unit has its strengths and weaknesses, and none of these are so
pronounced that they cannot be overcome by something the other side
can use to retaliate. I'm especially impressed with how by carefully
assigning a few statistics to each unit, Wesnoth's developers and
contributors have managed to give each unit a very unique and
interesting personality. Drakes are daytime units skilled with blades,
slightly weak to arrows and spears, resistant to cold, and almost all
with ranged fire-breathing attacks. Dwarves are sturdy and resilient
agoraphobic units with bad defense ratings in open fields, but high
defense in mountains and hills through which they can also move much
more quickly than other races not used to mountainous
topography. Zombies are slow stragglers, easily dispatched, but cheap
enough to be mass-produced so that they can overwhelm by sheer
numbers, plus any unit they defeat becomes another zombie fighting for
their side. Like all undead units, they are extremely weak to holy
attacks, which luckily for them are available only to a select few
units, such as the healing white mages. And so on. The units'
statistics tell a story all by themselves.
Fortunately, campaign mode tells more of a story, in case your
imagination needs some help and you're not used yet to geeking out
over statistics. The game showcases at least six official campaigns,
and dozens more have been developed by the community. The official
campaigns are long and interesting, some with over twenty scenarios,
and a story unfolds as you progress through the many battles. They
have been almost completely translated to many languages. The yarns
they weave are familiar to all fantasy fans, which is not a bad thing
at all. Hey, James Bond isn't a successful franchise because of its
innovation, and we all like to hear our favourite stories again and
again. Expect to see story elements from well-known fantasy sources in
Wesnoth, the usual geek fare like Dungeons & Dragons, Final
Fantasy, and we couldn't leave out The Lord of the Rings, of
course. Wesnoth is no pastiche, however, so a few twists in the
story will lead you away from the well-trodden path and may catch your
attention.
Aesthetics of the Game
Wesnoth isn't a perfect game. The first rough edges players will
notice are in its artwork or sounds, although I keep seeing constant
improvements in both areas by the community. For example, there are
scores of units to play with, and although they all have at least one
graphical representation, some of them don't have a full set of frames
of animation, and only a few have close-up portraits when you look at
their detailed statistics. A lot of sounds effects get reused, and
sometimes you swear that a courageous elvish archer shouldn't make the
same sissy sound when being hit as a wimpy shaman does. The situation
is that there simply haven't been enough creative minds out there who
have decided to step out and offer artwork, sounds, or music for the
game.
Fortunately, however, none of these aesthetical shortcomings of the
game are serious enough to detract from gameplay. The game could be a
bit more polished, true, but it certainly doesn't look bad. When David
White put out the first versions of the game, he admitted it himself:
the game looked like crap, because he's not a graphic artist; he's a
coder. Part of the design philosophy of the game does include a clause
about wanting the game to look good graphically. David says that he
likes the eye candy, and that this is one reason why he can't really
immerse himself in the game experience of the likes of Nethack. It
is a good occurrence that by now the game has attracted enough
attention of graphic artists to amass enough contributions and come
closer to David's original intent.
The game's interface, on the other hand, is clean and
uncluttered. Menus and dialogues guide the player through the
preliminary preparations, and during gameplay itself the game offers a
slick interface that nevertheless offers at a glance
all of the information that could be relevant for playing. There is a
sidebar with information about the currently selected or moused-over
unit, which is detailed enough right down to giving each unit a
fantasy-sounding name. On the top right there is a miniaturised
version of the entire playing field. A few menus and a status bar
decorate the top of the screen. The playing field occupies most of the
screen, naturally enough. Almost all actions and commands can be
executed both through the graphical user interface or by memorising a
few mnemonically-named hotkeys. Lots of options can be customised in
the game's preferences dialogue.
I should mention the game's music too. I find it quite adequate and
that it makes for good ambientation. All pieces sound strongly epic,
which is what music for fantasy settings should be. Some are calm and
almost sorrowful, while others are more insistent and militarised. At
present, the game only features about 13 pieces spread across 25 megs
of ogg files, so about one hour of unique music. This is sadly not
always enough for the ear to not notice repetition. I personally find
myself too immersed in the gameplay to really notice the relatively
small variety of music available, and the pieces usually suit the mood
of the game quite well. However, others may be more sensitive to
musical variation than I am. I have certainly never heard any
substantial complaint from gamers about the game's music, I must add.
One more bit, about the game's difficulty. The game is hard, but not unreasonably hard. An aspect of playing a campaign that perhaps isn't emphasised enough and some people learn the hard way is that it's absolutely essential to build a strong army of veterans as you progress, or you'll end up in a scenario that you can't win because your army isn't strong enough. In that case, the only solution seems to start a campaign from the beginning and take more care of your veteran units. I got into such a situation myself after playing five scenarios of a campaign, and I had to restart from the beginning. I put this warning here hopefully to prevent further frustration from anyone else.
Multiplayer Wesnoth
So, you've played through a good portion of a campaign, and you are
beginning to feel that you need something more interactive. Perhaps
the AI has begun to frustrate you a little with its ever devious
ploys, or perhaps you found a loophole in its internal logic that you
have consistently exploited to achieve victory (in which case, may I
suggest that you glance at the eminently readable C++ code of the
Wesnoth AI engine and consider providing a patch?). Either way,
playing against a machine just isn't doing it for you anymore, and you
want more unpredictability.
Welcome to server.wesnoth.org, my friend.
The multiplayer layout is familiar enough to anyone who's ever played
games online. There's a lobby; there are ongoing games; there are
games looking for players to join. You can either go observe an
ongoing game and kibitz if you want on what players are doing, host
your own game and wait for someone to come along and test your
might, or hop into a game that's waiting for opponents to
join. Currently, the official Wesnoth server is active and
lively. Finding people to play with is easy. After choosing your
faction, your leader, and gameplay parameters if you're hosting the
game, battle begins.
The first thing that is noticeable about multiplayer games is that
since humans are slower players than the AI, you will spend more time
waiting for the other players to finish their turns than you did in
the single player game. A time limit per turn can be enforced by the
game engine, but I have hardly ever seen this used. Rather, the
preferred etiquette seems to engage in some friendly chat with the
other players when it's not your turn. The players I have met online
are usually interesting folks and highly international. It is not
unusual for a four-way match to have, say, a representative from
Norway, France, Spain, and México. I am sure that the widespread
translation efforts of the Wesnoth community have had something to do
with this worldwide appeal.
The players I have met in the official Wesnoth server seem to be of a
different stock than what I have seen in the multiplayer servers of
other games. They seem to be, well, more mature, more sportsmanlike,
more friendly. Oh, taunts are in order, of course. You will taste my
blade, hu-mon scum, or, your knight will pay for his insolence. The
usual. Secret plotting between allies also takes place. You sneak out
and capture their villages in that corner while I charge with a full
head-on attack. Players can put labels on the map either disclosing
their tactics, or sometimes just for humourous effect.
There are many standard multiplayer maps, for two players and up to a
maximum of six. In addition, many players have provided their own
custom maps. Frequently players will introduce special rules in their
own custom maps, sometimes heavily modding the game by using Wesnoth's
own homegrown Wesnoth Markup Language. I have played some maps where
the mods were substantial enough to give the impression of playing a
completely different game. E.g, villages would sell items, or offer
complete healing of a unit for a fee. Hit percentages could be
replaced by a deterministic method for determining hits or misses, for
example, and some players prefer it this way and leaving Lady Luck
out of it. Wesnoth offers a map editor to facilitate this sort of
player contributions.
The Wesnoth Community of Freedom
Since we have begun talking about community aspects of the game when
playing online, let's start talking about the community itself. The
first thing to notice is how approachable the game's developers
are. The actual folks who have contributed code, music, or artwork to
Wesnoth can be seen themselves playing in the official server. Doesn't
that sound exactly what a good game should be like, that it's fun
enough for its developers to be out there playing with everyone else?
They're doing this for their own amusement as much as they're doing it
for yours. The game isn't being developed under pressure to meet
deadlines, with a marketing department breathing down the necks of the
developers. It's simply all being done for fun and for sharing.
The community has two IRC channels for talking about the game, in
the freenode servers; #wesnoth is for general gameplay
talk, and #wesnoth-dev is the place to chat about game
development itself. I've occasionally visited both channels, and I've
found smart and friendly people in there willing to chat about
everything Wesnoth. If you need help with a particular scenario in
campaign mode, if you're having problems with an aspect of gameplay,
if you think that something needs to be changed (and you also have
very specific ideas on how to do it, preferrably), or if you just want
to hang out, then welcome, welcome, welcome!
Besides that, there are also very active forums which can be found
from the main webpage (http://www.wesnoth.org). For conversations
that don't fit into an IRC channel, this is the place to go to.
A word about user-generated content. It's a truism of modern gaming
that the best games are the ones that users can alter to their own
tastes. id software discovered this winning formula ever since
players were allowed to create their own Doom maps and by releasing
the source of their game engines so as to allow further
hacking. Battle for Wesnoth takes user-generated content to the
next level since absolutely everything in the game is
user-generated content. It's quite a different gaming experience to
know that you have absolute freedom to poke around the game's insides
and do absolutely whatever you please with them.
Battle for Wesnoth is constantly scouting out talent, as all
aspects of gameplay need improvement. The best thing is that it's much
easier to get into Wesnoth development than it is with other free
software projects. Sure, there's coding to be done, but there are
lots of other things that the game needs. Are you good at drawing?
Wesnoth needs artwork. Can you do music? Wesnoth currently offers 25
megs of music, and could certainly use more. Do you possess any
abilities to weave a good yarn? Design a campaign. Fancy yourself a
sound engineer? Sound effects are always in continuous demand. How
many languages can you speak? Wesnoth needs translators for its more
than 30 languages. And so on, and so forth. I myself have poked around
its probability calculations, since I gotta put this maths degree to
good use sometime, and I have begun to collaborate with the game's
Spanish translation. It's very easy to get involved with Wesnoth
development at many different levels.
Free software and gaming have never had a happier marriage than the
one evident in Battle for Wesnoth. Go on, have a look,
download the game. Once you're hooked as I am, I'll be seeing you in the multiplayer servers!
Watch the game's trailer showcasing some of the game's artwork, music, and gameplay at http://www.wesnoth.org/wiki/Trailer