From The Battle for Wesnoth Wiki


Good day,

My name is Jon Kivinen and I'm a freshman software engineering student at Lakehead University ( in Thunder Bay, ON, Canada (

I'm interested in Google Summer of Code and a big fan of Wesnoth (LAN party favourite).

Languages (Tongue)

  • English (first)
  • French (use simple sentences in active voice with common objects)

Languages (Bits)

  • Python (stuff with wxPython, Django)
  • C/C++

Past Experience

To learn Python and wxPython I tried to write a Gin Rummy game. It was neglected after I tried to add network support (after the fact -- /collar tug). It's been a while since I touched it and most of the original code is 2 years old: I've developed my trade since.


I'm usually up from 07:00 EST to 00:00 EST (12:00 UTC to 05:00 UTC) but this is subject to change in the summer months.



  • jkiv


  • jkiv


  • jkiv


Campaign Editor

Being interested in Qt4, I'd like to try to write the UI in Qt4. Nevertheless, I'm open to discussing with those doing map editor improvements what would be the best choice if the two tools were to be merged in the future.


I picture the main interface consisting of three parts:

  • Campaign Flow Editor
  • Map
  • Action List
  • Campaign - a collection of ordered scenarios
  • Scenario - a map with an objective
  • Action -- aka. event
  • Path -- aka. branch
  • "Try agains" -- aka. game overs, you're deads

Campaign Flow

The campaign flow pane would be a flow chart representation of the scenarios of the campaign.

Scenarios can be attached to other scenarios (or branches), allowing for conditional paths. More paths will be available if the leading scenario has more than one victory and/or defeat event associated with it. A path can be associated with any number of victory/defeat events.

Unassociated defeats will be "try agains" by default.


The map shows initial character placements, etc, for actions and scenario events. This panel is complementary to the next panel. This panel contains an overlay illustrating set actions will be present in this panel.

Actions List

This pane lists (in a tree?) actions you can add to the scenario. In a drag/drop fashion, one can drag actions onto the map to associate the tile or character on the tile (ambiguities will be handled through action context or dialog).

ie, for characters,

  • Victory
    • Death of associated unit
  • Victory
    • Protect
      • No. Turns
  • Defeat
    • Death of associated unit

ie, for land,

  • Victory
    • Hold
      • Radius
      • Unit
        • (of Class)
        • (of Type)
      • No. Turns

Aside from unit/tile based actions, world actions can be defined. These include any action that isn't unit/tile specific.


  • number of turns before defeat
  • preambles between characters

I would aim for this list to be expandable/future-safe.

Possible Features In Future

Some features that would be nice to see included, but won't be priority include some of the following:

  • UMC server integration (package/upload)
  • class/unit editor
    • attributes, animations, etc.
  • map editor integration
This page was last edited on 25 July 2008, at 20:30.