Wesnoth: the Spanish Translation

It seems that after Roberto Romero abandoned the maintenance of the Wesnoth Spanish Translation team in 2007, it’s all gone downhill.

(Fun fact: it was under his leadership that I contributed my first translations for mainline Wesnoth — my first involvement with a FOSS project ever.)

Some time after he left the team (apparently without previous notice to Ivanovic or Torangan), the translation was taken over by a significantly less competent group that did a very lousy job (read: no quality control) before abandoning it again. Around the end of 2008, I took it over and quickly, with the help of an Argentinian guy who joined me later, brought it to completion in time for the first release of the 1.6 series.

In the process I realized how hard it really is to maintain a complete translation of a large game like Wesnoth.

Due to a series of RL complications, I had to abandon the Spanish translation shortly after Wesnoth 1.6 was released (March 2009). The translation was not taken over by anyone in time for Wesnoth 1.8 (April 2010). Much later in November, though, a new fellow became maintainer and got some work done along with other new collaborators.

Things were starting to look unusually bright because, for the first time in years there was more than one active translator. However, this world full of rainbows and pink unicorns did not last, and it ultimately fell into oblivion following the departure of this last maintainer from the community. No-one took over the team afterwards, and now the Spanish translation is in its natural state once again. The last update in mainline trunk took place in January 2011.

You can have a look at the current situation in gettext.wesnoth.org, our translations statistics website.

It seems that Battle for Wesnoth just doesn’t manage to appeal to many Spanish-speaking people from the FOSS users community to attract new individuals with the knowledge, patience and time required to resurrect an abandoned translation, and the sense of leadership required to coordinate work and keep certain quality standards to attract and, most importantly, keep new translators.

Of course, Wesnoth is a huge undertaking of its own with over one dozen of thousands of strings in mainline and its distinctive approach to storytelling — I know for sure I do not want to work on translating campaigns again, at least, not alone. Still, there are people far more capable than I am for this kind of work, and I do believe our game could really use more publicity among Spanish and Latinamerican players and their contacts.

All the technical fluff relevant for starting to work on an existing or new translation can be found in the wiki, after all.

Long Live the Wesnoth.org Favicon!

Favicon comparison

Today, May 26th, a few minutes past 06:00 AM UTC, after 6 or 7 years of history, the Wesnoth.org favicon has finally been replaced by command of the Art Director on the live website and in SVN trunk, revision 49655, meaning this change is also effective in mainline starting with version 1.9.7 (not yet released).

The differences between both versions are far from subtle, as you can see to the right.

I for one mourn the loss of this significant piece of history that reflects an older, more cartoony art style that was slowly abandoned towards Wesnoth 1.0 and beyond. Until now, this icon also accompanied the owned village counter in the game’s top bar, and served as an indicator overlay for moves affecting village ownership since version 1.4 onwards. Finally, it served for a long time as the village terrain category icon in the Map Editor.

In case anyone requires the old icon for the sake of nostalgia, it’ll be preserved here for your own use under the conditions of the GNU General Public License version 2.

Wesnoth 1.8.6 confirmed

For those of us who were wondering whether the Battle for Wesnoth team would release another revision of the latest stable branch, today we have definitive confirmation that version 1.8.6 will, indeed, come to life very soon, as the release manager has just informed us in the developers’ mailing list:

Currently I consider tagging 1.8.6 maybe on Wednesday next week. Please ping me ASAP if you got anything I should be waiting for (and obviously tell me what it is). Yes, I think that 1.8.6 will really be the last 1.8.6 release.

It should be pointed out that the necessity of another stable release was decided back in February during FOSDEM, after evaluating the current status of 1.10’s development.

