Battle for Wesnoth has been around for some years already and its ever increasing content and artwork quality has attracted many code developers, sprite and portrait artists and musicians over time. I started playing Wesnoth on version 0.9.6 which was distributed with the SUSE Linux 10.0 operating system; I later switched to version 1.0.2 and closely followed the 1.1 release cycle.
Now that version 1.8 has been released and approx. 7 years have passed since the very first release, I felt curiosity to see exactly what has changed and what hasn't changed since the very first Wesnoth version published by David White (a.k.a. Sirp) that isn't even available in the downloads page at SourceForge.net. Yep, that's right, this is a review of Wesnoth 0.1 against current versions of Wesnoth such as 1.8 and 1.6, or even intermediate modern versions such as 1.0.
For historical reference I'm using both an actual Wesnoth 0.1 build for Windows I prepared using the Mingw32 cross-compiler environment for Linux (running on WINE), and the Battle for Wesnoth Project's SVN trunk changelog, which starts at version 0.2.1. The project's combined CVS-SVN history, on the other hand, starts on September 15th 2003, 15 days before the first CVS release tag, version 0.4.8. The first version announced since the beginning of the Wesnoth forums (which predate Wesnoth.org itself) is 0.3.7.
1. A first glance
Scenario 1: The Outbreak of War
In the eighteenth year of Haldal, king of Wesnoth, Kiath-Nora, empress of the East has mobilized her forces for war against the peace-loving people of Wesnoth.
Konrad, a young elvish officer is keen to prove his skills and loyalty in the conflict, but he has yet to earn the trust of his superiors. His first assignment is to secure the isle of Yasmin from the Orcs.
Kiath-Nora has dispatched Usadar Q'kai, one of her finest Orcish captains, to wrest control of the isle from the elves.
You have seven days to gain control of the island and kill Usadar Q'kai.
Those readers who have played modern (0.9.x - 1.8.0) Wesnoth will immediately recognize Konrad's name from the mainline Heir to the Throne campaign...but what is this? He's an elf? And he fights for “the peace-loving people of Wesnoth”?
As you can see, this plot bears absolutely no resemblance to the first mainline campaign in current Wesnoth. But enough of this chatter — let's take a look at the actual game once and for all, shall we?
In case you can't tell — since the hex map looks like a wreck — that huge sprite is Konrad, and you can take a look at his stats in the sidebar in case you are still doubtful. He is sitting on some castle tiles surrounded by villages (that vaguely look like Middle-East buildings) and he is surrounded by, hm, forest (mostly plain-green-looking tiles) and grassland (green tiles with black and light green noise on them). Those strange golden tiles are “desert” tiles, and the aquamarine tiles are “coast” tiles (known as Shallow Water since version 0.4). You can't see them here, but there are some dark-blue “ocean” (Deep Water) tiles surrounding the isle and those pretty “coast” tiles. So yeah.
Don't look at me like that. I am not making any of this up! Furthermore, this map still exists in Wesnoth 1.0 to 1.8 in the aforementioned Heir to the Throne campaign!
From Wesnoth 0.1 scenario 1, the map, and the player character and the enemy orc's names survive in Heir to the Throne scenario 3, “Isle of Alduin” (known as “Isle of Anduin” before version 1.3.7). But let's make a pause now to analyze a few immediately obvious technical differences seen here.
Orcish Warrior, from left to right: version 0.1, 1.0 and 1.8.
Unlike Wesnoth 0.6.99.1 and later (0.4.6 introduced PNG support but didn't still use alpha channels), this version uses 70x70 px images in the Windows Bitmap format instead of 72x72 px PNG files for sprites, terrains and such. As BMP images, these sprites had no alpha channel and the game used pure black #000000 as a transparency key. Team Color was not going to be implemented until Wesnoth 1.1.x.
Terrain tiles are 256x256 px BMP files instead of being the same size as sprites. They are apparently masked and rescaled to 100x100 px hexagons at runtime in 0.1.
The sprites' image files look like they were originally intended to be smaller but Dave later settled for the 70x70 px scale. Their blurriness is most likely a rescaling artifact.
Village ownership is indicated by different village icons with recolored roofs and a faint colored ellipse. The latter remind me of the team ellipses seen in later versions, apparently introduced in 0.7.2.
The minimap already works but it isn't possible to click on it to scroll to a particular location. It won't display units either.
The little icons on top of the HP bars indicating whether a unit has moves left or not are already implemented, but they are also displayed for enemy units during the human player's turn.
It is worth noting that it was already possible to zoom the map in and out in this version using the z and x keys.
Unit facing indicated which side a unit belonged to. In this case, units facing southwest are the human player's units, and those who face northeast are AI-controlled units (orcs). This is such a subtle feature that I didn't realize facing signified anything until Dave pointed it out after reading this review.
This is neat! I've found myself wondering about wesnoth's earliest development before, and here it is.
BTW, just wondering: What were your sources for writing this?
> For historical reference I'm using both an actual Wesnoth 0.1 build for Windows I prepared [...]
> and the Battle for Wesnoth Project's SVN trunk changelog, which starts at version 0.2.1.
I combined the latter with git-svn to find and examine some interesting ancient commits such as the new (“current”) WML parser/preprocessor units, or the point at which defenses and resistances ceased being floats, etc.
Congrats for all this work, I guess that as many others I was feeling curious about the origins of wesnoth, and this quenched my thirst, but well, if you want to add more interesting stuff to the article, I can tell you some few things I have noticed at my first play.
About the recall system, appart for only working with over lvl1 units, you could lecall the unit as much times as you would wish, I mean, you could have the same knight over 10 times if you liked to(and since it was for free, you would only care for enemy's money).
It was also bugged the left column of the map, if you moved a unit there, do not hope to move it again, it won't work.
Also, just anecdotic,if you pay attention, you may notice that the texture(or however it's said) of all the terrains is the same(for villages is just zoomed in), is is easy noticeable on sea/ocean and castle tiles, even desert tiles, and the forest, is a darker green with that texture, not just plain green.
I'm waiting for the next articles.
BTW, just wondering: What were your sources for writing this?
> For historical reference I'm using both an actual Wesnoth 0.1 build for Windows I prepared [...]
> and the Battle for Wesnoth Project's SVN trunk changelog, which starts at version 0.2.1.
I combined the latter with git-svn to find and examine some interesting ancient commits such as the new (“current”) WML parser/preprocessor units, or the point at which defenses and resistances ceased being floats, etc.
About the recall system, appart for only working with over lvl1 units, you could lecall the unit as much times as you would wish, I mean, you could have the same knight over 10 times if you liked to(and since it was for free, you would only care for enemy's money).
It was also bugged the left column of the map, if you moved a unit there, do not hope to move it again, it won't work.
Also, just anecdotic,if you pay attention, you may notice that the texture(or however it's said) of all the terrains is the same(for villages is just zoomed in), is is easy noticeable on sea/ocean and castle tiles, even desert tiles, and the forest, is a darker green with that texture, not just plain green.
Anyway, very good work!!
The infinite recall bug is mentioned in the changelog for version 0.2.1 in SVN trunk, but I didn't think it existed in 0.1. Nice find.
I have westnoh 0.4.5, but this is not much better than this...
LOL! COOL ORCISH WARRIOR! this like more a ninja than a orcish warrior
Than remminds me the great job of the wesnoth team in like 6 years