GSoC/GCI Archive
Google Summer of Code 2010

Battle for Wesnoth

Web Page: http://wiki.wesnoth.org/SummerOfCodeIdeas

Mailing List: wesnoth-dev@gna.org

Battle for Wesnoth, or simply Wesnoth, is a free turn-based strategy game with role playing elements designed in June 2003 by David White (Sirp).The core rules are meant to be easily learned[1] but 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) is anticipated at the beginning of April. 1.8 is intended to be a major stable checkpoint. We expect the following development cycle (1.9, leading to 1.10) to 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 ideasWesnoth is 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
  • 3 million downloads via sourceforge.net, many more via various mirrors of Linux Distributions
  • Best rated game at the linux game tome[2]
  • Game of the year 2007, 2008 and 2009 at linuxquestions.org[3]
  • In general Wesnoth tends to show up in the #1 or #2 position whenever anyone compiles a list of top open-source games.

Wesnoth's most notable features include;

  • A mature project, but with continuing active development and frequent improvements
  • High quality artwork: both original graphics and original music
  • Very 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, and the number of commits to SVN is still increasing
  • Strong support of internationalization with many supported languages and thus experience in working with non-native English speakers (more than half of our developers are not native English speakers)

 

[1] http://www.wesnoth.org/wiki/WesnothPhilosophy

[2] http://www.happypenguin.org/list?sort=avg_rating

[3] http://www.linuxquestions.org/questions/linux-news-59/2009-linuxquestions.org-members-choice-award-winners-788028/

Projects

  • Eclipse "User-Made-Content" Plugin I will develop an Eclipse Plugin which will enhance the UMC content for "Battle for Wesnoth". The plugin will have some features like: - Editor with autocomplete, syntax highlighting and other editing features for the WML language. - Background checker for the written code. - Wizards for creating the campaigns/scenarios/etc. - Upload the created UMC content to the wesnoth website.
  • Rewriting Battle for Wesnoth network stack using boost::asio. The project consists of developing a network framework in the form of an API and subsequently an implementation that can be distributed as a library for the development of client/server applications. This library will be used to implement Wesnoth's network stack.
  • Upthorn - Data saving for persistent game worlds This is the Persistent Gameworld idea from wesnoth's wiki. If accepted, I would communicate extensively with the community to determine a solution that provides gameworld persistence with the greatest ease of access and implementation for the established community of world and campaign builders for Wesnoth. Currently, I expect that this will involve extending WML, and creation of some system of communication about the extended WML for multiplayer games.
  • Wesnoth Whiteboard I intend to rework the current Wesnoth interface by introducing a planning system or "whiteboard" that will allow the player to give orders and modify them before executing them as a real action. Among immediate benefits, players will be able to share their plans with allies in real time. They will also be able to plan moves during idle time when it's not their turn. Future benefits include suggesting moves to allies, and displaying advanced battle stats taking multiple units into account.