An incomplete list of changes can be found in /branches/1.8/changelog from the SVN repository. Some noteworthy code changes as of this writing include:

  • Fixed transparent portraits not supporting image modifications
  • ANL: Awarded correct amount of research to units. (Fix for bug #17406, patch by kernigh.)
  • Remove useless debug output introduced in r42226
  • Fix loadscreen progressbar "bleeding" on the old MP lobby when running with -s switch
  • Fix for bug #17573: wesnoth unusable with certain combinations of glibc and sdl due to changes in memcopy
  • Rework MP chat log as a GUI2 dialog with colored display of messages
  • Fixed a gcc 4.6 compilation error

After the Storm release schedule update

As I resolved to do last New Year, I’ve been progressing with After the Storm slowly at irregular intervals of time. During these last three days I’ve given it a bit of thought in regards to the future development plans and the road to 1.0.

I have settled for the following milestones:

  • 0.3.0 — Ep. I, first act completed (scenarios 1 to 5)
  • 0.4.0 — Ep. I, second act completed (scenarios 6 to 9)
  • 0.5.0 — Ep. I, third act completed (scenarios 10 and 11)
  • 1.0.0 — Ep. II completed

Right now AtS is about to hit the last set of changes needed for the 0.4.0 release. The first part of the ninth scenario is already finished in SVN trunk, and the second part is a work in progress. There are two art issues pending, but I plan to proceed with placeholders for now if it’s needed to have a release before the end of April.

Wesnoth forums status III

Due to recent abuse of the Tor anonymization network detected on Wesnoth.org’s forum board, I have decided to permanently block access through this service.

This is rather unfortunate, since I have found myself in need of using Tor before, as an alternative to broken ISP ←→ Wesnoth.org’s upstream network routes; however, it seems to be the most sensible solution to help fight vandalism. I won’t hesitate to extend these measures to the rest of Wesnoth.org if further issues arise.

Users’ accessing the forums via Tor or any other blocked hosts, service providers and proxies will see the following error message:

forums.wesnoth.org block screenshot

Wesnoth forums status II

As those who have read the Wesnoth.org Website forum should know, there’s currently an ongoing brute-force attack targeted at the Wesnoth.org community board attempting to log into multiple users, developers, artists and administrators’ accounts.

Although the situation is mostly under control at the moment, it’s always a good idea to remind people to choose safe, non-guessable passwords for their online accounts, and to make sure they aren’t shared amongst services.

I have been setting up filters to deny access to the board to multiple suspicious addresses and subnets. If you see a 403 Forbidden message when trying to access the forums, follow the instructions on the error page to contact us so we can sort it out.

I don’t currently have further information available on the attack that I can freely disclose, although I personally suspect it’s an attempt to disrupt regular user activity by forcing people to fill in the maximum log-in attempts CAPTCHA in the User Control Panel page.

Resolutions!

I have been thinking about some stuff to do during this year for a while, actually. It’s really hard to decide because I’m a person who runs into all sort of trouble while trying to get projects accomplished (including procrastination).

One thing I’m already doing is learning some Japanese, for no particular reason at all — although you’ve got to admit that having multiple languages in your curriculum is worth a bunch of coolness points. 😛 Espreon is helping me along the way with his own recently gained knowledge. It seems quite fun to learn a language in a non-Latin alphabet, if not a tad overwhelming at times, especially with kanji.

It’d be a good idea to lose some weight this year, too. My addiction to sugary stuff isn’t quite compatible with my heart condition! (Nor is coffee, but… meh.)

Screenshot of AtS

Then there’s Wesnoth. I intend to finish the Second Act™ of After the Storm Episode I as soon as I may, even through the means of placeholders — I’m willing to do anything to rescue AtS out of Development Hell before the end of 2011.

Wesnoth RCX’s development is halted right now due to lack of interest on my part to invest energy on writing the rest of the new functionality (i.e. definition of custom ranges and palettes), but I know that once I touch Qt Creator’s awesome interface I can’t stop working for a while — so I may eventually get some inspiration to redesign the main window, which should inevitably lead me to tinker around with the rest of the code.

C# was the first “major” programming language I learned, not counting Visual Basic. I have some fond memories of my first experiments with C#, but after I embarked upon learning and using C++ I kind of forgot about it. I have been considering the possibility of writing an IRC client of sorts using C# just for kicks, and to not forget this language in case I ever need it again. Why IRC? Because clients for this protocol are simple and challenging to implement, both at the same time!

I’ve already started to learn a bit of Lua for my work on the aforementioned Wesnoth campaign — in fact, there’s already some released code within it written in this language, particularly in scenario 5! I have plans to rewrite parts of Invasion from the Unknown in Lua to clean it up a little, thus paving the road for future maintenance work by me or other people (don’t forget that IftU is still abandoned!).

Another software project I intend to tackle in the short term is Rei 2. Sure, she’s doing well and her main command handlers are many and useful enough for channels such as ##shadowm and #wesnoth-umc-dev, but her dependence on Irssi’s core might well be a curse for one of our use cases: Shikadibot (the Second), which runs on a resource-limited VPS where every drop of RAM has got gold value. I’m already brainstorming a possible abstraction layer (codenamed “API 3”) which could allow the Irssi core to be swappable with a custom, native IRC client core (codenamed “Anya”). There’s really not much in the current Irssi-based implementation of the internal interfaces (“API 2”) that make a dependency switch unfeasible.

Finally, I’m not going to stop producing useless updates for my website! Dorset5 0001 is already a reality, although there’s still much I want to do before replacing the current layout. This time I have placed an emphasis on readability and elegance that I don’t think the previous revisions have lived up to so far.

• • •

All in all, I always have so many ideas floating in my mind that I rarely carry to realization, so this can’t be considered a definitive list. There are other possibilities I’m contemplating for the long term regarding my personal life, but that’s a much more volatile subject to discuss so I’m avoiding it for now.

So long, autotools

Today I’ve found out that silene, one of the Wesnoth developers, has taken the decision to withdraw support for autotools (a.k.a. autoconf+automake, or configure + Make) without previous warning or discussion with the rest of the development team and distribution packagers.

Author: silene <silene@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>
Date: Mon Dec 27 11:10:54 2010 +0000
Discontinued support for building with autotools.
Since r48086, wesnoth no longer builds (due to duplicate strings), and it would be a lot of work to fix the build system, so better drop it.
git-svn-id: svn+ssh://svn.gna.org/svn/wesnoth/trunk@48092 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

This came completely out of the blue, as you can see. I can’t really say whether I agree with this decision or not, however, in an ideal world it would not have been done without previous discussion in the developers mailing list at the very least.

Although I’ve spoken in the past against SCons (blah), it is my preferred build system nowadays thanks to its ease of use, simple management of multiple build configurations and loonycyborg’s hard work on improving our build scripts.

This is just one of the many upcoming changes in Wesnoth 1.9.4, but one substantial enough to require some previous preparation for those who are used to the good old configure script. Hopefully this will not be a too disruptive change for our users, but in case you feel profoundly affected by the decision, now you know who to complain to. 😉

New Wesnoth Forums changes for a new week

To begin this holidays week, I have introduced a few minor changes to the Wesnoth forums which should hopefully increase organization and ease of communication amongst us.

First, there’s now a separate Miscellaneous forum dedicated to those silly Forum Games, which is not indexed, doesn’t account for post counts, and doesn’t have an associated Atom feed unlike the rest of the board. Its topics are not listed in the Active topics view either.

Second, we now have new profile fields that can be optionally filled-in by users wanting to share with the community a bit more of information about themselves. These are the gender, languages and IRC nickname items. They are all displayed in the regular individual profile view, as well as in your User Control Panel, and may be modified visiting User Control PanelProfileEdit Profile.

(Wesnoth.org being an international community, it makes sense to allow people to tell us what languages they speak so we may be able to give them assistance in their natural language whenever applicable, or to help us choose new moderators.) 😉

The Wesnoth umcmg Branch

Not too long ago, I forked a branch from Wesnoth’s trunk and started committing stuff to it in the mainline repository, thanks to the awesome power of Git branching through the git-svn bridge. My main goal is to experiment with improvements to the add-ons download interface, trying to address some of our users’ most common complaints, while not touching trunk directly to allow Ilor — who’s in charge of the WIP new add-ons server/client implementation — to easily merge his changes with trunk and the other way around until I can get confirmation from him about the mergeability of my own work.

Right now there’s very little done in my umcmg branch, but today I’ve come up with some patches that should be trivial to mix into trunk.

Screenshot Screenshot

Pictured to the right is the new Add-on Description dialog (taddon_description), intended to finish my quick-and-dirty hack from September 2009, which made it to trunk nearly at the same time as a string freeze entered in effect, making it impossible for me to polish this feature for 1.8.

At the left you can see something potentially less interesting, a work-in-progress Download progress viewer (taddon_download_progress) that is written using mordante’s GUI2 toolkit instead of the old GUI1. This is hardly usable right now, and in fact, crashes the game, proving yet again that I’m not really fit for messing with the network layer of our dear game.

It’s really tempting to just run over the Download/Update dialogs with a steamroller, but mordante’s got his own plans for that and the GUI2 listbox widget, which will unconditionally become a basic building block of the hypothetical, unified add-ons manager dialog, plus there’s also Ilor’s work on the new server/client; therefore I can only wait for now until these matters are settled and try to have something ready for 1.10 as a last resort if neither of the aforementioned solutions are available by the time we hit another string/feature-freeze period.