GSoC/GCI Archive
Google Summer of Code 2011

The Battle for Wesnoth

Web Page:

Mailing List:

Battle for Wesnoth, or simply Wesnoth, is a free, turn-based strategy game with role-playing elements that was designed in June 2003 by David White (Sirp).

Although the core rules are fairly simple and meant to be easily learned[1], they provide interesting gameplay and rich tactical options. A major strength of the project is the Wesnoth Markup Language (WML) for writing scenarios. Programming skills are not required to compose with it, and a large WML-modding community has generated a great deal of user-maintained content. We polish the best of this content and lift it into our official release tree.

The first stable release (1.0) was on October 2, 2005, and the latest stable release (1.8) happened in April 2010. Version 1.8 is a major stable checkpoint, and 1.10 is not anticipated before the end of 2011. The current development cycle (1.9, leading to 1.10) will premier significant changes in gameplay, UI, and development tools, with many new concepts being introduced. That makes this year probably one of the best years for a SoC student to join, since the open-ended 1.9 will mean much more space to develop novel ideas.

Wesnothis one of the most successful open-source game projects in existence, with an exceptionally large developer base and user community:

  • According to Ohloh, a site that collects activity statistics on open-source projects, the ''Wesnoth'' development effort is in the top 2% of largest and most active projects
  • We support two multiplayer game servers (stable and development) with a usual minimum load of more than a hundred players
  • More than two thousands downloads a day
  • 4.5 million downloads via SourceForge; many more via various mirrors of Linux distributions
  • Best rated game at the Linux Game Tome[2]
  • Game of the year 2007, 2008, 2009, and 2010 at[3][4]
  • In general, Wesnoth tends to show up in the first or second position whenever anyone compiles a list of top open-source games

Wesnoth's most notable features include:

  • A mature project with continuing active development and frequent improvements
  • High quality artwork: both original graphics and music
  • Well­-balanced by a tireless team of playtesters
  • Fun, unique gameplay
  • Even after six years of development and with a very solid, fun product already created, there are still plenty of new developers; the number of commits to Subversion is still increasing
  • Strong support of internationalization with many supported languages, thus experience in working with non-native English speakers. In fact, more than half of our developers are not native English speakers.

For our Ideas page, please have a look at [5]. There you can find all information required to get you started working on Wesnoth.



For those that want to check out the work our students have one, you have two options. either you can check the sample code committed by our students that was directly handed over to google, or you can just fetch a complete checkout of our svn repository. You will find all the work directly in trunk and it is also included in the development releases of the 1.9.x series.




  • Improving the Eclipse UMC Plugin I plan to work on the Eclipse UMC Plugin, improving it so that the UMC Authors will use it much more.
  • Lua AI improvement - Nephro The artificial intelligence module of Battle for Wesnoth is written in C++ and is pretty complicated for scenario developers to configure. That's why Wesnoth developers decided to extend it and allow users to write AI configurations in Lua, which is not possible at the moment.
  • Whiteboard Improvements The Wesnoth whiteboard system is the mechanism by which players can plan their strategies in-game. The whiteboard is currently unfinished and requires both debugging and additional features. The proposed project will address these, with the focus on allowing allied players to view each others' plans over the network.
  • WML validation tool The main idea of WML Validator is validator with tags hierarhy data on C++. I propose to provide source annotations. Schema generator tool will look through annotations in source and generate schema file. And another tool to validate user-made WML files and return user friendly errors, containing number of line, type of error, and place in tag hierarchy.