<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wesnoth.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mesilliac</id>
	<title>The Battle for Wesnoth Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wesnoth.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mesilliac"/>
	<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/Special:Contributions/Mesilliac"/>
	<updated>2026-05-07T08:18:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&amp;diff=69786</id>
		<title>InterfaceActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&amp;diff=69786"/>
		<updated>2022-07-25T04:06:59Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Other interface tags */ Added the new &amp;quot;screen_fade&amp;quot; tag and tweaked the description of &amp;quot;color_adjust&amp;quot; which was wrong.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Interface actions ==&lt;br /&gt;
&lt;br /&gt;
Part of [[ActionWML]], interface actions are actions that do not have a direct effect on gameplay;&lt;br /&gt;
instead, they show something to the player.  The main interface tags&lt;br /&gt;
are '''[message]''' and '''[objectives]''', but several other tags affect&lt;br /&gt;
the interface also.&lt;br /&gt;
&lt;br /&gt;
== [inspect] ==&lt;br /&gt;
This user interface instantly displays the gamestate inspector dialog at the current scenario state (the same one that can be brought up with [[CommandMode|the ''':inspect''' command]]), which can be used to inspect the values of WML variables, AI configuration, recall lists, and more.&lt;br /&gt;
&lt;br /&gt;
* '''name''': optional attribute to specify the name of this gamestate inspector dialog. It is just a label to help differentiate between different invocations of gamestate inspector dialog.&lt;br /&gt;
&lt;br /&gt;
== [message] ==&lt;br /&gt;
The most commonly used interface action is [message], which displays a message to the user in a dialog box. It can also be used to take input from the user.&lt;br /&gt;
&lt;br /&gt;
The following key/tags are accepted for [message]:&lt;br /&gt;
* [[StandardUnitFilter]]: The unit whose profile and name are displayed. Do not use a [filter] tag. If no unit matching this filter is found, the message is not displayed (The unit has probably been killed).&amp;lt;br&amp;gt;[message] elements should be constructed so that it is either guaranteed that a certain unit is alive, or so that dialog flows smoothly even if the message isn't displayed.&lt;br /&gt;
&lt;br /&gt;
* '''speaker''': an alternative to standard unit filter. You may specify as the value of the speaker attribute a unit id or any of the following special values:&lt;br /&gt;
** '''narrator''': the dialog box is displayed without a caption for the unit speaking or a unit image&lt;br /&gt;
** '''unit''': the primary unit for the event is speaking&lt;br /&gt;
** '''second_unit''': the secondary unit for the event is speaking&lt;br /&gt;
&lt;br /&gt;
* '''message''': (translatable) the text to display to the right of the image. ''message'' is sometimes multiple lines; if it is, be sure to use quotes(''' ' ''' or ''' &amp;quot; ''')&lt;br /&gt;
* '''male_message''', '''female_message''': {{DevFeature1.13|2}} (translatable) Used instead of ''message'' if the unit's gender matches. Never used if there is no unit (ie ''speaker=narrator''). {{DevFeature1.13|6}} This matches the primary unit, not the secondary unit.&lt;br /&gt;
* '''wait_description''': {{DevFeature1.13|2}} the description of this message displayed when other players in a mp game wait for one player doing input in a [message] (with [option]s or [text_input]).&lt;br /&gt;
* '''[show_if]''': if present then this message will only be displayed if the conditional statement in this tag is passed (see [[ConditionalActionsWML#Condition_Tags|ConditionalActionsWML]])&lt;br /&gt;
* '''side_for''': (default: all sides) comma-separated list of sides for who message is shown. This will &amp;lt;b&amp;gt;not&amp;lt;/b&amp;gt; work with messages that take user input ([option]/[text_input]), which can only ever be shown to the current player. {{DevFeature1.13|0}} side_for= is now also accepted for messages with user input, it specifies on which side the message is shown (defaults to the currently playing side). For messages with input it does not accept a comma seperated list only a single number.&lt;br /&gt;
* '''image''': (default: profile image of speaker) the image to display to the left of the message text. Append ~RIGHT() if you want the image to appear on the right side. &lt;br /&gt;
** {{DevFeature1.13|0}} &amp;lt;b&amp;gt;none:&amp;lt;/b&amp;gt; display no image&lt;br /&gt;
* '''mirror''': {{DevFeature1.13|5}}whether to mirror the image specified by the '''image''' attribute.&lt;br /&gt;
* '''second_image''': {{DevFeature1.13|6}}same as the '''image''' attribute, but the image is displayed on the right of the message text.&lt;br /&gt;
* '''second_mirror''': {{DevFeature1.13|6}}same as '''mirror''', but for the '''second_image''' attribute.&lt;br /&gt;
* '''image_pos''': {{DevFeature1.13|5}} whether to show the image on the left or right; supercedes the use of ~RIGHT() described above&lt;br /&gt;
* '''caption''': (default: name of speaker) the caption to display beside the image. Name to be displayed. Note: use a translation mark to avoid wmllint errors.&lt;br /&gt;
* '''scroll''': Boolean specifying whether the game view should scroll to the speaking unit. Defaults to ''yes''.&lt;br /&gt;
* '''highlight''': {{DevFeature1.13|5}} Boolean specifying whether to highlight the speaker. Defaults to ''yes''.&lt;br /&gt;
* '''sound''': a sound effect (wav file) to play as the message is displayed. This can be a comma-separated list, from which one will be randomly chosen.&lt;br /&gt;
* '''voice''': {{DevFeature1.13|?}} a sound to be played as the message is displayed. This can also be a comma-separated list, from which one will be randomly chosen. This is intended for voiceovers for the message.&lt;br /&gt;
* '''[option]''': No '''[option]''' elements have to be used. If '''[option]''' elements are present, then each option will be displayed in a menu for the user to select one option. ''Note: Messages with options will not be shown at all in prestart events''&lt;br /&gt;
** '''message''': (translatable) the text displayed for the option. {{DevFeature1.15|1}} This is now a synonym for '''description='''.&lt;br /&gt;
** '''image''', '''label''', '''description''', '''default''': See [[DescriptionWML#WML_Format|DescriptionWML]].&lt;br /&gt;
** '''value''': {{DevFeature1.13|?}} Gives the option a value to be stored in a variable.&lt;br /&gt;
** '''[show_if]''': if present then this option will only be displayed if the conditional statement in this tag is passed (see [[ConditionalActionsWML#Condition_Tags|ConditionalActionsWML]])&lt;br /&gt;
** '''[command]''': an element containing actions which are executed if the option is selected.&lt;br /&gt;
* '''variable''': {{DevFeature1.13|?}} If present, either the index or the value of the chosen option will be stored in the specified variable. Option indexing starts from 1. If option has '''[show_if]''' condition evaluated as false, then it is hidden and excluded from the indexing.&lt;br /&gt;
* '''[text_input]''': there can be only one [text_input] tag. this adds a text input field to the message. ''Note: Messages with text_input will not be shown at all in prestart events''&lt;br /&gt;
** '''variable''': the variable that the user's input will be written to&lt;br /&gt;
** '''label''': a text label to the left of the input field&lt;br /&gt;
** '''max_length''': the maximum number of characters that may be typed into the field&lt;br /&gt;
** '''text''': text that is written into the field in the beginning&lt;br /&gt;
* Check [[EventWML#Multiplayer_safety]] to find out in which events you can safely use '''[option]''' and '''[text_input]''' without causing OOS.&lt;br /&gt;
&lt;br /&gt;
=== Formatting ===&lt;br /&gt;
'''[message]''' and other tags such as unit names (user_description), objectives, and floating text can make use of [https://docs.gtk.org/Pango/pango_markup.html#pango-markup Pango markup formatting codes].&lt;br /&gt;
&lt;br /&gt;
Prefer to use single quotes (') instead of double quotes (&amp;quot;) within the formatting string, as double quotes would need to be escaped in WML (&amp;quot;&amp;quot;). Escaping markup can be done with [https://github.com/wesnoth/wesnoth/blob/9daa10a9f27c5a95520e871417bbd72aa52aa688/src/font/pango/escape.hpp#L38-L42 HTML entities].&lt;br /&gt;
&lt;br /&gt;
For example, if you wanted to write &amp;quot;You are victorious!&amp;quot; in large, italic, gold letters, you might write it this way:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;span color='#BCB088' size='large' font-style='italic'&amp;gt;You are victorious!&amp;lt;/span&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are the codes taken from the Pango markup formatting guide:&lt;br /&gt;
&lt;br /&gt;
*'''font''', '''font_desc''': A font description string, such as &amp;quot;Sans Italic 12&amp;quot;.&lt;br /&gt;
*'''font_family''', '''face''': A font family name.&lt;br /&gt;
*'''font_size''', '''size''': Font size in 1024ths of a point, or one of the absolute sizes 'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', or one of the relative sizes 'smaller' or 'larger'.&lt;br /&gt;
*'''font_style''', '''style''': One of 'normal', 'oblique', 'italic'.&lt;br /&gt;
*'''font_weight''', '''weight''': One of 'ultralight', 'light', 'normal', 'bold', 'ultrabold', 'heavy', or a numeric weight.&lt;br /&gt;
*'''font_variant''', '''variant''': One of 'normal' or 'smallcaps'.&lt;br /&gt;
*'''font_stretch''', '''stretch''': One of 'ultracondensed', 'extracondensed', 'condensed', 'semicondensed', 'normal', 'semiexpanded', 'expanded', 'extraexpanded', 'ultraexpanded'.&lt;br /&gt;
*'''foreground''', '''fgcolor''', '''color''': An RGB color specification such as '#00FF00' or a color name such as 'red'. The full list of color names may be found in Pango's [https://github.com/GNOME/pango/blob/main/tools/rgb.txt rgb.txt] file.&lt;br /&gt;
*'''background, bgcolor''': An RGB color specification such as '#00FF00' or a color name such as 'red'.&lt;br /&gt;
*'''underline''': One of 'none', 'single', 'double', 'low', 'error'.&lt;br /&gt;
*'''underline_color''': The color of underlines; an RGB color specification such as '#00FF00' or a color name such as 'red'.&lt;br /&gt;
*'''rise''': Vertical displacement, in 10000ths of an em. Can be negative for subscript, positive for superscript.&lt;br /&gt;
*'''strikethrough''': 'true' or 'false' whether to strike through the text.&lt;br /&gt;
*'''strikethrough_color''': The color of strikethrough lines; an RGB color specification such as '#00FF00' or a color name such as 'red'&lt;br /&gt;
*'''fallback''': 'true' or 'false' whether to enable fallback. If disabled, then characters will only be used from the closest matching font on the system. No fallback will be done to other fonts on the system that might contain the characters in the text. Fallback is enabled by default. Most applications should not disable fallback.&lt;br /&gt;
*'''letter_spacing''': Inter-letter spacing in 1024ths of a point.&lt;br /&gt;
*'''gravity''': One of 'south', 'east', 'north', 'west', 'auto'.&lt;br /&gt;
*'''gravity_hint''': One of 'natural', 'strong', 'line'.&lt;br /&gt;
&lt;br /&gt;
The following pango attributes are also available directly as attributes of the '''[message]''' tag:&lt;br /&gt;
{{DevFeature1.13|4}}&lt;br /&gt;
&lt;br /&gt;
*'''font'''&lt;br /&gt;
*'''font_family'''&lt;br /&gt;
*'''font_size'''&lt;br /&gt;
*'''font_style'''&lt;br /&gt;
*'''font_weight'''&lt;br /&gt;
*'''font_variant'''&lt;br /&gt;
*'''font_stretch'''&lt;br /&gt;
*'''color'''&lt;br /&gt;
*'''bgcolor'''&lt;br /&gt;
*'''underline'''&lt;br /&gt;
*'''underline_color'''&lt;br /&gt;
*'''rise'''&lt;br /&gt;
*'''strikethrough'''&lt;br /&gt;
*'''strikethrough_color'''&lt;br /&gt;
*'''fallback'''&lt;br /&gt;
*'''letter_spacing'''&lt;br /&gt;
*'''gravity'''&lt;br /&gt;
*'''gravity_hint'''&lt;br /&gt;
&lt;br /&gt;
== [objectives] ==&lt;br /&gt;
The other tag used for plot development is '''[objectives]'''.&lt;br /&gt;
The '''[objectives]''' tag overwrites any previously set objectives,&lt;br /&gt;
and displays text which should describe the objectives of the scenario.&lt;br /&gt;
Scenario objectives are displayed on the player's first turn after the tag is used,&lt;br /&gt;
or as part of the event if it triggers during that player's turn.&lt;br /&gt;
Objectives can also be accessed at any time in a scenario using the&lt;br /&gt;
&amp;quot;Scenario Objectives&amp;quot; game menu option, making this tag useful for&lt;br /&gt;
scenario-specific information that the player may need to refer to during play.&lt;br /&gt;
&lt;br /&gt;
Attributes of '''[objectives]''':&lt;br /&gt;
* '''side''': Default '0'. The side to set the objectives for. A value of 0 sets objectives for all sides. note: There are side-specific objectives and default objectives, which are used in case a side doesn't have specific ones. Specifying 0 sets the default ones.&lt;br /&gt;
* '''[[StandardSideFilter]]''' tags and keys: Sets the objectives of all matching sides to these passed specifications (the rest of this [objectives] tag). If no sides (such as when passing side=0) or all sides match, sets the default objectives, and the side specific ones for the matching sides otherwise.&lt;br /&gt;
* '''bullet''': Default '• '. Replaces the default bullet, with whatever is passed, for all objectives, gold carryover notes, and notes defined with [note].&lt;br /&gt;
* '''summary''': Displayed first in the objectives text, this should describe the basic objective for the overall scenario.  Can be omitted.&lt;br /&gt;
* '''note''': Displayed last in the objectives text, this is sometimes used for hints or additional information.  Can be omitted.&lt;br /&gt;
* '''victory_string''': Default ' _ &amp;quot;Victory:&amp;quot;', this text precedes the victory objectives. Can be set to &amp;quot;&amp;quot; too.&lt;br /&gt;
* '''defeat_string''': Default ' _ &amp;quot;Defeat:&amp;quot;', this text precedes the defeat objectives. Can be set to &amp;quot;&amp;quot; too.&lt;br /&gt;
* '''gold_carryover_string''': Default ' _ &amp;quot;Gold carryover:&amp;quot;', this text precedes the gold carryover information.&lt;br /&gt;
* '''notes_string''': Default ' _ &amp;quot;Notes:&amp;quot;', this text precedes the notes.&lt;br /&gt;
* '''silent''': Default: not present. If set to &amp;quot;yes&amp;quot;, the objectives are silently changed. Else, they will be shown to the user when appropriate.&lt;br /&gt;
* '''delayed_variable_substitution''': {{DevFeature1.13|8}} If set to yes, any variables or [insert_tag] are not substituted right away. Instead, they are substituted whenever the objectives are actually viewed.&lt;br /&gt;
&lt;br /&gt;
Tags of '''[objectives]''':&lt;br /&gt;
* '''[objective]''': describes a win or loss condition. Most scenarios have multiple win or loss conditions, so use a separate [objective] subtag for each line; this helps with translations.&lt;br /&gt;
** '''bullet''': Default '• ' or whatever is set in the parent [objectives] block. Replaces the default bullet, with whatever is provided, for the objective defined by the [objective] block.&lt;br /&gt;
** '''red''': Default '0' for winning objectives, '255' for losing objectives. Overrides the default red coloring of the entire objective, including the bullet.&lt;br /&gt;
** '''green''': Default '255' for winning objectives, '0' for losing objectives. Overrides the default green coloring of the entire objective, including the bullet.&lt;br /&gt;
** '''blue''': Default '0'. Overrides the default blue coloring of the entire objective, including the bullet.&lt;br /&gt;
** '''description''': text for the specific win or loss condition.&lt;br /&gt;
** '''caption''': a text which will be displayed above the ''description''. This can be used to display a subcategory of objectives below ''victory_string'' or ''defeat_string''.&lt;br /&gt;
** '''condition''': The color and placement of the text. Values are 'win'(colored green, placed after ''victory_string'') and 'lose'(colored red, placed after ''defeat_string'').&lt;br /&gt;
** '''show_turn_counter''': If set to yes, displays the number of turns remaining in the scenario. Default is no.&lt;br /&gt;
** '''[show_if]''': A condition that disables the objective if it doesn't hold. Conditional objectives are refreshed at '''[show_objectives]''' time only, or when manually opening the scenario objectives.&lt;br /&gt;
* '''[gold_carryover]''': describes how the gold carryover works in this scenario. This is intended to be a more convenient way of displaying carryover information than using the note= key in [objectives].&lt;br /&gt;
** '''bullet''': Default '• ' or whatever is set in the parent [objectives] block. Replaces the default bullet with whatever is provided.&lt;br /&gt;
** '''red''': Default '255'. Overrides the default red coloring of the entire objective, including the bullet.&lt;br /&gt;
** '''green''': Default '255'. Overrides the default green coloring of the entire objective, including the bullet.&lt;br /&gt;
** '''blue''': Default '192'. Overrides the default blue coloring of the entire objective, including the bullet.&lt;br /&gt;
** '''bonus''' (boolean): whether an early finish bonus is granted. If omitted, early finish bonus is not mentioned.&lt;br /&gt;
** '''carryover_percentage''': the amount of carryover gold. If omitted, the amount is not mentioned.&lt;br /&gt;
** '''[show_if]''': {{DevFeature1.13|11}} Gold carryover will not be shown if the specified condition isn't met. Conditional gold carryover is refreshed at '''[show_objectives]''' time only.&lt;br /&gt;
* '''[note]''': describes a note, usually used for hints or additional information. This is an easier way of adding several notes than concatenating them together into a single string to use with the ''note='' key.&lt;br /&gt;
** '''bullet''': Default '• ' or whatever is set in the parent [objectives] block. Replaces the default bullet with whatever is provided for the note defined by the [note] block.&lt;br /&gt;
** '''red''': Default '255'. Overrides the default red coloring of the entire note, including the bullet.&lt;br /&gt;
** '''green''': Default '255'. Overrides the default green coloring of the entire note, including the bullet.&lt;br /&gt;
** '''blue''': Default '255'. Overrides the default blue coloring of the entire note, including the bullet.&lt;br /&gt;
** '''description''': the text of the note.&lt;br /&gt;
** '''[show_if]''': The note will not be shown if the specified condition isn't met. Conditional notes are refreshed at '''[show_objectives]''' time only.&lt;br /&gt;
&lt;br /&gt;
== [set_menu_item] ==&lt;br /&gt;
This tag is used to add a custom option in the right-click context menu which can then be used to trigger arbitrary WML commands. The menu items can be set and modified during any event, for example during &amp;quot;start&amp;quot; or &amp;quot;prestart&amp;quot; events. The user can also assign hotkeys to these WML commands unless specified otherwise. When the hotkey is pressed the event will be fired/filtered at the current mouse position.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Due to limitations in portable devices where there are no scroll bars for context menus, there is a hard-coded limit of 7 custom WML menu items. If you really need to have more than 7 menu items, try combining some of them in a submenu. {{DevFeature1.13|0}} This limitation is being removed in a [http://forums.wesnoth.org/viewtopic.php?p=572554#p572554 future version] of Wesnoth.&lt;br /&gt;
&lt;br /&gt;
* '''id''': the unique id for this menu item. If a menu item with this id already exists, it allows you to set specific changes to that item.&lt;br /&gt;
* '''description''': the in-game text that will appear for this item in the menu.&lt;br /&gt;
* '''image''': the image to display next to this item.&lt;br /&gt;
* '''needs_select''': if ''yes'' (default ''no''), then the latest select event (see [[EventWML]]) that triggered before this menu item was chosen will be transmitted over the network before this menu item action will be. This only has any effect in networked multiplayer, and is intended to allow more elaborate menu item behaviour there without causing out of sync errors. If you don't know what this means, just leave it. {{DevFeature1.13|6}} ''needs_select=yes'' is deprecated, consider using manual variable syncing with [sync_variable].&lt;br /&gt;
* '''synced''' {{DevFeature1.13|1}}: if ''no'' (default ''yes'') the command handler will only be run on the client that invoked the menu item; this means that changing the gamestate in a command handler of a menu item with ''synced=no'' will cause OOS&lt;br /&gt;
* '''use_hotkey''': if ''no'' (default ''yes''), then the user cannot assign hotkeys to this menu item. If ''only'', the menu item is only accessible via hotkeys, not via right-click context; you can use this in combination with [default_hotkey] if you want custom hotkeys in your campaign/mp. &lt;br /&gt;
* '''[show_if]''': If present, the menu item will only be available if the conditional statement (see [[ConditionalActionsWML#Condition_Tags|ConditionalActionsWML]]) within evaluates to true. When this is evaluated, the WML variables ''$x1'' and ''$y1'' will point to the location on which the context menu was invoked, so it's possible to for example only enable the option on empty hexes or on a particular unit.&lt;br /&gt;
* '''[filter_location]''': contains a location filter similar to the one found inside Single Unit Filters (see [[FilterWML]]). The menu item will only be available on matching locations.&lt;br /&gt;
* '''[default_hotkey]''': contains a hotkey WML to specify what hotkey to assign to this, '''if the user has no hotkey assigned to this yet'''. (Unlike the rest of a menu item definition, modifying this tag has no effect on the game; it is only effective when initially defining a menu item.) Hotkey WML matches the format in the preferences file and contains the following keys:&lt;br /&gt;
** '''key''': a string that contains the key to assign to this.&lt;br /&gt;
** '''alt''', '''shift''', '''cmd'''(apple only), '''ctrl''':  boolean values.&lt;br /&gt;
** '''repeat_on_hold''' {{DevFeature1.13|12}}: if ''yes'' (default ''no''), holding the hotkey will repeat the action continuously, unless it blocks input with something like '''[message]'''. Due to a bug, versions older than 1.13.12 always repeat the action, with no way to disable it.&lt;br /&gt;
* '''[command]''': contains the WML actions to be executed when the menu item is selected. Again, the WML variables ''$x1'' and ''$y1'' will point to the location on which the context menu was invoked on.&lt;br /&gt;
** '''delayed_variable_substitution ''' (boolean yes|no, default: yes): If no, forces a variable substitution run onto the wml included in this [command] block. Use this, if you want variables which are to substitute to get the values they have at execution time of the event where this set_menu_item appears. Other than that, they get the values they have at invocation time of the menu item.&lt;br /&gt;
&lt;br /&gt;
== [clear_menu_item] ==&lt;br /&gt;
&lt;br /&gt;
Removes a menu item from the scenario.&lt;br /&gt;
Normally menu items are, including all their defining wml, automatically carried over between scenarios. This tag prevents this. (The behavior is comparable to set_variable/clear_variable).&lt;br /&gt;
* '''id''': (string): id of the menu item to clear. Can be a comma-separated list.&lt;br /&gt;
&lt;br /&gt;
== Other interface tags ==&lt;br /&gt;
&lt;br /&gt;
The following tags are also action tags:&lt;br /&gt;
&lt;br /&gt;
=== [change_theme] ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|8}}&lt;br /&gt;
&lt;br /&gt;
Change the current interface theme.&lt;br /&gt;
&lt;br /&gt;
* '''theme''': The ID of the new theme. Use &amp;lt;code&amp;gt;theme=&amp;lt;/code&amp;gt; (empty key) to switch back to the theme that the player has selected in Preferences. On &amp;lt;b&amp;gt;1.14.2&amp;lt;/b&amp;gt; and later it is also possible to omit the key entirely to achieve the same effect (on previous versions this will crash the Lua engine).&lt;br /&gt;
&lt;br /&gt;
=== [item] ===&lt;br /&gt;
Makes a graphical item appear on a certain hex. Note this only places the graphics for an item. It does not make the item do anything. Use a moveto event to make moving onto the item do something. &amp;lt;tt&amp;gt;''('''Hint:''' There are a number of predefined items that are used in various campaigns that you can make use of. You can find [http://www.wesnoth.org/macro-reference.xhtml#file:items.cfg a list of them] if you look into the items.cfg file in the wesnoth install directory (under /data/core/macros).)''&amp;lt;/tt&amp;gt;&lt;br /&gt;
* '''x''', '''y''': the location to place the item. (only for [event][item]: full [[StandardLocationFilter|SLF]] support)&lt;br /&gt;
* '''image''': the image (in ''images/'' as .png) to place on the hex. This image is aligned with the top-left of the hex (which is 72 pixels wide and 72 pixels tall). It is drawn underneath units. ''('''Hint:''' If using an image smaller than 72x72, then it might be useful to [[ImagePathFunctions#Blit_Function|BLIT]] the image onto &amp;lt;tt&amp;gt;misc/blank-hex.png&amp;lt;/tt&amp;gt; (a blank 72x72 image).)''&lt;br /&gt;
* '''halo''': an image to place centered on the hex. It is drawn on top of units. Use this instead of ''image'' if the image is bigger than the hex or if you want to animate an image (https://github.com/wesnoth/wesnoth/issues/1219).&lt;br /&gt;
* '''name''' an id that can be used to remove the item.&lt;br /&gt;
''Example (where the integer after the colon is the duration of each frame or square bracket expansion as per AnimationWML is used): halo=scenery/fire1.png:100,scenery/fire2.png:100,scenery/fire3.png:100,scenery/fire4.png:100,scenery/fire5.png:100,scenery/fire6.png:100,scenery/fire7.png:100,scenery/fire8.png:100''&lt;br /&gt;
or equivalently (requires Wesnoth 1.11.2+):&lt;br /&gt;
''halo=scenery/fire[1~8].png:100''&lt;br /&gt;
* '''team_name''': name of the team for which the item is to be displayed (hidden for others). For multiple teams just put all the names in one string, for example separated by commas. {{DevFeature1.15|0}} In 1.14 the '''[side]team_name''' attribute was expected to be a substring of this '''team_name'''. In 1.15 both are expected to be comma-separated lists of names and the item is visible if the lists intersect. ([[https://github.com/wesnoth/wesnoth/pull/3533|#3533]])&lt;br /&gt;
* '''visible_in_fog''': whether the item should be visible through fog or not. Default yes.&lt;br /&gt;
* '''redraw''': (boolean yes|no, default: yes): If no, disables implicit calls to [[InterfaceActionsWML#.5Bredraw.5D|[redraw]]] when placing the items.&lt;br /&gt;
* '''[filter_team]''': {{DevFeature1.15|0}} A [[StandardSideFilter]]. Set '''team_name''' to the union of all '''[side]team_name''' attributes of all sides that match the SSF. ([[https://github.com/wesnoth/wesnoth/pull/3533|#3533]])&lt;br /&gt;
* {{DevFeature1.15|0}} If both '''team_name''' and '''[filter_team]''' are set, '''team_name''' is ignored.&lt;br /&gt;
&lt;br /&gt;
=== [remove_item] ===&lt;br /&gt;
Removes any graphical items on a given hex.&lt;br /&gt;
* [[StandardLocationFilter]]: the hexes to remove items from&lt;br /&gt;
* '''image''': if specified, only removes the given item if one of its 'image', 'halo' or 'name' attributes is exactly this value. (for 'halo' and 'image' this in particular means that the image name must include any [[ImagePathFunctions|image path functions]] appended to the original image name.)&lt;br /&gt;
&lt;br /&gt;
=== [print] ===&lt;br /&gt;
Displays a message across the screen. The message will disappear after a certain time, or when another [print] tag is encountered.&lt;br /&gt;
* '''text''': (translatable) the text to display. Can be an empty string to remove a previous message without showing a new one.&lt;br /&gt;
* '''size''': (default=12) the pointsize of the font to use&lt;br /&gt;
* '''duration''': the length of time to display the text for.&lt;br /&gt;
** (Before 1.15.4) This is measured in the number of 'frames', and the default is 50. A frame in Wesnoth is usually displayed for around 30ms.&lt;br /&gt;
** {{DevFeature1.15|4}} This is measured in milliseconds. Don't use the default value, because it's a mere 50ms.&lt;br /&gt;
** {{DevFeature1.15|14}} The default is 5000 milliseconds.&lt;br /&gt;
** {{DevFeature1.15|14}} The string '''unlimited''' displays the text until it's removed by another [print] tag.&lt;br /&gt;
* '''color''': (default '''0,0,0''') three comma-separated values giving the red, green and blue values (0-255).&lt;br /&gt;
* '''red''', '''green''', '''blue''': deprecated, use color=0,0,0 instead.&lt;br /&gt;
&lt;br /&gt;
=== [move_unit_fake] ===&lt;br /&gt;
Moves an image of a unit along a certain path on the map. The path does not need to be a continuous list of adjacent hexes, so for example only the start and end points can be given, in which case the straightest line between those points will be calculated and used.&lt;br /&gt;
* '''type''': the type of the unit whose image to use&lt;br /&gt;
* '''x''': a comma-separated list of x locations to move along&lt;br /&gt;
* '''y''': a comma-separated list of y locations to move along (x and y values are matched pairs)&lt;br /&gt;
* '''side''': the side of the fake unit, used for team-coloring the fake unit&lt;br /&gt;
* '''gender''': the gender of the fake unit. Example: gender=female&lt;br /&gt;
* '''variation''': the variation of the fake unit. Example: variation=undead&lt;br /&gt;
* '''image_mods''': [[ImagePathFunctions|image path functions]] sequence to be applied on the fake unit.&lt;br /&gt;
* '''force_scroll''':  Whether to scroll the map or not even when [[#.5Block_view.5D|[lock_view]]] is in effect or ''Follow Unit Actions'' is disabled in ''Advanced Preferences''. Defaults to ''yes'' starting with version '''1.11.6'''; the attribute did not exist in previous versions and this action behaved as if ''no'' was passed instead.&lt;br /&gt;
&lt;br /&gt;
=== [move_units_fake] ===&lt;br /&gt;
moves multiple images of units along paths on the map. These units are moved in lockstep.&lt;br /&gt;
* '''force_scroll''': {{DevFeature1.15|0}} Has the same meaning as in [move_unit_fake] but a different default.&lt;br /&gt;
* '''[fake_unit]''': A fake unit to move&lt;br /&gt;
** '''type''': the type of unit whose image to use&lt;br /&gt;
** '''x''': a comma-separated list of x locations to move along&lt;br /&gt;
** '''y''': a comma-separated list of y locations to move along (x and y values are matched pairs)&lt;br /&gt;
** '''side''': the side of the fake unit, used for team-coloring the fake unit&lt;br /&gt;
** '''skip_steps''': the number of steps to skip before this unit starts moving&lt;br /&gt;
&lt;br /&gt;
=== [hide_unit] ===&lt;br /&gt;
Temporarily prevents the engine from displaying the given unit. The unit does not become invisible, as it would be with the '''[hides]''' ability; it is still the same plain unit, but without an image. Useful in conjunction with '''[move_unit_fake]''': to move a leader unit into position on-screen. Until 1.8 each '''[hide_unit]''' tag only hides one unit.&lt;br /&gt;
* [[StandardUnitFilter]]: All matching units will be hidden&lt;br /&gt;
&lt;br /&gt;
=== [unhide_unit] ===&lt;br /&gt;
Stops the currently hidden units from being hidden.&lt;br /&gt;
* [[StandardUnitFilter]]: Only the matching units will be unhidden&lt;br /&gt;
&lt;br /&gt;
=== [lock_view] ===&lt;br /&gt;
Locks gamemap view scrolling for human players, so they cannot scroll the gamemap view until it is unlocked. WML or Lua actions such as '''[scroll_to]''' will continue to work normally, as they ignore this restriction; the locked/unlocked state is preserved when saving the current game.&lt;br /&gt;
&lt;br /&gt;
This feature is generally intended to be used in cutscenes to prevent the player scrolling away from scripted actions.&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|8}} This now also blocks the player from zooming the gamemap view. WML or Lua zoom will continue to work normally.&lt;br /&gt;
&lt;br /&gt;
=== [unlock_view] ===&lt;br /&gt;
Unlocks gamemap view scrolling for human players.&lt;br /&gt;
&lt;br /&gt;
=== [scroll] ===&lt;br /&gt;
Scroll a certain number of pixels in a given direction. Useful for earthquake/shaking effects.&lt;br /&gt;
* '''x''', '''y''': the number of pixels to scroll along the x and y axis&lt;br /&gt;
* '''side''': the side or sides for which this should happen. By default, the [scroll] happens for everyone.&lt;br /&gt;
* '''[filter_side]''': a [[StandardSideFilter]] to select the sides for which this should happen. By default, the [scroll] happens for everyone.&lt;br /&gt;
&lt;br /&gt;
=== [scroll_to] ===&lt;br /&gt;
Scroll to a given hex&lt;br /&gt;
* [[StandardLocationFilter]], do not use a [filter_location] sub-tag. If more than one location matches the filter, only the first matching location will be used.&lt;br /&gt;
* '''check_fogged''': whether to scroll even to locations covered in fog or shroud. Possible values ''yes'' (don't scroll to fog) and ''no'' (scroll even to fog), with ''no'' as the default.&lt;br /&gt;
* '''immediate''': whether to instantly warp to the target hex regardless of the scroll speed setting in Preferences (defaults to ''no'').&lt;br /&gt;
* '''highlight''': {{DevFeature1.13|5}} Whether to highlight the hex being scrolled to (defaults to ''no'').&lt;br /&gt;
* '''side''': the side or sides for which this should happen. By default, the [scroll_to] happens for everyone.&lt;br /&gt;
* '''[filter_side]''': a [[StandardSideFilter]] to select the sides for which this should happen. By default, the [scroll_to] happens for everyone.&lt;br /&gt;
&lt;br /&gt;
=== [scroll_to_unit] ===&lt;br /&gt;
Scroll to a given unit&lt;br /&gt;
* [[StandardUnitFilter]]&lt;br /&gt;
* '''check_fogged''': whether to scroll even to locations covered in fog or shroud. Possible values ''yes'' (don't scroll to fog) and ''no'' (scroll even to fog), with ''no'' as the default.&lt;br /&gt;
* '''immediate''': whether to instantly warp to the target hex regardless of the scroll speed setting in Preferences (defaults to ''no'').&lt;br /&gt;
* '''highlight''': {{DevFeature1.13|5}} Whether to highlight the hex the unit is on (defaults to ''no'').&lt;br /&gt;
* '''for_side''': the side or sides for which this should happen. By default, the [scroll_to_unit] happens for everyone.&lt;br /&gt;
* '''[for_side]''': a [[StandardSideFilter]] to select the sides for which this should happen. By default, the [scroll_to_unit] happens for everyone.&lt;br /&gt;
&lt;br /&gt;
=== [select_unit] ===&lt;br /&gt;
Selects a given unit.&lt;br /&gt;
* [[StandardUnitFilter]]: The first unit found will be selected.&lt;br /&gt;
* '''fire_event''': whether a ''select'' event should be triggered or not (def. ''no''). (Note that select events aren't multiplayer save.)&lt;br /&gt;
* '''highlight''': whether the unit's current hex should be highlighted (def. ''yes'').&lt;br /&gt;
&lt;br /&gt;
'''Note:''' fire_event does not appear to work in 1.14 or 1.16.&lt;br /&gt;
&lt;br /&gt;
=== [sound]===&lt;br /&gt;
Plays a sound&lt;br /&gt;
* '''name''': the filename of the sound to play (in ''sounds/'' as .wav or .ogg). This can be a comma-separated list, from which one sound will be chosen randomly.&lt;br /&gt;
* '''repeat''': repeats the sound for a specified additional number of times (default=0)&lt;br /&gt;
&lt;br /&gt;
=== [sound_source] ===&lt;br /&gt;
Creates a sound source. &amp;quot;Sound sources&amp;quot; is a general name for a mechanism which makes possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain types. For now, only sound sources tied to locations are supported.&lt;br /&gt;
* '''id''': a unique identification key of the sound source&lt;br /&gt;
* '''sounds''': a list of comma separated, randomly played sounds associated with the sound source&lt;br /&gt;
* '''delay''': a numerical value (in milliseconds) of the minimal delay between two playbacks of the source's sound if the source remains visible on the screen; if one scrolls out and back in, the source will be considered as ready to play&lt;br /&gt;
* '''chance''': a percentage (a value from 0 to 100) describing the chance of the source being activated every second after the delay has passed or when the source's location appears on the screen (note that it cannot play more than one file at the same time)&lt;br /&gt;
* '''check_fogged''': possible values ''yes'' and ''no'' - ''yes'' means the source will not play if its locations are fogged&lt;br /&gt;
* '''check_shrouded''': possible values ''yes'' and ''no'' - ''yes'' means the source will not play if its locations are shrouded&lt;br /&gt;
* '''x,y''': similar to x,y as found in a [[StandardLocationFilter]], these are the locations associated with the sound source&lt;br /&gt;
* '''fade_range''' (default = 3): distance in hexes that determines a &amp;quot;circular&amp;quot; area around the one specified by '''full_range''' where sound volume fades out linearly&lt;br /&gt;
* '''full_range''' (default = 14): distance in hexes that determines a &amp;quot;circular&amp;quot; area where source plays with full volume, relative to screen center&lt;br /&gt;
* '''loop''': number of times a sound sample should be looped if it stays visible. -1 means infinite (~65000)&lt;br /&gt;
&lt;br /&gt;
=== [story] ===&lt;br /&gt;
{{DevFeature1.13|8}}&lt;br /&gt;
&lt;br /&gt;
Shows the story screen.&lt;br /&gt;
* '''title''': Default title used if a part does not specify one — unlike the intro storyscreen, the scenario name is not used as a default title.&lt;br /&gt;
* '''[part]''': As [[IntroWML]].&lt;br /&gt;
&lt;br /&gt;
=== [remove_sound_source] ===&lt;br /&gt;
Removes a previously defined sound source.&lt;br /&gt;
* '''id''': the identification key of the sound source to remove&lt;br /&gt;
&lt;br /&gt;
=== [music] ===&lt;br /&gt;
Switches to playing different music&lt;br /&gt;
* '''name''': the filename of the music to play (in ''music/'' as .ogg)&lt;br /&gt;
* see [[MusicListWML]] for the correct syntax&lt;br /&gt;
&lt;br /&gt;
=== [volume] ===&lt;br /&gt;
Changes the game volume to a percent of the preferences volume for the game being played. Values can go from 0 to 100:  &lt;br /&gt;
* '''music''':  Changes the music volume.&lt;br /&gt;
* '''sound''':  Changes the sound volume.&lt;br /&gt;
&lt;br /&gt;
=== [color_adjust] ===&lt;br /&gt;
Adjust the color tint of terrain, by adjusting time-of-day coloring.&lt;br /&gt;
* '''red''', '''green''', '''blue''': values from -255 to 255, the amount to tint by for each color&lt;br /&gt;
&lt;br /&gt;
=== [screen_fade] ===&lt;br /&gt;
{{DevFeature1.17|6}}&lt;br /&gt;
&lt;br /&gt;
Overlay the game display with the given color, fading over the specified duration. This can be used for screen fade effects.&lt;br /&gt;
* '''red''', '''green''', '''blue''': values from 0 to 255, the final overlay color (defaults to 0,0,0)&lt;br /&gt;
* '''alpha''': value from 0 to 255, the strength of the effect. 0 means no effect and can be used to fade in. 255 means fully opaque and can be used to fully fade out to the given color. Intermediate values will end up with a partial overlay tint on the game screen.&lt;br /&gt;
* '''duration''': the length of time it will take to complete the fade, in milliseconds. If 0 the effect is immediate.&lt;br /&gt;
&lt;br /&gt;
=== [delay] ===&lt;br /&gt;
Pauses the game.&lt;br /&gt;
* '''time''': the time to pause in milliseconds&lt;br /&gt;
* '''accelerate ''' (boolean yes|no, default no): {{DevFeature1.13|0}} whether the delay is affected by acceleration. When [delay] is used to make an animation, this should be set to yes so that your animation matches the ones generated by the game.&lt;br /&gt;
&lt;br /&gt;
=== [redraw] ===&lt;br /&gt;
Redraws the screen (this normally isn't done during events, although some of the other interface actions cause the screen or parts of it to be redrawn).&lt;br /&gt;
* '''clear_shroud''' (boolean yes|no, default no): If yes, clears fog and shroud around existing units. Useful if you, for example, spawn friendly units in the middle of an event and want the shroud to update accordingly (otherwise units that spawn inside fog would remain invisible for the duration of the event, since the fog would not automatically get cleared around them).&lt;br /&gt;
* '''[[StandardSideFilter]]''': the sides for which to recalculate fog and shroud.&lt;br /&gt;
* '''side''': If used (forces clear_shroud=yes), clears fog and shroud for that side.&lt;br /&gt;
&lt;br /&gt;
=== [unit_overlay] ===&lt;br /&gt;
Sets an image that will be drawn over a particular unit, and follow it around&lt;br /&gt;
* [[StandardUnitFilter]]: All matching units will get the overlay (do not use [filter])&lt;br /&gt;
* '''image''': the image to place on the unit&lt;br /&gt;
&lt;br /&gt;
=== [remove_unit_overlay] ===&lt;br /&gt;
Removes a particular overlayed image from a unit&lt;br /&gt;
* [[StandardUnitFilter]]: The overlay will get removed from all matching units (do not use [filter])&lt;br /&gt;
* '''image''': the image to remove from the unit&lt;br /&gt;
Using [[DirectActionsWML#.5Bremove_object.5D|'''[remove_object]''']] is also possible, see https://github.com/wesnoth/wesnoth/commit/26c2f941f2bcdd89528481e114c0375ad2a46271&lt;br /&gt;
&lt;br /&gt;
=== [animate_unit] ===&lt;br /&gt;
Uses an animation of a unit to animate it on screen (if the unit has the corresponding animation).&lt;br /&gt;
* '''flag''': The key to find the custom animation in the unit description (see the '''[extra_anim]''' description in [[AnimationWML]]). Standard animations can be triggered with the following keywords: ''leading recruited standing idling levelout levelin healing healed poisoned movement defend attack death victory pre_teleport post_teleport''&lt;br /&gt;
* '''[filter]''' with a [[StandardUnitFilter]] as argument, see [[FilterWML]]. By default, the unit at the event location will be animated. You can use this tag to choose any other unit to animate.&lt;br /&gt;
* '''[primary_attack]''': If this tag is not present, the filter for animation will be triggered with no attack. If it is here, all attacks from the unit will be filtered, and a matching one will be used to filter the animation. Takes a weapon filter as argument, see [[FilterWML]].&lt;br /&gt;
* '''[secondary_attack]''': Similar to '''[primary_attack]'''. May be needed to trigger a defense animation correctly, if there are more than one animations available for the defending unit.&lt;br /&gt;
* '''hits''': yes/no/hit/miss/kill: which according variation of a attack/defense animation shall be chosen (required)&lt;br /&gt;
* '''text''': a text to hover during the animation &lt;br /&gt;
* '''male_text''', '''female_text''': {{DevFeature1.13|2}} (translatable) gender-specific versions of the above&lt;br /&gt;
* '''red''': red value for the text color (0-255)&lt;br /&gt;
* '''green''': green value for the text color&lt;br /&gt;
* '''blue''': blue value for the text color&lt;br /&gt;
* '''with_bars''': yes/no: whether to display the status bars during the animation (e.g. the hitpoint bar)&lt;br /&gt;
* '''[animate]''': a sub block with the same syntax as '''[animate_unit]''' except that the '''[filter]''' block is mandatory to find the unit. This block will find and animate another unit simultaneously.&lt;br /&gt;
* '''[facing]''': a [[StandardLocationFilter]] specifying what direction the unit should be facing when animated&lt;br /&gt;
&lt;br /&gt;
=== [label] ===&lt;br /&gt;
Places a label on the map.&lt;br /&gt;
* '''x''', '''y''': the location of the label. {{DevFeature1.13|1}} (only for [event][label]: full [[StandardLocationFilter|SLF]] support)&lt;br /&gt;
* '''text''': what the label should say&lt;br /&gt;
* '''team_name''': if specified, the label will only be visible to the given team.&lt;br /&gt;
* '''color''': color of the label. The format is r,g,b; r, g and b are numbers between 0 and 255.&lt;br /&gt;
* '''visible_in_fog''': whether the label should be visible through fog or not. Default yes.&lt;br /&gt;
* '''visible_in_shroud''': whether the label should be visible through shroud or not. Default no.&lt;br /&gt;
* '''immutable''': whether this label is protected from being removed or changed by players. Default yes.&lt;br /&gt;
* '''category''': the Show/Hide Labels dialog allows showing/hiding all labels of a given category by toggling a checkbox.&lt;br /&gt;
* '''tooltip''': A tooltip visible when mouseovering the hex the label is on&lt;br /&gt;
* '''side''': the number of the side that placed the label. Can be 0 for labels placed by WML.&lt;br /&gt;
&lt;br /&gt;
=== [floating_text]===&lt;br /&gt;
Floats text (similar to the damage and healing numbers) on the given locations.&lt;br /&gt;
* [[StandardLocationFilter]]: the text will be floated on all matching locations simultaneously.&lt;br /&gt;
* '''text''': the text to display.&lt;br /&gt;
&lt;br /&gt;
The default text color is &amp;lt;span style=&amp;quot;color: #6b8cff;&amp;quot;&amp;gt;'''#6b8cff'''&amp;lt;/span&amp;gt;. To change the color, use [[#Formatting|Pango markup]]. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Float some golden yellow text at 20,20.&lt;br /&gt;
[floating_text]&lt;br /&gt;
   x,y=20,20&lt;br /&gt;
   text=&amp;quot;&amp;lt;span color='#cccc33'&amp;gt;&amp;quot; + _ &amp;quot;Your text here&amp;quot; + &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
[/floating_text]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [deprecated_message] ===&lt;br /&gt;
Shows a deprecated message in the message area, this feature is only intended to be used to warn about deprecated macros in mainline. The message is not translatable.&lt;br /&gt;
* '''message''': the message to show.&lt;br /&gt;
* '''level''': {{DevFeature1.13|10}} The deprecation level, a number from 1 to 3.&lt;br /&gt;
* '''what''': {{DevFeature1.13|10}} The name of the thing being deprecated. Use this instead of '''message''' if possible; a stock message will be generated from it. Use '''message''' only if more information is required; it will be appended to the stock message. This should not be translatable&lt;br /&gt;
* '''version''': {{DevFeature1.13|10}} For deprecation levels 2 and 3, this indicates the version in which the feature could be removed. It does ''not'' indicate the version in which it became deprecated. &lt;br /&gt;
&lt;br /&gt;
The meanings of the deprecation levels are as follows:&lt;br /&gt;
&lt;br /&gt;
# Deprecated, but will only be removed if absolutely necessary. The '''version''' key is ignored.&lt;br /&gt;
# It will be removed no earlier than a specified version.&lt;br /&gt;
# It will be removed in the next stable version&lt;br /&gt;
# It has already been removed, leaving just a stub to inform users of how to update their code.&lt;br /&gt;
&lt;br /&gt;
Note that as of 1.13.11, deprecation messages show only in the log, not in the chat message area. The '''message''' can be translatable, but does not need to be.&lt;br /&gt;
&lt;br /&gt;
=== [wml_message] ===&lt;br /&gt;
Outputs a message to Wesnoth's console output. Intended for campaign designers to output silent text to the console, without annoying the player; then, that text might contain information useful for later bug-reporting. The log domain for it is '''wml''', and the '''debug/dbg''' log level is available for use with the '''logger''' attribute. Depending on the current log level ('''error''' by default), which may be changed with the in-game :log command, or the --log-&amp;lt;level&amp;gt;=wml command line switch, the messages are echoed to the in-game chat.&lt;br /&gt;
* '''message''': the message to show.&lt;br /&gt;
* '''logger''': the Wesnoth engine output logger that should catch the text; this might be 'err' (the errors log level), 'warn'/'wrn' (the warnings log level) or anything else (the information log level). Not all information will be displayed depending on the log level chosen when starting Wesnoth.&lt;br /&gt;
&lt;br /&gt;
Note: As of 1.9.4/1.9.5 (r48805) the following &amp;quot;loggers&amp;quot; should work: If in [wml_message]: err/error, warn/wrn/warning, debug/dbg; using the :log command: Only the long forms error, warning, info and debug (this part gathered by trying rather than source inspecting). The long forms are most likely also the only ones working when starting wesnoth with --log-&amp;lt;level&amp;gt;=wml.&lt;br /&gt;
For log level warning or error (as during normal play), only wml_messages with logger error or warning display (for both). With logger info or debug, additionally wml_messages with logger info or debug display (for both).&lt;br /&gt;
&lt;br /&gt;
=== [test_condition] ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|2}}&lt;br /&gt;
&lt;br /&gt;
Evaluates the contained conditional tags. If they evaluate to the expected value, it prints out a message to the console explaining which part of the condition caused this result in a way similar to [wml_message]. This can be used if your conditional test is failing and you're not sure why.&lt;br /&gt;
&lt;br /&gt;
* '''result''': Whether you expect the conditions to fail or succeed. If no (the default), a message will be printed if the conditional tags fail. If yes, a message will instead be printed if the conditional tags pass.&lt;br /&gt;
* '''logger''': Same as for [wml_message]. Defaults to &amp;quot;warning&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== [open_help] ===&lt;br /&gt;
Opens the in-game help.&lt;br /&gt;
* '''topic''': the id of the topic to open&lt;br /&gt;
&lt;br /&gt;
Examples of ids:&lt;br /&gt;
* unit_Mage&lt;br /&gt;
* unit_Dark Adept&lt;br /&gt;
* weaponspecial_charge&lt;br /&gt;
* terrain_human_castle&lt;br /&gt;
&lt;br /&gt;
The engine will print the topic ids if run from the command line with the ''--log-debug=help'' option.&lt;br /&gt;
&lt;br /&gt;
=== [show_objectives] ===&lt;br /&gt;
refreshes the objectives defined by [objectives] and its [show_if] tags, and displays them. (It is also called whenever the user explicitly asks for the objectives; this matters only if the tag was overridden by a [[LuaWML#register_wml_action|Lua]] script.)&lt;br /&gt;
* '''side''': the side to show the objectives. If not set, all sides are used.&lt;br /&gt;
* '''[[StandardSideFilter]]''' tags and keys: Tag affects the matching sides instead of just all or the one given by the integer value of the side= key.&lt;br /&gt;
&lt;br /&gt;
=== [chat] ===&lt;br /&gt;
Displays a message in the chat area, not visible for observers. Alternative unconditionally visible for everyone: [[LuaWML:Display#wesnoth.message]]. {{DevFeature1.13|9}} can be visible for observers.&lt;br /&gt;
* '''speaker''': (default=&amp;quot;WML&amp;quot;) A string for the name of the sender of the message.&lt;br /&gt;
* '''message''': The message that should be displayed.&lt;br /&gt;
* '''observable''' (boolean yes|no, default yes): {{DevFeature1.13|9}} Whether the message is displayed for observers.&lt;br /&gt;
* '''[[StandardSideFilter]]''' tags and keys as argument; if the same client controls multiple sides that match, then the message will only be displayed once.&lt;br /&gt;
&lt;br /&gt;
=== [zoom] ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|8}}&lt;br /&gt;
&lt;br /&gt;
Changes the zoom level of the map.&lt;br /&gt;
&lt;br /&gt;
* '''factor''': The new zoom factor&lt;br /&gt;
* '''relative''': If yes, zoom relative to current zoom level. Otherwise, set the absolute zoom level. Default no.&lt;br /&gt;
&lt;br /&gt;
== Useful Macros ==&lt;br /&gt;
There are some predefined macros that you find useful for interface actions. You can find a complete list along with a detailed explanation of how they work [http://www.wesnoth.org/macro-reference.xhtml here].&lt;br /&gt;
* '''{HIGHLIGHT_UNIT}''' Highlight a unit on the map. Use this to show important units&lt;br /&gt;
* '''{HIGHLIGHT_IMAGE}''' Places and highlights an image on the map. Use this to show important items or locations&lt;br /&gt;
* '''{SET_IMAGE}''' Places an image on the map which has no other function.&lt;br /&gt;
* '''{QUAKE &amp;lt;soundfile&amp;gt;}''' Creates a tremor-like screenshake and plays &amp;lt;soundfile&amp;gt;. For example, '''{QUAKE (rumble.ogg)}'''.&lt;br /&gt;
* '''{FLASH_WHITE}''' Flash the screen white momentarily. You can also replace WHITE with RED, BLUE or GREEN for a different colour.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[DirectActionsWML]]&lt;br /&gt;
* [[InternalActionsWML]]&lt;br /&gt;
* [[EventWML]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;br /&gt;
[[Category: ActionsWML]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ImagePathFunctions&amp;diff=69610</id>
		<title>ImagePathFunctions</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ImagePathFunctions&amp;diff=69610"/>
		<updated>2022-06-05T07:17:34Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* BLIT: Blit function */ Negative coordinates work fine.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Image Path Functions provide a simple method for WML coders to alter the way their specified images will be displayed in the game. All of the function parameters are included at the end of an image path and should not contain any spaces or special characters (other than those specified here).&lt;br /&gt;
&lt;br /&gt;
If you need to practice it without having to reload all WML, you can use an add-on named ''Image loading tester''.  It is available on the 1.9, 1.10, 1.11, 1.12 and 1.14 add-on servers.&lt;br /&gt;
&lt;br /&gt;
All functions are applied in left-to-right order, with the exception of RC(), TC() and PAL() which are applied always before any other functions. Standard team coloring for a unit is applied after all custom RC(), TC() and PAL() functions but before any other functions.&lt;br /&gt;
That is, stuff like&lt;br /&gt;
 &amp;quot;units/elves-wood/fighter.png~CROP(20,20,40,40)~CROP(10,10,10,10)&amp;quot;&lt;br /&gt;
would result in taking a crop to a 40x40 rectangle whose top-left corner is x=20, y=20; and then taking a crop from ''that'' rectangle with x=10, y=10, w=10, h=10. The result is the area x=30, y=30, w=10, h=10 from the original graphic.&lt;br /&gt;
&lt;br /&gt;
== Changing the colors ==&lt;br /&gt;
&lt;br /&gt;
=== BLEND: Color-blend function ===&lt;br /&gt;
Blends the image with the given color to produce a more controlled tinting effect than color-shifting, independently of the image's contents.&lt;br /&gt;
&lt;br /&gt;
'''~BLEND(r,g,b,o)'''&lt;br /&gt;
&lt;br /&gt;
The color is defined by the ''r'', ''g'', and ''b'' parameters (integers ranging from 0 to 255). The ''o'' (opacity) parameter controls the amount by which the given color will be blended into the image, and may be specified either as a factor from 0.0 to 1.0, or percentage up to 100%. Thus, ~BLEND(r,g,b,0.5) and ~BLEND(r,g,b,50%) are equivalent.&lt;br /&gt;
&lt;br /&gt;
=== BW: Black and White function ===&lt;br /&gt;
{{devfeature1.13|1}}&lt;br /&gt;
May be used to convert the image to pure black and white, without grey pixels. &lt;br /&gt;
&lt;br /&gt;
'''~BW(threshold)'''&lt;br /&gt;
* ''threshold'': a value between 0 and 255 (both limits included). All pixels are converted as greyscale first, and if their average value is greater than the threshold they become white, otherwise they become black.&lt;br /&gt;
&lt;br /&gt;
=== CS: Color-shift function ===&lt;br /&gt;
Performs simple per-channel color shifts by adding the arguments to the respective color channels.&lt;br /&gt;
&lt;br /&gt;
''Multi-channel:'' '''~CS(r,g,b)'''&lt;br /&gt;
''Single-channel:'' '''~R(v)''', '''~G(v)''', '''~B(v)'''&lt;br /&gt;
&lt;br /&gt;
The multichannel syntax assumes all arguments are set to zero initially, so one can use, e.g. ~CS(2,4) to add +2 and +4 units to the red and green channels respectively, leaving the blue channel intact. Arguments may be negative to diminish a channel's value; this can be used to change an image's brightness. Checks for out-of-range arguments or results (less than 0 or greater than 255) are made, so the resultant values are truncated if necessary.&lt;br /&gt;
&lt;br /&gt;
The single channel syntax behaves exactly the same, except that only single-channel modifications are made per function. However, one can stack them to produce the same behavior as ~CS(), e.g. ~R(r)~G(g)~B(b), but that tends to be just a performance loss.&lt;br /&gt;
&lt;br /&gt;
=== GS: Greyscale function ===&lt;br /&gt;
May be used to greyscale the image (turn to black and white)&lt;br /&gt;
&lt;br /&gt;
'''~GS( )'''&lt;br /&gt;
&lt;br /&gt;
=== L: Lightmap color-shift function ===&lt;br /&gt;
Performs per-pixel and per-channel color shifts using another image (a &amp;quot;lightmap&amp;quot;) as source, allowing to create textured light effects.&lt;br /&gt;
&lt;br /&gt;
'''~L(lightmap)'''&lt;br /&gt;
&lt;br /&gt;
For each pixel of the original image, it checks the RGB values from the corresponding pixel of the lightmap, slightly transform them, then add these values to the original pixel.&lt;br /&gt;
&lt;br /&gt;
The transformation involved is done to convert the (0,255) spectrum to (-255,255), allowing to add or subtract color. The formula is (x-128)*2, which means that 0 gives -256, 128 gives 0 and 255 gives 254. So, the no-effect lightmap is a fully grey image (RGB = 128,128,128) and any non-grey pixel will shift the colors of the original.&lt;br /&gt;
&lt;br /&gt;
Note that the lightmap will be scaled to the same dimensions as the original image.&lt;br /&gt;
&lt;br /&gt;
=== NEG: Negative function ===&lt;br /&gt;
{{devfeature1.13|0}}&lt;br /&gt;
Also known as ''invert'', it negates all the RGB values of the image, giving it an effect similar to a photographic negative.&lt;br /&gt;
&lt;br /&gt;
'''~NEG( )'''&lt;br /&gt;
&lt;br /&gt;
Inverts the image, giving it an effect like a photographic negative.&lt;br /&gt;
&lt;br /&gt;
{{devfeature1.13|1}} '''~NEG(''' ''threshold'' ''')'''&lt;br /&gt;
&lt;br /&gt;
If a channel has a value greater than the threshold, the channel will be inverted, performing an effect known as ''solarization''.&lt;br /&gt;
Threshold must be between -1 and 255, with -1 equivalent to full inversion and 255 as no-op value.&lt;br /&gt;
&lt;br /&gt;
{{devfeature1.13|1}} '''~NEG(''' ''threshold_red, threshold_green, threshold_blue'' ''')'''&lt;br /&gt;
&lt;br /&gt;
If a channel has a value greater than the corresponding threshold, the channel will be inverted.&lt;br /&gt;
Each threshold must be between -1 and 255, with -1 equivalent to full inversion and 255 as no-op value.&lt;br /&gt;
&lt;br /&gt;
=== PAL: Palette-switch function ===&lt;br /&gt;
May be used to change colors in an image following the specifications of a source and target (new) palette.&lt;br /&gt;
&lt;br /&gt;
'''~PAL(''' ''source color palette'' '''&amp;gt;''' ''target color palette'' ''')'''&lt;br /&gt;
*''source color palette'' - the first parameter is a source color palette, such as magenta. Do not surround this parameter with quotes.&lt;br /&gt;
*''target color palette'' - the new palette to take the place of the source colors in the image.&lt;br /&gt;
&lt;br /&gt;
=== RC: Re-Color function ===&lt;br /&gt;
May be used to change some colors in an image. It is possible to use ''RC'' more than once on the same image, with different source palettes.&lt;br /&gt;
&lt;br /&gt;
'''~RC(''' ''source color palette'' '''&amp;gt;''' ''destination color range'' ''')'''&lt;br /&gt;
&lt;br /&gt;
==== source color palette ====&lt;br /&gt;
The first parameter is a set of colors, usually the magenta palette. Do not surround this parameter with quotes. The three standard palettes are:&lt;br /&gt;
&lt;br /&gt;
* '''magenta''' - the 19 colors described in [[Team_Color_Shifting]]&lt;br /&gt;
* '''ellipse_red''' - all 255 colors with RGB value (n,0,0)&lt;br /&gt;
* '''flag_green''' - all 255 colors with RGB value (0,n,0)&lt;br /&gt;
&lt;br /&gt;
The palette can also be given inline as a set of hexadecimal RGB values.&lt;br /&gt;
&lt;br /&gt;
The named palettes are defined using the '''[[GameConfigWML#Color_Palettes|[color_palette]]]''' tag, and you can also define your own custom color palette using that tag.&lt;br /&gt;
&lt;br /&gt;
Warning: the RC function will also accept (and not give a warning about) '''red''', '''green''' and any other defined '''[color_range]'''; however the set of RGB values for those aren't guaranteed. Using '''red''' instead of '''ellipse_red''' might be equivalent to the palette 030000,060000,0a0000,...,ff0000,ff0a0a,...,fff0f0.&lt;br /&gt;
&lt;br /&gt;
==== destination color range ====&lt;br /&gt;
This is the second parameter, signifying the ID of a color range defined in the file [http://github.com/wesnoth/wesnoth/blob/master/data/core/team-colors.cfg data/core/team-colors.cfg] (or it may be a custom ID for a color range defined locally). You can also define a custom color range inline (the rgb key from [[GameConfigWML#Color_Palettes]]; note that RC does not use the fourth color for anything).&lt;br /&gt;
&lt;br /&gt;
For this destination color range, using '''red''' or '''green''' makes sense.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
In the following example, the magenta regions in an elvish captain's image are turned a healthy shade of green:&lt;br /&gt;
&lt;br /&gt;
  [message]&lt;br /&gt;
      speaker=narrator&lt;br /&gt;
      image=units/elves-wood/captain.png~RC(magenta&amp;gt;green)&lt;br /&gt;
      message=_ &amp;quot;Now I am on the green team.&amp;quot;&lt;br /&gt;
  [/message]&lt;br /&gt;
&lt;br /&gt;
The following example replaces a few of the '''magenta''' pixels with green ones:&lt;br /&gt;
&lt;br /&gt;
  misc/orb.png~RC(690039,c30074,ec008c &amp;gt; 007f00,00ff00,000000,000000)&lt;br /&gt;
&lt;br /&gt;
The IDs of the color ranges may be the lowercased English name of the palette's base color (e.g. 'red', 'brown', etc.). They may also be numeric color indices from the palette WML included with the game, but this is not recommended.&lt;br /&gt;
&lt;br /&gt;
=== SEPIA: Sepia function ===&lt;br /&gt;
{{devfeature1.13|0}}&lt;br /&gt;
May be used to give to the image a sepia tint (like in old pictures).&lt;br /&gt;
&lt;br /&gt;
'''~SEPIA()'''&lt;br /&gt;
&lt;br /&gt;
=== SWAP: Channel Swap function ===&lt;br /&gt;
{{devfeature1.13|1}}&lt;br /&gt;
May be used to swap the RGBA channels of an image.&lt;br /&gt;
&lt;br /&gt;
'''~SWAP(''' ''r, g, b'' ''')'''&lt;br /&gt;
'''~SWAP(''' ''r, g, b, a'' ''')'''&lt;br /&gt;
* ''r'', ''g'', ''b'', ''a'': each of these arguments may have a value equal to ''red'', ''green'', ''blue'' or ''alpha''. The RGBA channels of the original image will be exchanged accordingly (for example, &amp;lt;tt&amp;gt;~SWAP(blue,green,red)&amp;lt;/tt&amp;gt; swaps the blue and red channels).&lt;br /&gt;
&lt;br /&gt;
=== TC: Team-Color function ===&lt;br /&gt;
In Wesnoth version 1.2, the only Image Path Function was '''~TC()''', which took two comma-separated parameters: the team number and the source color palette. The valid values for both of these parameters are defined in the file ''data/team-colors.cfg''&lt;br /&gt;
&lt;br /&gt;
'''~TC(''' ''team number'' ''',''' ''source color palette'' ''')'''&lt;br /&gt;
*''team number'' - this is the first parameter, a number 1-9 signifying the team number of a unit. Number 1 typically means the red team, 2 typically means the blue team, and so on (unless the scenario color settings for any side have been altered).&lt;br /&gt;
*''source color palette'' - the second parameter is a source color palette, usually magenta. Do not surround this parameter with quotes.&lt;br /&gt;
&lt;br /&gt;
== Transformations ==&lt;br /&gt;
&lt;br /&gt;
=== FL: Flip function ===&lt;br /&gt;
May be used to flip an image horizontally and/or vertically.&lt;br /&gt;
&lt;br /&gt;
'''~FL(''' ''optional argument list'' ''')'''&lt;br /&gt;
*''vertical'' - if the string &amp;quot;vert&amp;quot; is found anywhere in the argument list, the image will be flipped vertically.&lt;br /&gt;
*''horizontal'' - if the string &amp;quot;horiz&amp;quot; is found anywhere in the argument list, the image will be flipped horizontally.&lt;br /&gt;
*if the argument list is empty, the image will only be flipped horizontally.&lt;br /&gt;
&lt;br /&gt;
=== ROTATE: Rotate function ===&lt;br /&gt;
May be used to rotate an image.&lt;br /&gt;
&lt;br /&gt;
'''~ROTATE(''' ''degrees'' ''')'''&lt;br /&gt;
* ''degrees'' - The number of degrees by which the image will be rotated. Positive numbers indicate clockwise rotation, while negative numbers indicate counter-clockwise. (Zero indicates no rotation.)&lt;br /&gt;
If the number of degrees is omitted, a quarter turn (90 degrees) clockwise is assumed.&lt;br /&gt;
&lt;br /&gt;
=== SCALE: Image-scaling function ===&lt;br /&gt;
Scales a graphic up or down.&lt;br /&gt;
&lt;br /&gt;
'''~SCALE( ''new_width'', ''new_height'' )&lt;br /&gt;
&lt;br /&gt;
The ''new_width'' and ''new_height'' parameters are taken as the image's original width or height, respectively, if one of them happens to be zero. Negative values are treated in the same way, but an error is printed in stderr. This uses the bilinear interpolation algorithm.&lt;br /&gt;
&lt;br /&gt;
=== SCALE_INTO function ===&lt;br /&gt;
{{DevFeature1.13|5}}&lt;br /&gt;
&lt;br /&gt;
Similar to SCALE, but preserves aspect aspect ratio, scaling to the minimum extent required to fit into the specified area. The resulting image will have the specified width or the specified height, but not necessarily both.&lt;br /&gt;
&lt;br /&gt;
=== SCALE_SHARP function ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|0}}&lt;br /&gt;
&lt;br /&gt;
Scales functions using a nearest neighbor algorithm. Specify width and height. (It has the same syntax as ~SCALE.)&lt;br /&gt;
&lt;br /&gt;
'''~SCALE_SHARP(200,300)'''&lt;br /&gt;
&lt;br /&gt;
=== SCALE_INTO_SHARP function ===&lt;br /&gt;
{{DevFeature1.13|5}}&lt;br /&gt;
&lt;br /&gt;
Like SCALE_INTO, but uses nearest neighbor algorithm instead of bilinear interpolation.&lt;br /&gt;
&lt;br /&gt;
=== XBRZ function ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|0}}&lt;br /&gt;
&lt;br /&gt;
Scales functions using the XBRZ algorithm. You may scale things up either 2x, 3x, 4x, or 5x. The scaling tries to preserve the pixel art nature.&lt;br /&gt;
&lt;br /&gt;
'''~XBRZ(n)'''&lt;br /&gt;
&lt;br /&gt;
== Cut-and-paste ==&lt;br /&gt;
&lt;br /&gt;
=== BLIT: Blit function ===&lt;br /&gt;
Blit the parameter image on the main image. Example: peasant.png~BLIT(hat.png,30,10)&lt;br /&gt;
&lt;br /&gt;
'''~BLIT(src,x,y)'''&lt;br /&gt;
* ''src'': an image file used as source for the blit, other image path functions can be used there.&lt;br /&gt;
* ''x'',''y'': top-left corner coordinates where to blit. If missing assume (0,0).&lt;br /&gt;
&lt;br /&gt;
=== CROP: Crop function ===&lt;br /&gt;
Extracts a rectangular section of an image file.&lt;br /&gt;
&lt;br /&gt;
'''~CROP(x,y,width,height)'''&lt;br /&gt;
* ''x'',''y'': top-left corner coordinates for the rectangular section extracted. Must be greater or equal than zero, and inside the image's bounds.&lt;br /&gt;
* ''width'': width of the selected region. Must be less than or equal to the original image's width, and must not be negative.&lt;br /&gt;
* ''height'': height of the selected region. Must be less than or equal to the original image's height, and must not be negative.&lt;br /&gt;
&lt;br /&gt;
=== MASK: Mask function ===&lt;br /&gt;
Remove parts of the main image using the parameter image as a mask. Example: grass.png~MASK(circle.png) will give a circle of grass.&lt;br /&gt;
&lt;br /&gt;
'''~MASK(mask,x,y)'''&lt;br /&gt;
* ''mask'': an image file used as mask, other image path functions can be used there.&lt;br /&gt;
* ''x'',''y'': top-left corner coordinates where to put the mask. Parts ouside of the mask are considered transparent. If missing assume (0,0).&lt;br /&gt;
&lt;br /&gt;
Only the alpha channel of the mask is used and each alpha value will be the maximum alpha of the resulting image. This means that the fully-transparent parts of the mask will erase the corresponding parts of the image, but also that a semi-transparent mask will create a semi-transparent image. &lt;br /&gt;
&lt;br /&gt;
== Opacity ==&lt;br /&gt;
&lt;br /&gt;
=== ADJUST_ALPHA ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|?}}&lt;br /&gt;
&lt;br /&gt;
Alters the alpha of the image according to a WFL formula. The formula must output an integer from 0 to 255 giving the alpha across the canvas. It is evaluated for every pixel and may use the following variables: x, y, red, green, blue, alpha, width, height. {{DevFeature1.15|0}} The variables u and v are also supported now, evaluating to normalized texture coordinates (in the range 0..1); these are equivalent to &amp;lt;tt&amp;gt;x/width&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;y/height&amp;lt;/tt&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
'''~ADJUST_ALPHA(formula)'''.&lt;br /&gt;
&lt;br /&gt;
The context object for the formula is a '''[[#CHAN:_General_function|pixel object]]'''.&lt;br /&gt;
&lt;br /&gt;
=== O: Opacity modifying function ===&lt;br /&gt;
Changes an image's opacity at render time.&lt;br /&gt;
&lt;br /&gt;
'''~O( ''factor or percentage%'' )'''&lt;br /&gt;
&lt;br /&gt;
If the argument includes the percentage symbol (''%''), it will be treated as a percentage of full (real) opacity; an image will be displayed at its native opacity with ~O(100%).&lt;br /&gt;
&lt;br /&gt;
Without the percentage symbol, the argument is assumed to be a factor by which the image's native opacity should be multiplied. Thus, ~O(0.5) and ~O(50%) are equivalent forms of specifying to reduce an image's opacity by half.&lt;br /&gt;
&lt;br /&gt;
=== PLOT_ALPHA ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|0}}&lt;br /&gt;
&lt;br /&gt;
At each pixel, the color is replaced with a grey-tone reflecting the alpha value at that pixel, and the new image is fully opaque. Useful for plotting the alpha to help debug an IPF or inspect a sprite.&lt;br /&gt;
&lt;br /&gt;
'''~PLOT_ALPHA()'''&lt;br /&gt;
&lt;br /&gt;
=== WIPE_ALPHA ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|0}}&lt;br /&gt;
&lt;br /&gt;
At each pixel, the alpha value is discarded and the pixel is made fully opaque. Useful again for diagnostics.&lt;br /&gt;
&lt;br /&gt;
'''~WIPE_ALPHA()'''&lt;br /&gt;
&lt;br /&gt;
=== Background coloring function ===&lt;br /&gt;
Sets the color of all the (semi-)transparent pixels of the image.&lt;br /&gt;
&lt;br /&gt;
'''~BG(r,g,b)'''&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
=== BL: Blurring function ===&lt;br /&gt;
&lt;br /&gt;
Blurs a graphic at render time using the same algorithm used for in-game dialogs.&lt;br /&gt;
&lt;br /&gt;
'''~BL( ''radius'' )'''&lt;br /&gt;
&lt;br /&gt;
=== CHAN: General function ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|7}}&lt;br /&gt;
&lt;br /&gt;
This function allows you to do pretty much anything. It takes up to four comma-separated formulas, one each for the red, green, blue, and alpha channels. Each formula functions exactly the same as the formula for '''ADJUST_ALPHA''', but the output integer is used for the corresponding channel rather than always the alpha channel. Do not surround the formula in &amp;lt;code&amp;gt;$(...)&amp;lt;/code&amp;gt;, since that will erase the &amp;lt;tt&amp;gt;self&amp;lt;/tt&amp;gt; variable.&lt;br /&gt;
&lt;br /&gt;
'''~CHAN(formula, formula, formula)'''&lt;br /&gt;
&lt;br /&gt;
The context object for each of the formulas is a '''pixel object''' with the following properties:&lt;br /&gt;
&lt;br /&gt;
* '''x''', '''y''': coordinates of the pixel, from the top left&lt;br /&gt;
* '''u''', '''v''': {{DevFeature1.15|0}} normalized coordinates in the range [0,1]&lt;br /&gt;
* '''width''', '''height''': size of the image canvas&lt;br /&gt;
* '''red''', '''green''', '''blue''', '''alpha''': components of the pixel colour&lt;br /&gt;
&lt;br /&gt;
=== NO_TOD_SHIFT: Disabling ToD ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|8}}&lt;br /&gt;
&lt;br /&gt;
Can be used on terrain and item images to prevent them from being affected by ToD lighting. This is in particular useful when placing unit images as items, as they will look the same as when placed as unit.&lt;br /&gt;
&lt;br /&gt;
'''~NO_TOD_SHIFT()'''&lt;br /&gt;
&lt;br /&gt;
=== DARKEN: Removed function ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|7}} This function has been removed. Use a ~BLIT(misc/tod-dark.png) call instead.&lt;br /&gt;
&lt;br /&gt;
Puts a time-of-day schedule overlay (misc/tod-dark.png) on the image, which must be large enough to accommodate it.&lt;br /&gt;
&lt;br /&gt;
'''~DARKEN()'''&lt;br /&gt;
&lt;br /&gt;
=== BRIGHTEN: Removed function ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|7}} This function has been removed. Use a ~BLIT(misc/tod-bright.png) call instead.&lt;br /&gt;
&lt;br /&gt;
Puts a time-of-day schedule overlay (misc/tod-bright.png) on the image, which must be large enough to accommodate it.&lt;br /&gt;
&lt;br /&gt;
'''~BRIGHTEN()'''&lt;br /&gt;
&lt;br /&gt;
=== NOP: Null function ===&lt;br /&gt;
&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
'''~NOP()'''&lt;br /&gt;
&lt;br /&gt;
== Creating an image file from IPFs ==&lt;br /&gt;
&lt;br /&gt;
The big advantage of Image Path Functions is that they allow you to alter an image without needing a new image file. However, you can also save the result into a new image file using Wesnoth's command line option ''--render-image'.&lt;br /&gt;
&lt;br /&gt;
Assuming you find a way to open your computer's terminal:&lt;br /&gt;
 wesnoth --render-image &amp;quot;units/human-peasants/ruffian.png~RC(magenta&amp;gt;green)~BLIT(units/human-peasants/woodsman.png~RC(magenta&amp;gt;lightblue),18,12)&amp;quot; /tmp/new_image_file.png&lt;br /&gt;
&lt;br /&gt;
Or on Windows:&lt;br /&gt;
 &amp;quot;C:\Path\to\Battle for Wesnoth\wesnoth.exe&amp;quot; --render-image &amp;quot;units/human-peasants/ruffian.png~RC(magenta&amp;gt;green)~BLIT(units/human-peasants/woodsman.png~RC(magenta&amp;gt;lightblue),18,12)&amp;quot; new_image_file.png&lt;br /&gt;
&lt;br /&gt;
Use cases include:&lt;br /&gt;
* Experimenting with Image Path Functions. If none of the images are from an add-on, adding ''--noaddons'' will speed this up.&lt;br /&gt;
* If a new Image Path Function is added to the development version of Wesnoth, add-ons for older Wesnoth versions can use a generated image instead.&lt;br /&gt;
* In case you want to use this anywhere out of Wesnoth. On a website, in Project Haldric, …&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[FancyAddonIcons]] - Tips and tricks for advanced Image Path Function manipulation&lt;br /&gt;
* [[DataURI]] - An image path may also contain the image directly, as a Base64 encoded string&lt;br /&gt;
* [http://shadowm.ai0867.net/projects/wesnoth-rcx Wesnoth RCX]  - Tool to preview unit recoloring. Covers the effects of the [[#RC:_Re-Color_Function|RC]], [[#TC: Team-Color Function|TC]] and [[#PAL:_Palette-switch_Function|PAL]] functions.&lt;br /&gt;
[[Category:WML Reference]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=ImagePathFunctions&amp;diff=69609</id>
		<title>ImagePathFunctions</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=ImagePathFunctions&amp;diff=69609"/>
		<updated>2022-06-05T07:13:34Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: ROTATE is not actually limited to 90° increments.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Image Path Functions provide a simple method for WML coders to alter the way their specified images will be displayed in the game. All of the function parameters are included at the end of an image path and should not contain any spaces or special characters (other than those specified here).&lt;br /&gt;
&lt;br /&gt;
If you need to practice it without having to reload all WML, you can use an add-on named ''Image loading tester''.  It is available on the 1.9, 1.10, 1.11, 1.12 and 1.14 add-on servers.&lt;br /&gt;
&lt;br /&gt;
All functions are applied in left-to-right order, with the exception of RC(), TC() and PAL() which are applied always before any other functions. Standard team coloring for a unit is applied after all custom RC(), TC() and PAL() functions but before any other functions.&lt;br /&gt;
That is, stuff like&lt;br /&gt;
 &amp;quot;units/elves-wood/fighter.png~CROP(20,20,40,40)~CROP(10,10,10,10)&amp;quot;&lt;br /&gt;
would result in taking a crop to a 40x40 rectangle whose top-left corner is x=20, y=20; and then taking a crop from ''that'' rectangle with x=10, y=10, w=10, h=10. The result is the area x=30, y=30, w=10, h=10 from the original graphic.&lt;br /&gt;
&lt;br /&gt;
== Changing the colors ==&lt;br /&gt;
&lt;br /&gt;
=== BLEND: Color-blend function ===&lt;br /&gt;
Blends the image with the given color to produce a more controlled tinting effect than color-shifting, independently of the image's contents.&lt;br /&gt;
&lt;br /&gt;
'''~BLEND(r,g,b,o)'''&lt;br /&gt;
&lt;br /&gt;
The color is defined by the ''r'', ''g'', and ''b'' parameters (integers ranging from 0 to 255). The ''o'' (opacity) parameter controls the amount by which the given color will be blended into the image, and may be specified either as a factor from 0.0 to 1.0, or percentage up to 100%. Thus, ~BLEND(r,g,b,0.5) and ~BLEND(r,g,b,50%) are equivalent.&lt;br /&gt;
&lt;br /&gt;
=== BW: Black and White function ===&lt;br /&gt;
{{devfeature1.13|1}}&lt;br /&gt;
May be used to convert the image to pure black and white, without grey pixels. &lt;br /&gt;
&lt;br /&gt;
'''~BW(threshold)'''&lt;br /&gt;
* ''threshold'': a value between 0 and 255 (both limits included). All pixels are converted as greyscale first, and if their average value is greater than the threshold they become white, otherwise they become black.&lt;br /&gt;
&lt;br /&gt;
=== CS: Color-shift function ===&lt;br /&gt;
Performs simple per-channel color shifts by adding the arguments to the respective color channels.&lt;br /&gt;
&lt;br /&gt;
''Multi-channel:'' '''~CS(r,g,b)'''&lt;br /&gt;
''Single-channel:'' '''~R(v)''', '''~G(v)''', '''~B(v)'''&lt;br /&gt;
&lt;br /&gt;
The multichannel syntax assumes all arguments are set to zero initially, so one can use, e.g. ~CS(2,4) to add +2 and +4 units to the red and green channels respectively, leaving the blue channel intact. Arguments may be negative to diminish a channel's value; this can be used to change an image's brightness. Checks for out-of-range arguments or results (less than 0 or greater than 255) are made, so the resultant values are truncated if necessary.&lt;br /&gt;
&lt;br /&gt;
The single channel syntax behaves exactly the same, except that only single-channel modifications are made per function. However, one can stack them to produce the same behavior as ~CS(), e.g. ~R(r)~G(g)~B(b), but that tends to be just a performance loss.&lt;br /&gt;
&lt;br /&gt;
=== GS: Greyscale function ===&lt;br /&gt;
May be used to greyscale the image (turn to black and white)&lt;br /&gt;
&lt;br /&gt;
'''~GS( )'''&lt;br /&gt;
&lt;br /&gt;
=== L: Lightmap color-shift function ===&lt;br /&gt;
Performs per-pixel and per-channel color shifts using another image (a &amp;quot;lightmap&amp;quot;) as source, allowing to create textured light effects.&lt;br /&gt;
&lt;br /&gt;
'''~L(lightmap)'''&lt;br /&gt;
&lt;br /&gt;
For each pixel of the original image, it checks the RGB values from the corresponding pixel of the lightmap, slightly transform them, then add these values to the original pixel.&lt;br /&gt;
&lt;br /&gt;
The transformation involved is done to convert the (0,255) spectrum to (-255,255), allowing to add or subtract color. The formula is (x-128)*2, which means that 0 gives -256, 128 gives 0 and 255 gives 254. So, the no-effect lightmap is a fully grey image (RGB = 128,128,128) and any non-grey pixel will shift the colors of the original.&lt;br /&gt;
&lt;br /&gt;
Note that the lightmap will be scaled to the same dimensions as the original image.&lt;br /&gt;
&lt;br /&gt;
=== NEG: Negative function ===&lt;br /&gt;
{{devfeature1.13|0}}&lt;br /&gt;
Also known as ''invert'', it negates all the RGB values of the image, giving it an effect similar to a photographic negative.&lt;br /&gt;
&lt;br /&gt;
'''~NEG( )'''&lt;br /&gt;
&lt;br /&gt;
Inverts the image, giving it an effect like a photographic negative.&lt;br /&gt;
&lt;br /&gt;
{{devfeature1.13|1}} '''~NEG(''' ''threshold'' ''')'''&lt;br /&gt;
&lt;br /&gt;
If a channel has a value greater than the threshold, the channel will be inverted, performing an effect known as ''solarization''.&lt;br /&gt;
Threshold must be between -1 and 255, with -1 equivalent to full inversion and 255 as no-op value.&lt;br /&gt;
&lt;br /&gt;
{{devfeature1.13|1}} '''~NEG(''' ''threshold_red, threshold_green, threshold_blue'' ''')'''&lt;br /&gt;
&lt;br /&gt;
If a channel has a value greater than the corresponding threshold, the channel will be inverted.&lt;br /&gt;
Each threshold must be between -1 and 255, with -1 equivalent to full inversion and 255 as no-op value.&lt;br /&gt;
&lt;br /&gt;
=== PAL: Palette-switch function ===&lt;br /&gt;
May be used to change colors in an image following the specifications of a source and target (new) palette.&lt;br /&gt;
&lt;br /&gt;
'''~PAL(''' ''source color palette'' '''&amp;gt;''' ''target color palette'' ''')'''&lt;br /&gt;
*''source color palette'' - the first parameter is a source color palette, such as magenta. Do not surround this parameter with quotes.&lt;br /&gt;
*''target color palette'' - the new palette to take the place of the source colors in the image.&lt;br /&gt;
&lt;br /&gt;
=== RC: Re-Color function ===&lt;br /&gt;
May be used to change some colors in an image. It is possible to use ''RC'' more than once on the same image, with different source palettes.&lt;br /&gt;
&lt;br /&gt;
'''~RC(''' ''source color palette'' '''&amp;gt;''' ''destination color range'' ''')'''&lt;br /&gt;
&lt;br /&gt;
==== source color palette ====&lt;br /&gt;
The first parameter is a set of colors, usually the magenta palette. Do not surround this parameter with quotes. The three standard palettes are:&lt;br /&gt;
&lt;br /&gt;
* '''magenta''' - the 19 colors described in [[Team_Color_Shifting]]&lt;br /&gt;
* '''ellipse_red''' - all 255 colors with RGB value (n,0,0)&lt;br /&gt;
* '''flag_green''' - all 255 colors with RGB value (0,n,0)&lt;br /&gt;
&lt;br /&gt;
The palette can also be given inline as a set of hexadecimal RGB values.&lt;br /&gt;
&lt;br /&gt;
The named palettes are defined using the '''[[GameConfigWML#Color_Palettes|[color_palette]]]''' tag, and you can also define your own custom color palette using that tag.&lt;br /&gt;
&lt;br /&gt;
Warning: the RC function will also accept (and not give a warning about) '''red''', '''green''' and any other defined '''[color_range]'''; however the set of RGB values for those aren't guaranteed. Using '''red''' instead of '''ellipse_red''' might be equivalent to the palette 030000,060000,0a0000,...,ff0000,ff0a0a,...,fff0f0.&lt;br /&gt;
&lt;br /&gt;
==== destination color range ====&lt;br /&gt;
This is the second parameter, signifying the ID of a color range defined in the file [http://github.com/wesnoth/wesnoth/blob/master/data/core/team-colors.cfg data/core/team-colors.cfg] (or it may be a custom ID for a color range defined locally). You can also define a custom color range inline (the rgb key from [[GameConfigWML#Color_Palettes]]; note that RC does not use the fourth color for anything).&lt;br /&gt;
&lt;br /&gt;
For this destination color range, using '''red''' or '''green''' makes sense.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
In the following example, the magenta regions in an elvish captain's image are turned a healthy shade of green:&lt;br /&gt;
&lt;br /&gt;
  [message]&lt;br /&gt;
      speaker=narrator&lt;br /&gt;
      image=units/elves-wood/captain.png~RC(magenta&amp;gt;green)&lt;br /&gt;
      message=_ &amp;quot;Now I am on the green team.&amp;quot;&lt;br /&gt;
  [/message]&lt;br /&gt;
&lt;br /&gt;
The following example replaces a few of the '''magenta''' pixels with green ones:&lt;br /&gt;
&lt;br /&gt;
  misc/orb.png~RC(690039,c30074,ec008c &amp;gt; 007f00,00ff00,000000,000000)&lt;br /&gt;
&lt;br /&gt;
The IDs of the color ranges may be the lowercased English name of the palette's base color (e.g. 'red', 'brown', etc.). They may also be numeric color indices from the palette WML included with the game, but this is not recommended.&lt;br /&gt;
&lt;br /&gt;
=== SEPIA: Sepia function ===&lt;br /&gt;
{{devfeature1.13|0}}&lt;br /&gt;
May be used to give to the image a sepia tint (like in old pictures).&lt;br /&gt;
&lt;br /&gt;
'''~SEPIA()'''&lt;br /&gt;
&lt;br /&gt;
=== SWAP: Channel Swap function ===&lt;br /&gt;
{{devfeature1.13|1}}&lt;br /&gt;
May be used to swap the RGBA channels of an image.&lt;br /&gt;
&lt;br /&gt;
'''~SWAP(''' ''r, g, b'' ''')'''&lt;br /&gt;
'''~SWAP(''' ''r, g, b, a'' ''')'''&lt;br /&gt;
* ''r'', ''g'', ''b'', ''a'': each of these arguments may have a value equal to ''red'', ''green'', ''blue'' or ''alpha''. The RGBA channels of the original image will be exchanged accordingly (for example, &amp;lt;tt&amp;gt;~SWAP(blue,green,red)&amp;lt;/tt&amp;gt; swaps the blue and red channels).&lt;br /&gt;
&lt;br /&gt;
=== TC: Team-Color function ===&lt;br /&gt;
In Wesnoth version 1.2, the only Image Path Function was '''~TC()''', which took two comma-separated parameters: the team number and the source color palette. The valid values for both of these parameters are defined in the file ''data/team-colors.cfg''&lt;br /&gt;
&lt;br /&gt;
'''~TC(''' ''team number'' ''',''' ''source color palette'' ''')'''&lt;br /&gt;
*''team number'' - this is the first parameter, a number 1-9 signifying the team number of a unit. Number 1 typically means the red team, 2 typically means the blue team, and so on (unless the scenario color settings for any side have been altered).&lt;br /&gt;
*''source color palette'' - the second parameter is a source color palette, usually magenta. Do not surround this parameter with quotes.&lt;br /&gt;
&lt;br /&gt;
== Transformations ==&lt;br /&gt;
&lt;br /&gt;
=== FL: Flip function ===&lt;br /&gt;
May be used to flip an image horizontally and/or vertically.&lt;br /&gt;
&lt;br /&gt;
'''~FL(''' ''optional argument list'' ''')'''&lt;br /&gt;
*''vertical'' - if the string &amp;quot;vert&amp;quot; is found anywhere in the argument list, the image will be flipped vertically.&lt;br /&gt;
*''horizontal'' - if the string &amp;quot;horiz&amp;quot; is found anywhere in the argument list, the image will be flipped horizontally.&lt;br /&gt;
*if the argument list is empty, the image will only be flipped horizontally.&lt;br /&gt;
&lt;br /&gt;
=== ROTATE: Rotate function ===&lt;br /&gt;
May be used to rotate an image.&lt;br /&gt;
&lt;br /&gt;
'''~ROTATE(''' ''degrees'' ''')'''&lt;br /&gt;
* ''degrees'' - The number of degrees by which the image will be rotated. Positive numbers indicate clockwise rotation, while negative numbers indicate counter-clockwise. (Zero indicates no rotation.)&lt;br /&gt;
If the number of degrees is omitted, a quarter turn (90 degrees) clockwise is assumed.&lt;br /&gt;
&lt;br /&gt;
=== SCALE: Image-scaling function ===&lt;br /&gt;
Scales a graphic up or down.&lt;br /&gt;
&lt;br /&gt;
'''~SCALE( ''new_width'', ''new_height'' )&lt;br /&gt;
&lt;br /&gt;
The ''new_width'' and ''new_height'' parameters are taken as the image's original width or height, respectively, if one of them happens to be zero. Negative values are treated in the same way, but an error is printed in stderr. This uses the bilinear interpolation algorithm.&lt;br /&gt;
&lt;br /&gt;
=== SCALE_INTO function ===&lt;br /&gt;
{{DevFeature1.13|5}}&lt;br /&gt;
&lt;br /&gt;
Similar to SCALE, but preserves aspect aspect ratio, scaling to the minimum extent required to fit into the specified area. The resulting image will have the specified width or the specified height, but not necessarily both.&lt;br /&gt;
&lt;br /&gt;
=== SCALE_SHARP function ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|0}}&lt;br /&gt;
&lt;br /&gt;
Scales functions using a nearest neighbor algorithm. Specify width and height. (It has the same syntax as ~SCALE.)&lt;br /&gt;
&lt;br /&gt;
'''~SCALE_SHARP(200,300)'''&lt;br /&gt;
&lt;br /&gt;
=== SCALE_INTO_SHARP function ===&lt;br /&gt;
{{DevFeature1.13|5}}&lt;br /&gt;
&lt;br /&gt;
Like SCALE_INTO, but uses nearest neighbor algorithm instead of bilinear interpolation.&lt;br /&gt;
&lt;br /&gt;
=== XBRZ function ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|0}}&lt;br /&gt;
&lt;br /&gt;
Scales functions using the XBRZ algorithm. You may scale things up either 2x, 3x, 4x, or 5x. The scaling tries to preserve the pixel art nature.&lt;br /&gt;
&lt;br /&gt;
'''~XBRZ(n)'''&lt;br /&gt;
&lt;br /&gt;
== Cut-and-paste ==&lt;br /&gt;
&lt;br /&gt;
=== BLIT: Blit function ===&lt;br /&gt;
Blit the parameter image on the main image. Example: peasant.png~BLIT(hat.png,30,10)&lt;br /&gt;
&lt;br /&gt;
'''~BLIT(src,x,y)'''&lt;br /&gt;
* ''src'': an image file used as source for the blit, other image path functions can be used there.&lt;br /&gt;
* ''x'',''y'': top-left corner coordinates where to blit. Must be greater or equal than zero. If missing assume (0,0).&lt;br /&gt;
&lt;br /&gt;
=== CROP: Crop function ===&lt;br /&gt;
Extracts a rectangular section of an image file.&lt;br /&gt;
&lt;br /&gt;
'''~CROP(x,y,width,height)'''&lt;br /&gt;
* ''x'',''y'': top-left corner coordinates for the rectangular section extracted. Must be greater or equal than zero, and inside the image's bounds.&lt;br /&gt;
* ''width'': width of the selected region. Must be less than or equal to the original image's width, and must not be negative.&lt;br /&gt;
* ''height'': height of the selected region. Must be less than or equal to the original image's height, and must not be negative.&lt;br /&gt;
&lt;br /&gt;
=== MASK: Mask function ===&lt;br /&gt;
Remove parts of the main image using the parameter image as a mask. Example: grass.png~MASK(circle.png) will give a circle of grass.&lt;br /&gt;
&lt;br /&gt;
'''~MASK(mask,x,y)'''&lt;br /&gt;
* ''mask'': an image file used as mask, other image path functions can be used there.&lt;br /&gt;
* ''x'',''y'': top-left corner coordinates where to put the mask. Parts ouside of the mask are considered transparent. If missing assume (0,0).&lt;br /&gt;
&lt;br /&gt;
Only the alpha channel of the mask is used and each alpha value will be the maximum alpha of the resulting image. This means that the fully-transparent parts of the mask will erase the corresponding parts of the image, but also that a semi-transparent mask will create a semi-transparent image. &lt;br /&gt;
&lt;br /&gt;
== Opacity ==&lt;br /&gt;
&lt;br /&gt;
=== ADJUST_ALPHA ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|?}}&lt;br /&gt;
&lt;br /&gt;
Alters the alpha of the image according to a WFL formula. The formula must output an integer from 0 to 255 giving the alpha across the canvas. It is evaluated for every pixel and may use the following variables: x, y, red, green, blue, alpha, width, height. {{DevFeature1.15|0}} The variables u and v are also supported now, evaluating to normalized texture coordinates (in the range 0..1); these are equivalent to &amp;lt;tt&amp;gt;x/width&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;y/height&amp;lt;/tt&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
'''~ADJUST_ALPHA(formula)'''.&lt;br /&gt;
&lt;br /&gt;
The context object for the formula is a '''[[#CHAN:_General_function|pixel object]]'''.&lt;br /&gt;
&lt;br /&gt;
=== O: Opacity modifying function ===&lt;br /&gt;
Changes an image's opacity at render time.&lt;br /&gt;
&lt;br /&gt;
'''~O( ''factor or percentage%'' )'''&lt;br /&gt;
&lt;br /&gt;
If the argument includes the percentage symbol (''%''), it will be treated as a percentage of full (real) opacity; an image will be displayed at its native opacity with ~O(100%).&lt;br /&gt;
&lt;br /&gt;
Without the percentage symbol, the argument is assumed to be a factor by which the image's native opacity should be multiplied. Thus, ~O(0.5) and ~O(50%) are equivalent forms of specifying to reduce an image's opacity by half.&lt;br /&gt;
&lt;br /&gt;
=== PLOT_ALPHA ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|0}}&lt;br /&gt;
&lt;br /&gt;
At each pixel, the color is replaced with a grey-tone reflecting the alpha value at that pixel, and the new image is fully opaque. Useful for plotting the alpha to help debug an IPF or inspect a sprite.&lt;br /&gt;
&lt;br /&gt;
'''~PLOT_ALPHA()'''&lt;br /&gt;
&lt;br /&gt;
=== WIPE_ALPHA ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|0}}&lt;br /&gt;
&lt;br /&gt;
At each pixel, the alpha value is discarded and the pixel is made fully opaque. Useful again for diagnostics.&lt;br /&gt;
&lt;br /&gt;
'''~WIPE_ALPHA()'''&lt;br /&gt;
&lt;br /&gt;
=== Background coloring function ===&lt;br /&gt;
Sets the color of all the (semi-)transparent pixels of the image.&lt;br /&gt;
&lt;br /&gt;
'''~BG(r,g,b)'''&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
=== BL: Blurring function ===&lt;br /&gt;
&lt;br /&gt;
Blurs a graphic at render time using the same algorithm used for in-game dialogs.&lt;br /&gt;
&lt;br /&gt;
'''~BL( ''radius'' )'''&lt;br /&gt;
&lt;br /&gt;
=== CHAN: General function ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|7}}&lt;br /&gt;
&lt;br /&gt;
This function allows you to do pretty much anything. It takes up to four comma-separated formulas, one each for the red, green, blue, and alpha channels. Each formula functions exactly the same as the formula for '''ADJUST_ALPHA''', but the output integer is used for the corresponding channel rather than always the alpha channel. Do not surround the formula in &amp;lt;code&amp;gt;$(...)&amp;lt;/code&amp;gt;, since that will erase the &amp;lt;tt&amp;gt;self&amp;lt;/tt&amp;gt; variable.&lt;br /&gt;
&lt;br /&gt;
'''~CHAN(formula, formula, formula)'''&lt;br /&gt;
&lt;br /&gt;
The context object for each of the formulas is a '''pixel object''' with the following properties:&lt;br /&gt;
&lt;br /&gt;
* '''x''', '''y''': coordinates of the pixel, from the top left&lt;br /&gt;
* '''u''', '''v''': {{DevFeature1.15|0}} normalized coordinates in the range [0,1]&lt;br /&gt;
* '''width''', '''height''': size of the image canvas&lt;br /&gt;
* '''red''', '''green''', '''blue''', '''alpha''': components of the pixel colour&lt;br /&gt;
&lt;br /&gt;
=== NO_TOD_SHIFT: Disabling ToD ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|8}}&lt;br /&gt;
&lt;br /&gt;
Can be used on terrain and item images to prevent them from being affected by ToD lighting. This is in particular useful when placing unit images as items, as they will look the same as when placed as unit.&lt;br /&gt;
&lt;br /&gt;
'''~NO_TOD_SHIFT()'''&lt;br /&gt;
&lt;br /&gt;
=== DARKEN: Removed function ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|7}} This function has been removed. Use a ~BLIT(misc/tod-dark.png) call instead.&lt;br /&gt;
&lt;br /&gt;
Puts a time-of-day schedule overlay (misc/tod-dark.png) on the image, which must be large enough to accommodate it.&lt;br /&gt;
&lt;br /&gt;
'''~DARKEN()'''&lt;br /&gt;
&lt;br /&gt;
=== BRIGHTEN: Removed function ===&lt;br /&gt;
&lt;br /&gt;
{{DevFeature1.13|7}} This function has been removed. Use a ~BLIT(misc/tod-bright.png) call instead.&lt;br /&gt;
&lt;br /&gt;
Puts a time-of-day schedule overlay (misc/tod-bright.png) on the image, which must be large enough to accommodate it.&lt;br /&gt;
&lt;br /&gt;
'''~BRIGHTEN()'''&lt;br /&gt;
&lt;br /&gt;
=== NOP: Null function ===&lt;br /&gt;
&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
'''~NOP()'''&lt;br /&gt;
&lt;br /&gt;
== Creating an image file from IPFs ==&lt;br /&gt;
&lt;br /&gt;
The big advantage of Image Path Functions is that they allow you to alter an image without needing a new image file. However, you can also save the result into a new image file using Wesnoth's command line option ''--render-image'.&lt;br /&gt;
&lt;br /&gt;
Assuming you find a way to open your computer's terminal:&lt;br /&gt;
 wesnoth --render-image &amp;quot;units/human-peasants/ruffian.png~RC(magenta&amp;gt;green)~BLIT(units/human-peasants/woodsman.png~RC(magenta&amp;gt;lightblue),18,12)&amp;quot; /tmp/new_image_file.png&lt;br /&gt;
&lt;br /&gt;
Or on Windows:&lt;br /&gt;
 &amp;quot;C:\Path\to\Battle for Wesnoth\wesnoth.exe&amp;quot; --render-image &amp;quot;units/human-peasants/ruffian.png~RC(magenta&amp;gt;green)~BLIT(units/human-peasants/woodsman.png~RC(magenta&amp;gt;lightblue),18,12)&amp;quot; new_image_file.png&lt;br /&gt;
&lt;br /&gt;
Use cases include:&lt;br /&gt;
* Experimenting with Image Path Functions. If none of the images are from an add-on, adding ''--noaddons'' will speed this up.&lt;br /&gt;
* If a new Image Path Function is added to the development version of Wesnoth, add-ons for older Wesnoth versions can use a generated image instead.&lt;br /&gt;
* In case you want to use this anywhere out of Wesnoth. On a website, in Project Haldric, …&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[FancyAddonIcons]] - Tips and tricks for advanced Image Path Function manipulation&lt;br /&gt;
* [[DataURI]] - An image path may also contain the image directly, as a Base64 encoded string&lt;br /&gt;
* [http://shadowm.ai0867.net/projects/wesnoth-rcx Wesnoth RCX]  - Tool to preview unit recoloring. Covers the effects of the [[#RC:_Re-Color_Function|RC]], [[#TC: Team-Color Function|TC]] and [[#PAL:_Palette-switch_Function|PAL]] functions.&lt;br /&gt;
[[Category:WML Reference]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Mesilliac&amp;diff=25112</id>
		<title>User:Mesilliac</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Mesilliac&amp;diff=25112"/>
		<updated>2008-04-06T01:11:23Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Terrain WML Cleanup Proposal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;a.k.a. Yobbo&lt;br /&gt;
&lt;br /&gt;
= Terrain WML Cleanup Proposal =&lt;br /&gt;
&lt;br /&gt;
I've been working a lot recently with the Terrain WML system, and I've spotted many, many things which could be tidied up. I've also been forced to learn first-hand how complicated the system is for adding a new terrain. I think Wesnoth is missing out on good terrain simply because potential terrain artists are unable to grasp the complexities of the terrain graphics system.&lt;br /&gt;
&lt;br /&gt;
Nothing that I'm proposing will break the old system. User-made campaigns will still be able to use the old terrain-graphics system and macros. However new content will be able to be added much more easily, and current mainline terrains will become significantly easier to maintain.&lt;br /&gt;
&lt;br /&gt;
== Terrain Macros ==&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
Important terrain macros are currently interspersed between a variety of .cfg files in data/core/terrain-graphics and the _final.cfg file that declares all the terrains.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
Move the macros to data/core/terrain-graphics/macros, and modify data/core/_main.cfg slightly to load all macros in this directory first.&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
* Easier to maintain, as macros are separated from terrain declarations&lt;br /&gt;
* Terrain declarations can be moved to separate .cfg files in stead of all being in _final.cfg&lt;br /&gt;
&lt;br /&gt;
=== Drawbacks ===&lt;br /&gt;
&lt;br /&gt;
none&lt;br /&gt;
&lt;br /&gt;
== Randomly chosen images ==&lt;br /&gt;
&lt;br /&gt;
Randomly chosen images are currently specified using macros which take a probability value and may or may not draw the terrain depending on this probability. For example:&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor2		       20}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor3		       25}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor4		       33}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor5		       50}&lt;br /&gt;
 {TERRAIN_BASE       Uu                  cave/floor6}&lt;br /&gt;
This gives an equal probability of each listed variation appearing on any given hex.&lt;br /&gt;
&lt;br /&gt;
The great thing about this system is that it can be set up so that it still gives equal probabilities even if one or more of the initially specified graphics are missing.&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
All random terrain variations must be explicitly specified and a probability given in _final.cfg.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
In ''new'' macros, add the probability macros for equal probability ''automatically'', using the image stem plus the numbers 1-9 for additional variations.&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
* This naming system follows the current naming system, and the old system of selecting probabilities may still be used.&lt;br /&gt;
* New variations can be dropped in alongside current variations and they will automatically be used, with no editing of WML necessary&lt;br /&gt;
&lt;br /&gt;
=== Drawbacks ===&lt;br /&gt;
&lt;br /&gt;
Checks for the existance of many nonexistant images&lt;br /&gt;
&lt;br /&gt;
== Standard set of terrain graphics macros ==&lt;br /&gt;
&lt;br /&gt;
There is not currently a standard set of macros which can be used to add new terrains. Any artists wishing to add a new terrain must fully learn the complexities of the terrain WML system. Also, adding a new terrain to mainline requires editing macros in many separate places in _final.cfg.&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
Macros are added as necessary.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
The addition of a set of standard macros for common terrain types:&lt;br /&gt;
&lt;br /&gt;
; Base Terrain&lt;br /&gt;
: Normal single-hex flat terrain.&lt;br /&gt;
:; Examples in current terrain: dirt, water, grass, sand&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Generic transitions are used if present.&lt;br /&gt;
::* Variations are used if present.&lt;br /&gt;
::* Only one base terrain can be used per tile&lt;br /&gt;
::* Only one base transition can be drawn for each edge of the tile&lt;br /&gt;
::* Image dimensions are 72x72&lt;br /&gt;
:; Macro arguments: Terrain_identifier, Dissimilar_terrains, base_image_name, layer&lt;br /&gt;
:; Basic image set: 1 base image, 6 transitions&lt;br /&gt;
&lt;br /&gt;
All terrain types should specify a base terrain.&lt;br /&gt;
&lt;br /&gt;
; Single-Hex Overlay&lt;br /&gt;
: Terrain used as an overlay for a single hex&lt;br /&gt;
:; Examples in current terrain: forest, mushroom grove with lightbeam (double overlay)&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Transitions are not used&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* A &amp;quot;-small&amp;quot; variation should be provided for use next to terrains to avoid overlapping, for example castles, cavewall&lt;br /&gt;
::* Image dimensions are 180x252&lt;br /&gt;
:; Macro arguments: Overlay_identifier, base_overlay_image_name, layer&lt;br /&gt;
:; Basic image set: 1 base overlay, 1 small overlay&lt;br /&gt;
&lt;br /&gt;
; Fence&lt;br /&gt;
: Draws walls along edges of a terrain&lt;br /&gt;
:; Examples in current terrain: castle, keep, cavewall&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* Only one fence image can be drawn for each point where 3 tiles meet&lt;br /&gt;
:; Macro arguments: terrain_identifier, base_fence_image_name&lt;br /&gt;
:; Basic image set: 6 concave corners, 6 convex corners&lt;br /&gt;
&lt;br /&gt;
; Path&lt;br /&gt;
: Directional terrain, that only makes sense in lines. Joins to certain terrain types.&lt;br /&gt;
:; Examples in current terrain: bridge&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Not required to make sense in clumps&lt;br /&gt;
::* Only transitions to certain terrain types are used&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* image dimensions are 180x252&lt;br /&gt;
:; Macro arguments: bridge_identifier, joiner_terrain_identifier bridge_overlay_image_name, layer&lt;br /&gt;
:; Basic image set: 1 lone image, 6 end images, 3 across images, 6 bend images&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrankenPacks&amp;diff=25078</id>
		<title>FrankenPacks</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrankenPacks&amp;diff=25078"/>
		<updated>2008-04-04T04:51:50Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: added an image showing simple frankenpack&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Frankenpacks&amp;quot; are images containing pieces of wesnoth sprites. These pieces can be copied and pasted together to quickly make new custom sprites. The Wesnoth community calls this process &amp;quot;frankensteining&amp;quot;, and it's a common way to begin spriting, requiring little previous art experience. Frankensteined sprites '''will not be accepted into mainline''', but are perfectly acceptable for use in [[WesnothAcronyms|UMC]].&lt;br /&gt;
&lt;br /&gt;
== Elves ==&lt;br /&gt;
&lt;br /&gt;
== Orcs ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15808 orcs, goblins and trolls&lt;br /&gt;
&lt;br /&gt;
== Humans ==&lt;br /&gt;
{| style=&amp;quot;float:right&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
http://exong.net/wesnoth-attach/files/lieutenant_chopped_204.png&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=12868 humans&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15699 more humans&lt;br /&gt;
&lt;br /&gt;
== Dwarves ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15794 dwarves and gryphons&lt;br /&gt;
&lt;br /&gt;
== Undead ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15789 undead&lt;br /&gt;
&lt;br /&gt;
== Drakes ==&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15809 nagas, mermen, saurians, ogres, yeti&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=13391 animals&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15790 mega-pack with loads of stuff, including animals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Art Tutorials]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Create_Art&amp;diff=25077</id>
		<title>Create Art</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Create_Art&amp;diff=25077"/>
		<updated>2008-04-04T04:35:27Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Sprite Art */ add link to new FrankePacks page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right; margin-left:1em;&amp;quot;&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
=== General Information ===&lt;br /&gt;
&lt;br /&gt;
Graphic artists usually meet on the [http://www.wesnoth.org/forum/viewforum.php?f=9 artwork development forum] or on the [http://www.wesnoth.org/forum/viewforum.php?f=18 restricted art development forum]. The former is a great place to post and discuss new and current Wesnoth art and graphics, and the latter to see what the art development team is working on.&lt;br /&gt;
&lt;br /&gt;
Unit and terrain art is stored in the portable network graphics (PNG) format.  Each frame of a unit animation, and each variation of a terrain is stored as a separate .png file in the &amp;quot;images&amp;quot; subdirectory of wesnoth, and generally these files will be 72 x 72 pixels (the size of Wesnoth's basic hexagonal tile) with an alpha channel (a part of the file that indicates how transparent each pixel is).  When creating your own images, you can test them without overwriting any game data by putting them in your userdata directory (see [[EditingWesnoth]] for details on Wesnoth's directory structure).  The game also supports JPEG images, though these are better suited for story art.&lt;br /&gt;
&lt;br /&gt;
To edit these graphics, you'll need some program capable of creating PNGs - some of the programs in the following list are free, open-source software, and will do the job nicely: [[Art Programs]]&lt;br /&gt;
&lt;br /&gt;
If you need some inspiration, we have a [[GraphicLibrary|Graphics Library]] which collects art posted on the forum. You can use this for ideas, and as a scrap heap for different parts of unit images (a technique described [[Give Your Hero A Personality|here]]).&lt;br /&gt;
&lt;br /&gt;
=== Roadmap ===&lt;br /&gt;
A list of what's being done and what needs doing:&lt;br /&gt;
* '''[[Tiles Status]]''' - a roadmap/plan of sorts for future work on terrain tiles&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewtopic.php?t=9162&amp;amp;sid=21cf168d2b077d06bb0017c059b4add6 A list] of current work that needs to be done with sprites.&lt;br /&gt;
&lt;br /&gt;
== Art Tutorials ==&lt;br /&gt;
&lt;br /&gt;
These are a work-in-progress, and describe both how to make art fit into wesnoth's style, as well as giving some considerable tips on drawing in general.  Especially useful is the [[External Tutorials]] page which lists a large number of art tutorials available on the web.&lt;br /&gt;
&lt;br /&gt;
=== General Art and Computer Graphics ===&lt;br /&gt;
* [[Using the Levels Adjustment]] - making scanned pencil drawings ''not'' look washed out.&lt;br /&gt;
* [[Extending dynamic range]] - The Grooviest (so far) tutorial about extending the dynamic range of images and how this technique can be used to make better scans of pencil drawings.&lt;br /&gt;
* [[Scanning with camera]] - How to transfer real-life art to computer using a digital camera instead of a scanner.&lt;br /&gt;
* [[How to Anti-Alias Sprite Art]] - A means of removing the jagged edges on pixel lines&lt;br /&gt;
* [[Art Supplies]] - What physical items you need to do larger cell-shaded art like that of Jetryl/Jormungadr/et al&lt;br /&gt;
* [[Inking With Pencils|Computer Inking a Sketch]] - Info from Jason Lutes on his portrait workflow&lt;br /&gt;
* [[Scaling Digital Images]] - how to properly resize an image on a computer&lt;br /&gt;
* [[How to Shade]] - at attempt at tackling a very complicated topic&lt;br /&gt;
* [[Cartography for Wesnoth|How to make Wesnoth-style Maps ]] - Kestenvarn's tricks of the trade&lt;br /&gt;
* [[Designing weapons and armour]] - Advice from zookeeper on designing realistic weapons for your characters&lt;br /&gt;
* Sgt. Groovy's vector workshop - tips and tricks for drawing with Inkscape&lt;br /&gt;
** [[Z-order tricks]] - few methods for faking overlapping shapes&lt;br /&gt;
** [[Variable-width strokes]] - how to make the strokes vary in width, like being drawn with a flat-tipped pen &amp;amp;mdash; no tablet needed!&lt;br /&gt;
** [[Shaped gradients with Gaussian blur]] - how to make gradients in other shapes than linear or radial&lt;br /&gt;
** [[Smooth shading in vector]] - the basic vector techniques for smooth shading, employing Gaussian blur and clipping/masking&lt;br /&gt;
** [[Making portrait art in vector]] - a complete tutorial for making Wesnoth unit portraits in vector graphics.&lt;br /&gt;
&lt;br /&gt;
=== [[Terrain|Terrain Graphics]] ===&lt;br /&gt;
&lt;br /&gt;
The following is information specific to drawing terrain for Wesnoth.  Read Frame's &amp;quot;Tiles Tutorial&amp;quot; for a good overview of how terrain graphics work.&lt;br /&gt;
&lt;br /&gt;
* [[Tiles Tutorial]] - Frame's tutorial describing the process of making terrain tiles in wesnoth, and how they interact with adjacent tiles.&lt;br /&gt;
* [[How To Make Seamless Tiles]] - The tutorial is aimed at Photoshop users, but the technique is similar with The GIMP.&lt;br /&gt;
* [[Seamless Tiles Using Inkscape]] - This tutorial teaches a method for making seamless hex tiles in vector craphics (to be rendered in raster).&lt;br /&gt;
* [[Turning Square Tiles into Hex]] - Nifty tricks for transforming square (or any rectangle) shaped seamless tiles into hexagon seamless tiles.&lt;br /&gt;
* [[CastleTutorial|Castle Tutorial]] - A description of how Wesnoth's castle tiles work (needs updating, but useful nonetheless)&lt;br /&gt;
* [[MultiHexTutorial|Multi-Hex Tiling Tutorial]] - A description of how multi-hex tiles work.&lt;br /&gt;
* [[Editing Castles]] - Instructions for how to make/edit castles (and other corner-based terrains) using yobbo's GIMP script.&lt;br /&gt;
&lt;br /&gt;
These describe the system used to specify how terrains behave in game:&lt;br /&gt;
* [[TerrainCodesWML]] - A list of the letters used to represent terrain types.&lt;br /&gt;
* [[TerrainGraphicsWML]] - If you really need to get technical, start here.&lt;br /&gt;
* [http://www.anathas.org/ayin/wesnoth/doc/terrain_graphics_wml Ayin's Terrain Graphics document] - If you really, ''really'' need to get technical, this describes the terrain graphics WML system in depth.&lt;br /&gt;
&lt;br /&gt;
=== Sprite Art ===&lt;br /&gt;
The following are different tutorials about sprite work compiled by various wesnoth sprite artists.  These will give you the most specific-to-wesnoth information about making sprites, and are well worth a read.&lt;br /&gt;
 &lt;br /&gt;
* [[Creating Unit Art]] - a list of specifications you will need to match.&lt;br /&gt;
* [[Give Your Hero A Personality]] - tricks for editing existing images, including some clip art.&lt;br /&gt;
* [[Basic Animation Tutorial]] - or &amp;quot;How to Animate Sprites for Dummies,&amp;quot; covering the basic theory, and all of the mistakes to avoid.&lt;br /&gt;
* [[Advanced Animation Tutorial]] - how to wire in the animation frames to units in a way that makes the animation look good in-game. Doesn't cover any drawing as such, but focuses on timing conventions and some standard techniques for getting as much as possible out of the frames that are already drawn.&lt;br /&gt;
* [[Team Color Shifting]] - how to use our new team color system.&lt;br /&gt;
* [[Creating Shadows Under Units]] - how we create the shadows for the units in-game&lt;br /&gt;
* [[Making Bow Animations]] - the current standard for how we want bow animations to work&lt;br /&gt;
* [[Rotate Pixel Art Without Blurring]]&lt;br /&gt;
* [[Creating a scratch built sprite]] - an attempt to show some ways creating a sprite from scratch&lt;br /&gt;
* [[How to create motion blurs]] - a simple explanation on how to create attack animation weapon blurs&lt;br /&gt;
* [[FrankenPacks]] - a quick and dirty way to create sprites for [[WesnothAcronyms|UMC]]&lt;br /&gt;
&lt;br /&gt;
=== External Tutorials ===&lt;br /&gt;
The following page contains dozens of links to tutorials covering all manner of artwork, including sprite art.  These were not made by wesnoth artists, but should prove very useful for general instruction.&lt;br /&gt;
&lt;br /&gt;
* [[External Tutorials]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Create]]&lt;br /&gt;
* [[EditingWesnoth]]&lt;br /&gt;
* [[GraphicLibrary]] - Lots of usercontributed graphics (most should be GPL'ed)&lt;br /&gt;
* [[Project]]&lt;br /&gt;
* [http://wesnoth.dbzer0.com/blog/wpg2 External Graphic Library] - A project to better organize the art of Wesnoth.&lt;br /&gt;
&lt;br /&gt;
[[Category:Art Tutorials]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrankenPacks&amp;diff=25076</id>
		<title>FrankenPacks</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrankenPacks&amp;diff=25076"/>
		<updated>2008-04-04T04:31:44Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: float the accursed TOC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Frankenpacks&amp;quot; are images containing pieces of wesnoth sprites. These pieces can be copied and pasted together to quickly make new custom sprites. The Wesnoth community calls this process &amp;quot;frankensteining&amp;quot;, and it's a common way to begin spriting, requiring little previous art experience. Frankensteined sprites '''will not be accepted into mainline''', but are perfectly acceptable for use in [[WesnothAcronyms|UMC]].&lt;br /&gt;
&lt;br /&gt;
== Elves ==&lt;br /&gt;
&lt;br /&gt;
== Orcs ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15808 orcs, goblins and trolls&lt;br /&gt;
&lt;br /&gt;
== Humans ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=12868 humans&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15699 more humans&lt;br /&gt;
&lt;br /&gt;
== Dwarves ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15794 dwarves and gryphons&lt;br /&gt;
&lt;br /&gt;
== Undead ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15789 undead&lt;br /&gt;
&lt;br /&gt;
== Drakes ==&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15809 nagas, mermen, saurians, ogres, yeti&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=13391 animals&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15790 mega-pack with loads of stuff, including animals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Art Tutorials]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrankenPacks&amp;diff=25075</id>
		<title>FrankenPacks</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrankenPacks&amp;diff=25075"/>
		<updated>2008-04-04T04:28:57Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: add a cople packs I missed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Frankenpacks&amp;quot; are images containing pieces of wesnoth sprites. These pieces can be copied and pasted together to quickly make new custom sprites. The Wesnoth community calls this process &amp;quot;frankensteining&amp;quot;, and it's a common way to begin spriting, requiring little previous art experience. Frankensteined sprites '''will not be accepted into mainline''', but are perfectly acceptable for use in [[WesnothAcronyms|UMC]].&lt;br /&gt;
&lt;br /&gt;
== Elves ==&lt;br /&gt;
&lt;br /&gt;
== Orcs ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15808 orcs, goblins and trolls&lt;br /&gt;
&lt;br /&gt;
== Humans ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=12868 humans&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15699 more humans&lt;br /&gt;
&lt;br /&gt;
== Dwarves ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15794 dwarves and gryphons&lt;br /&gt;
&lt;br /&gt;
== Undead ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15789 undead&lt;br /&gt;
&lt;br /&gt;
== Drakes ==&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15809 nagas, mermen, saurians, ogres, yeti&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=13391 animals&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15790 mega-pack with loads of stuff, including animals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Art Tutorials]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=FrankenPacks&amp;diff=25074</id>
		<title>FrankenPacks</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=FrankenPacks&amp;diff=25074"/>
		<updated>2008-04-04T04:23:30Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: page to link frankenpacks available for newbie spriters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Frankenpacks&amp;quot; are images containing pieces of wesnoth sprites. These pieces can be copied and pasted together to quickly make new custom sprites. The Wesnoth community calls this process &amp;quot;frankensteining&amp;quot;, and it's a common way to begin spriting, requiring little previous art experience. Frankensteined sprites '''will not be accepted into mainline''', but are perfectly acceptable for use in [[WesnothAcronyms|UMC]].&lt;br /&gt;
&lt;br /&gt;
== Elves ==&lt;br /&gt;
&lt;br /&gt;
== Orcs ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15808 orcs, goblins and trolls&lt;br /&gt;
&lt;br /&gt;
== Humans ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=12868&lt;br /&gt;
&lt;br /&gt;
== Dwarves ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15794 dwarves and gryphons&lt;br /&gt;
&lt;br /&gt;
== Drakes ==&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15809 nagas, mermen, saurians, ogres, yeti&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=13391 animals&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
* http://forum.wesnoth.org/download/file.php?id=15790 mega-pack with loads of stuff, including animals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Art Tutorials]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=24550</id>
		<title>Create Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=24550"/>
		<updated>2008-03-25T07:35:56Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* General Information */ oops&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right; margin-left:1em;&amp;quot;&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
=== General Information ===&lt;br /&gt;
Musicians usually meet on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. This is the best place to discuss new music and potential contributions, as well as to hear what is currently being worked on. If you have an IRC client, you can also join the [irc://irc.freenode.net/wesnoth-music #wesnoth-music] channel on irc.freenode.net, and chat with us about anything to do with music and/or Wesnoth.&lt;br /&gt;
&lt;br /&gt;
Wesnoth's music is stored in the [http://www.vorbis.com/ Ogg Vorbis] format. This is similar to the MP3 format, only it is [http://www.vorbis.com/faq/#artist completely free]. The current music can be found in the &amp;quot;data/core/music&amp;quot; subdirectory of Wesnoth (see [[EditingWesnoth]] for details on Wesnoth's directory structure).&lt;br /&gt;
&lt;br /&gt;
Music composed for Wesnoth should be orchestral with realistic sounding samples, and 3 to 6 minutes in length. Most of the pieces in the &amp;quot;Core Music&amp;quot; section of [[Available Music]] are good examples of this.&lt;br /&gt;
&lt;br /&gt;
To be included in the Battle for Wesnoth, music must be released under the [http://www.gnu.org/copyleft/gpl.html Gnu General Public License]. Read [http://www.wesnoth.org/forum/viewtopic.php?t=2015 this forum post by Jetryl] and [[Wesnoth:Copyrights]] for more information on this.&lt;br /&gt;
&lt;br /&gt;
=== Where Should I Start? ===&lt;br /&gt;
The first thing any potential music contributor should do is read the [[Music Contribution FAQ]]. It outlines what Wesnoth's music development team is looking for in terms of contributions, and who is likely to be able to contribute work that will be accepted into the core Wesnoth distribution.&lt;br /&gt;
&lt;br /&gt;
If after reading the [[Music Contribution FAQ|FAQ]] you believe you can contribute something to the project, introduce yourself on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. You will most likely be asked for a sample of your previous work, so if you can provide a link to one in your post it would be very helpful.&lt;br /&gt;
&lt;br /&gt;
== Creating Music for Wesnoth ==&lt;br /&gt;
&lt;br /&gt;
* [[Music Contribution FAQ]] - read this first!&lt;br /&gt;
* [[Tools for Creating Music]] details some of the hardware and software you will need to create music for Wesnoth.&lt;br /&gt;
* [[Music Tutorials]] provides some links to useful tutorials and general advice on creating quality music in the style that Wesnoth's music development team requires.&lt;br /&gt;
&lt;br /&gt;
== Adding music to a Scenario or Campaign ==&lt;br /&gt;
&lt;br /&gt;
* [[Available Music]] lists all the pieces which are already available to use in scenarios and campaigns, as well as providing some links to works in progress.&lt;br /&gt;
* [[MusicListWML]] has information on using the [music] WML tag to add music to a Wesnoth scenario.&lt;br /&gt;
&lt;br /&gt;
[[Category:Create]]&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=24549</id>
		<title>Create Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=24549"/>
		<updated>2008-03-25T07:35:04Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* General Information */ added link to #wesnoth-music&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right; margin-left:1em;&amp;quot;&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
=== General Information ===&lt;br /&gt;
Musicians usually meet on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. This is the best place to discuss new music and potential contributions, as well as to hear what is currently being worked on. If you have an IRC client, you can also join the [irc://irc.freenode.net/wesnoth-mp #wesnoth-music] channel on irc.freenode.net, and chat with us about anything to do with music and/or Wesnoth.&lt;br /&gt;
&lt;br /&gt;
Wesnoth's music is stored in the [http://www.vorbis.com/ Ogg Vorbis] format. This is similar to the MP3 format, only it is [http://www.vorbis.com/faq/#artist completely free]. The current music can be found in the &amp;quot;data/core/music&amp;quot; subdirectory of Wesnoth (see [[EditingWesnoth]] for details on Wesnoth's directory structure).&lt;br /&gt;
&lt;br /&gt;
Music composed for Wesnoth should be orchestral with realistic sounding samples, and 3 to 6 minutes in length. Most of the pieces in the &amp;quot;Core Music&amp;quot; section of [[Available Music]] are good examples of this.&lt;br /&gt;
&lt;br /&gt;
To be included in the Battle for Wesnoth, music must be released under the [http://www.gnu.org/copyleft/gpl.html Gnu General Public License]. Read [http://www.wesnoth.org/forum/viewtopic.php?t=2015 this forum post by Jetryl] and [[Wesnoth:Copyrights]] for more information on this.&lt;br /&gt;
&lt;br /&gt;
=== Where Should I Start? ===&lt;br /&gt;
The first thing any potential music contributor should do is read the [[Music Contribution FAQ]]. It outlines what Wesnoth's music development team is looking for in terms of contributions, and who is likely to be able to contribute work that will be accepted into the core Wesnoth distribution.&lt;br /&gt;
&lt;br /&gt;
If after reading the [[Music Contribution FAQ|FAQ]] you believe you can contribute something to the project, introduce yourself on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. You will most likely be asked for a sample of your previous work, so if you can provide a link to one in your post it would be very helpful.&lt;br /&gt;
&lt;br /&gt;
== Creating Music for Wesnoth ==&lt;br /&gt;
&lt;br /&gt;
* [[Music Contribution FAQ]] - read this first!&lt;br /&gt;
* [[Tools for Creating Music]] details some of the hardware and software you will need to create music for Wesnoth.&lt;br /&gt;
* [[Music Tutorials]] provides some links to useful tutorials and general advice on creating quality music in the style that Wesnoth's music development team requires.&lt;br /&gt;
&lt;br /&gt;
== Adding music to a Scenario or Campaign ==&lt;br /&gt;
&lt;br /&gt;
* [[Available Music]] lists all the pieces which are already available to use in scenarios and campaigns, as well as providing some links to works in progress.&lt;br /&gt;
* [[MusicListWML]] has information on using the [music] WML tag to add music to a Wesnoth scenario.&lt;br /&gt;
&lt;br /&gt;
[[Category:Create]]&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=24266</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=24266"/>
		<updated>2008-03-22T02:27:10Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Available Music for Campaign Authors */ +track times&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
If you find an incorrect link, or see that something is missing from this page or filed incorrectly, please fix it! We need your help to maintain this wiki :).&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign. To listen to them, find the data/core/music subfolder of your Wesnoth folder, and open the files with a player capable of decoding [http://www.vorbis.com/ Ogg Vorbis] files. For information on where to find your Wesnoth directory, see [[EditingWesnoth]]. For information on how to play .ogg files, visit http://www.vorbis.com/.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg) 5'18&amp;quot;&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg) 0'08&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg) 0'14&amp;quot;&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg) 0'26&amp;quot;&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg) 3'25&amp;quot;&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg) 1'24&amp;quot;&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg) 9'17&amp;quot;&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg) 6'49&amp;quot;&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg) 2'43&amp;quot;&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg) 2'59&amp;quot;&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg) 0'48&amp;quot;&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg) 0'51&amp;quot;&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg) 0'39&amp;quot;&lt;br /&gt;
* &amp;quot;Nunc Dimittis&amp;quot; by Jeremy Nicoll (nunc_dimittis.ogg) 3'50&amp;quot;&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg) 1'17&amp;quot;&lt;br /&gt;
* &amp;quot;The City Falls&amp;quot; by Doug Kaufman (the_city_falls.ogg) 4'06&amp;quot;&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg) 3'41&amp;quot;&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg) 1'52&amp;quot;&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg) 6'00&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg) 0'05&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg) 0'21&amp;quot;&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg) 4'22&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread]) 0'32&amp;quot;&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost ([http://download.tuxfamily.org/wesnothmusic/extras/lzce-Burin%20the%20Lost.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/lzce-Burin%20the%20Lost.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Reminisce&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=17246 forum thread]) 3'45&amp;quot;&lt;br /&gt;
: http://gnexp.com/songs/reminisce.ogg ([http://download.tuxfamily.org/wesnothmusic/extras/reminisce.ogg mirror])&lt;br /&gt;
&lt;br /&gt;
; (Untitled) by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=17580 forum thread]) 1'14&amp;quot;&lt;br /&gt;
: http://www.box.net/shared/yopoe1hvh2 ([http://download.tuxfamily.org/wesnothmusic/extras/doug_kaufman-music%20score.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/doug_kaufman-music%20score.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;War Song&amp;quot; by hiro hito ([http://www.wesnoth.org/forum/viewtopic.php?t=17379 forum thread]) 6'27&amp;quot;&lt;br /&gt;
: http://download.tuxfamily.org/hirosound/tribal_war_song.mp3 ([http://download.tuxfamily.org/wesnothmusic/extras/tribal_war_song.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/tribal_war_song.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3 4'01&amp;quot; ([http://download.tuxfamily.org/wesnothmusic/extras/DragonVert1.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/DragonVert1.ogg ogg])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3 2'57&amp;quot; ([http://download.tuxfamily.org/wesnothmusic/extras/DragonVert2.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/DragonVert2.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Sing&amp;quot; by Marcus Rasseli ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/41165228/3f6c6fd2/sinf1_up2.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=24265</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=24265"/>
		<updated>2008-03-22T02:24:38Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Available Music for Campaign Authors */ +mirrors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
If you find an incorrect link, or see that something is missing from this page or filed incorrectly, please fix it! We need your help to maintain this wiki :).&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign. To listen to them, find the data/core/music subfolder of your Wesnoth folder, and open the files with a player capable of decoding [http://www.vorbis.com/ Ogg Vorbis] files. For information on where to find your Wesnoth directory, see [[EditingWesnoth]]. For information on how to play .ogg files, visit http://www.vorbis.com/.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg) 5'18&amp;quot;&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg) 0'08&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg) 0'14&amp;quot;&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg) 0'26&amp;quot;&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg) 3'25&amp;quot;&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg) 1'24&amp;quot;&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg) 9'17&amp;quot;&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg) 6'49&amp;quot;&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg) 2'43&amp;quot;&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg) 2'59&amp;quot;&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg) 0'48&amp;quot;&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg) 0'51&amp;quot;&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg) 0'39&amp;quot;&lt;br /&gt;
* &amp;quot;Nunc Dimittis&amp;quot; by Jeremy Nicoll (nunc_dimittis.ogg) 3'50&amp;quot;&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg) 1'17&amp;quot;&lt;br /&gt;
* &amp;quot;The City Falls&amp;quot; by Doug Kaufman (the_city_falls.ogg) 4'06&amp;quot;&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg) 3'41&amp;quot;&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg) 1'52&amp;quot;&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg) 6'00&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg) 0'05&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg) 0'21&amp;quot;&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg) 4'22&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread]) 0'32&amp;quot;&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost ([http://download.tuxfamily.org/wesnothmusic/extras/lzce-Burin%20the%20Lost.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/lzce-Burin%20the%20Lost.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Reminisce&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=17246 forum thread]) 3'45&amp;quot;&lt;br /&gt;
: http://gnexp.com/songs/reminisce.ogg ([http://download.tuxfamily.org/wesnothmusic/extras/reminisce.ogg mirror])&lt;br /&gt;
&lt;br /&gt;
; (Untitled) by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=17580 forum thread]) 1'14&amp;quot;&lt;br /&gt;
: http://www.box.net/shared/yopoe1hvh2 ([http://download.tuxfamily.org/wesnothmusic/extras/doug_kaufman-music%20score.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/doug_kaufman-music%20score.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;War Song&amp;quot; by hiro hito ([http://www.wesnoth.org/forum/viewtopic.php?t=17379 forum thread]) 6'27&amp;quot;&lt;br /&gt;
: http://download.tuxfamily.org/hirosound/tribal_war_song.mp3 ([http://download.tuxfamily.org/wesnothmusic/extras/tribal_war_song.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/tribal_war_song.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3 ([http://download.tuxfamily.org/wesnothmusic/extras/DragonVert1.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/DragonVert1.ogg ogg])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3 ([http://download.tuxfamily.org/wesnothmusic/extras/DragonVert2.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/DragonVert2.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Sing&amp;quot; by Marcus Rasseli ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/41165228/3f6c6fd2/sinf1_up2.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=24264</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=24264"/>
		<updated>2008-03-22T02:20:44Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: move jeanbrut contribs from other -&amp;gt; available&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
If you find an incorrect link, or see that something is missing from this page or filed incorrectly, please fix it! We need your help to maintain this wiki :).&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign. To listen to them, find the data/core/music subfolder of your Wesnoth folder, and open the files with a player capable of decoding [http://www.vorbis.com/ Ogg Vorbis] files. For information on where to find your Wesnoth directory, see [[EditingWesnoth]]. For information on how to play .ogg files, visit http://www.vorbis.com/.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg) 5'18&amp;quot;&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg) 0'08&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg) 0'14&amp;quot;&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg) 0'26&amp;quot;&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg) 3'25&amp;quot;&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg) 1'24&amp;quot;&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg) 9'17&amp;quot;&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg) 6'49&amp;quot;&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg) 2'43&amp;quot;&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg) 2'59&amp;quot;&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg) 0'48&amp;quot;&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg) 0'51&amp;quot;&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg) 0'39&amp;quot;&lt;br /&gt;
* &amp;quot;Nunc Dimittis&amp;quot; by Jeremy Nicoll (nunc_dimittis.ogg) 3'50&amp;quot;&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg) 1'17&amp;quot;&lt;br /&gt;
* &amp;quot;The City Falls&amp;quot; by Doug Kaufman (the_city_falls.ogg) 4'06&amp;quot;&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg) 3'41&amp;quot;&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg) 1'52&amp;quot;&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg) 6'00&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg) 0'05&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg) 0'21&amp;quot;&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg) 4'22&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread]) 0'32&amp;quot;&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost ([http://download.tuxfamily.org/wesnothmusic/extras/lzce-Burin%20the%20Lost.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/lzce-Burin%20the%20Lost.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Reminisce&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=17246 forum thread]) 3'45&amp;quot;&lt;br /&gt;
: http://gnexp.com/songs/reminisce.ogg ([http://download.tuxfamily.org/wesnothmusic/extras/reminisce.ogg mirror])&lt;br /&gt;
&lt;br /&gt;
; (Untitled) by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=17580 forum thread]) 1'14&amp;quot;&lt;br /&gt;
: http://www.box.net/shared/yopoe1hvh2 ([http://download.tuxfamily.org/wesnothmusic/extras/doug_kaufman-music%20score.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/doug_kaufman-music%20score.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;War Song&amp;quot; by hiro hito ([http://www.wesnoth.org/forum/viewtopic.php?t=17379 forum thread]) 6'27&amp;quot;&lt;br /&gt;
: http://download.tuxfamily.org/hirosound/tribal_war_song.mp3 ([http://download.tuxfamily.org/wesnothmusic/extras/tribal_war_song.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/tribal_war_song.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Sing&amp;quot; by Marcus Rasseli ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/41165228/3f6c6fd2/sinf1_up2.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=24263</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=24263"/>
		<updated>2008-03-22T02:17:56Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Works in Progress */ update to marcus's track&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
If you find an incorrect link, or see that something is missing from this page or filed incorrectly, please fix it! We need your help to maintain this wiki :).&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign. To listen to them, find the data/core/music subfolder of your Wesnoth folder, and open the files with a player capable of decoding [http://www.vorbis.com/ Ogg Vorbis] files. For information on where to find your Wesnoth directory, see [[EditingWesnoth]]. For information on how to play .ogg files, visit http://www.vorbis.com/.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg) 5'18&amp;quot;&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg) 0'08&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg) 0'14&amp;quot;&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg) 0'26&amp;quot;&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg) 3'25&amp;quot;&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg) 1'24&amp;quot;&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg) 9'17&amp;quot;&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg) 6'49&amp;quot;&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg) 2'43&amp;quot;&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg) 2'59&amp;quot;&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg) 0'48&amp;quot;&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg) 0'51&amp;quot;&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg) 0'39&amp;quot;&lt;br /&gt;
* &amp;quot;Nunc Dimittis&amp;quot; by Jeremy Nicoll (nunc_dimittis.ogg) 3'50&amp;quot;&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg) 1'17&amp;quot;&lt;br /&gt;
* &amp;quot;The City Falls&amp;quot; by Doug Kaufman (the_city_falls.ogg) 4'06&amp;quot;&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg) 3'41&amp;quot;&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg) 1'52&amp;quot;&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg) 6'00&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg) 0'05&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg) 0'21&amp;quot;&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg) 4'22&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread]) 0'32&amp;quot;&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost ([http://download.tuxfamily.org/wesnothmusic/extras/lzce-Burin%20the%20Lost.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/lzce-Burin%20the%20Lost.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Reminisce&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=17246 forum thread]) 3'45&amp;quot;&lt;br /&gt;
: http://gnexp.com/songs/reminisce.ogg ([http://download.tuxfamily.org/wesnothmusic/extras/reminisce.ogg mirror])&lt;br /&gt;
&lt;br /&gt;
; (Untitled) by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=17580 forum thread]) 1'14&amp;quot;&lt;br /&gt;
: http://www.box.net/shared/yopoe1hvh2 ([http://download.tuxfamily.org/wesnothmusic/extras/doug_kaufman-music%20score.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/doug_kaufman-music%20score.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;War Song&amp;quot; by hiro hito ([http://www.wesnoth.org/forum/viewtopic.php?t=17379 forum thread]) 6'27&amp;quot;&lt;br /&gt;
: http://download.tuxfamily.org/hirosound/tribal_war_song.mp3 ([http://download.tuxfamily.org/wesnothmusic/extras/tribal_war_song.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/tribal_war_song.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Sing&amp;quot; by Marcus Rasseli ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/41165228/3f6c6fd2/sinf1_up2.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=24262</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=24262"/>
		<updated>2008-03-22T02:15:19Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Available Music for Campaign Authors */ mirrored some non-core tracks, and added .ogg versions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
If you find an incorrect link, or see that something is missing from this page or filed incorrectly, please fix it! We need your help to maintain this wiki :).&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign. To listen to them, find the data/core/music subfolder of your Wesnoth folder, and open the files with a player capable of decoding [http://www.vorbis.com/ Ogg Vorbis] files. For information on where to find your Wesnoth directory, see [[EditingWesnoth]]. For information on how to play .ogg files, visit http://www.vorbis.com/.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg) 5'18&amp;quot;&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg) 0'08&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg) 0'14&amp;quot;&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg) 0'26&amp;quot;&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg) 3'25&amp;quot;&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg) 1'24&amp;quot;&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg) 9'17&amp;quot;&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg) 6'49&amp;quot;&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg) 2'43&amp;quot;&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg) 2'59&amp;quot;&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg) 0'48&amp;quot;&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg) 0'51&amp;quot;&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg) 0'39&amp;quot;&lt;br /&gt;
* &amp;quot;Nunc Dimittis&amp;quot; by Jeremy Nicoll (nunc_dimittis.ogg) 3'50&amp;quot;&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg) 1'17&amp;quot;&lt;br /&gt;
* &amp;quot;The City Falls&amp;quot; by Doug Kaufman (the_city_falls.ogg) 4'06&amp;quot;&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg) 3'41&amp;quot;&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg) 1'52&amp;quot;&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg) 6'00&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg) 0'05&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg) 0'21&amp;quot;&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg) 4'22&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread]) 0'32&amp;quot;&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost ([http://download.tuxfamily.org/wesnothmusic/extras/lzce-Burin%20the%20Lost.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/lzce-Burin%20the%20Lost.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Reminisce&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=17246 forum thread]) 3'45&amp;quot;&lt;br /&gt;
: http://gnexp.com/songs/reminisce.ogg ([http://download.tuxfamily.org/wesnothmusic/extras/reminisce.ogg mirror])&lt;br /&gt;
&lt;br /&gt;
; (Untitled) by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=17580 forum thread]) 1'14&amp;quot;&lt;br /&gt;
: http://www.box.net/shared/yopoe1hvh2 ([http://download.tuxfamily.org/wesnothmusic/extras/doug_kaufman-music%20score.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/doug_kaufman-music%20score.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;War Song&amp;quot; by hiro hito ([http://www.wesnoth.org/forum/viewtopic.php?t=17379 forum thread]) 6'27&amp;quot;&lt;br /&gt;
: http://download.tuxfamily.org/hirosound/tribal_war_song.mp3 ([http://download.tuxfamily.org/wesnothmusic/extras/tribal_war_song.mp3 mirror] | [http://download.tuxfamily.org/wesnothmusic/extras/tribal_war_song.ogg ogg])&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Sing&amp;quot; by Marcus Rasseli ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Project&amp;diff=23848</id>
		<title>Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Project&amp;diff=23848"/>
		<updated>2008-03-20T00:09:34Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Developers */  add link to PatchSubmissionGuidelines&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Battle for Wesnoth is a [http://gna.org/projects/wesnoth/ Gna! project]. See also the [http://freshmeat.net/projects/wesnoth/ project] and [http://freshmeat.net/project-stats/view/38720/ stats] at [http://www.freshmeat.net/ freshmeat].&lt;br /&gt;
&lt;br /&gt;
There are also Wesnoth pages in other languages:&lt;br /&gt;
French ([http://tournoiswesnoth.frbb.net/ 1], [http://wesnothfr.ww7.be/ 2]),&lt;br /&gt;
[http://wesnoth.fw.hu/ Hungarian],&lt;br /&gt;
[http://wikiwiki.jp/wesnoth/ Japanese],&lt;br /&gt;
[http://perso.wanadoo.es/wesnoth/ Spanish],&lt;br /&gt;
[http://www.wesnoth.cn Chinese].&lt;br /&gt;
&lt;br /&gt;
== Artists ==&lt;br /&gt;
Graphic artists and musicians usually meet on the [http://www.wesnoth.org/forum/ forum].&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewforum.php?f=9 Artwork development forum]&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
== Developers ==&lt;br /&gt;
Coders can help fixing [http://bugs.wesnoth.org bugs], adding new features...&lt;br /&gt;
* [[CodingStandards]]&lt;br /&gt;
* [[PatchSubmissionGuidelines]]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [http://devdocs.wesnoth.org/ Documentation] - generated and uploaded two times every day (05:05 and 17:05 GMT+2).&lt;br /&gt;
* [[WesnothSVN]]&lt;br /&gt;
* [[DeveloperGuide]]&lt;br /&gt;
&lt;br /&gt;
== Translators ==&lt;br /&gt;
* [[WesnothTranslations]]&lt;br /&gt;
* [http://gettext.wesnoth.org Statistics]&lt;br /&gt;
* [[WesCamp|Translating User made Campaigns (featuring wescamp-i18n)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Committers]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=PatchSubmissionGuidelines&amp;diff=23847</id>
		<title>PatchSubmissionGuidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=PatchSubmissionGuidelines&amp;diff=23847"/>
		<updated>2008-03-20T00:08:31Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: initial copy from forums and cleanup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Copied from http://www.wesnoth.org/forum/viewtopic.php?f=10&amp;amp;t=9979&lt;br /&gt;
&lt;br /&gt;
* '''All patches should be submitted at patches.wesnoth.org'''&lt;br /&gt;
You can post them here too for discussion, but we need to track what is their status and p.w.o helps a lot&lt;br /&gt;
&lt;br /&gt;
* '''Patches should be generated using &amp;quot;svn diff&amp;quot;'''&lt;br /&gt;
SVN provides a cool command to generate diff, I usually run &amp;quot;svn diff &amp;gt;mypatch.patch&amp;quot; to create the patch, and its all nice and ready.&lt;br /&gt;
It even records precisely the commit against which it was generated, it makes things really easy for me...&lt;br /&gt;
&lt;br /&gt;
* '''Don't forget to add an entry to the Changelog'''&lt;br /&gt;
* '''Add yourself in about.cfg'''&lt;br /&gt;
Including your name and/or nick it makes it easier for me.&lt;br /&gt;
New contributors should go in the contributor section of the about file&lt;br /&gt;
&lt;br /&gt;
* '''When changing WML, please add a pointer in the wiki to where it should be updated when commited'''&lt;br /&gt;
&lt;br /&gt;
* '''Be patient, sometime I'm not very responsive'''&lt;br /&gt;
* '''Don't be suprised if we discuss the patch a lot'''&lt;br /&gt;
Thus, you should leave us a way to contact you, either a forum nick, an email adress, or submit with a registered gna account.&lt;br /&gt;
&lt;br /&gt;
* '''The patch should generate no warnings'''&lt;br /&gt;
Wesnoth has a large number of warnings enabled, all of them are useful. If your code spits warning, please have a look, and ask yourself why you are doing whatever causes the warning.&lt;br /&gt;
&lt;br /&gt;
* '''When adding a file, don't forget Makefile.am'''&lt;br /&gt;
It makes things simpler for me, and is often forgotten.&lt;br /&gt;
&lt;br /&gt;
* '''Sometimes patches are rejected, don't be suprised if it happens'''&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HackingWesnoth]]&lt;br /&gt;
* [[CodingStandards]]&lt;br /&gt;
* [[EasyCoding]]&lt;br /&gt;
* [[DeveloperResources]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Committers]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23617</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23617"/>
		<updated>2008-03-15T02:47:04Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Extending the Multiplayer server */ typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a compilation of ideas from ML. Needs to be refined (more detailed description, deliverables, workload estimation?):&lt;br /&gt;
&lt;br /&gt;
== I want to be one of your Google Summer of Code students, what should I do... ==&lt;br /&gt;
&lt;br /&gt;
Here is a quick list of things to do to get you started&lt;br /&gt;
* Create an account on gna.org&lt;br /&gt;
* Create an account on the wesnoth forum&lt;br /&gt;
* Join the irc channel (#wesnoth-dev on irc.freenode.net) and introduce yourself. We will not give formal interviews, but we will clearly favor people we have learnt to know during the selection process&lt;br /&gt;
* Contact one of our SummerOfCode people (Ivanovic, Sirp, Boucman, Mordante) to have your forum nick marked as a Summer of code student&lt;br /&gt;
* Start a wiki page about your idea, add a link on this page&lt;br /&gt;
** Fill the questionnaire on this page&lt;br /&gt;
** Detail your idea as much as possible, look at other students pages, and please give milestones and studies you've done&lt;br /&gt;
* Though not mandatory, it is highly advisable to go to the [[EasyCoding]] and [[NotSoEasyCoding]] pages and implement one of these ideas (or any idea of similar scope) so we have an idea how you work. Be sure to use your gna account when submitting these patches so we know who it is coming from. You can also implement some features from our feature request database at gna.&lt;br /&gt;
&lt;br /&gt;
== List of Ideas for the Project (Suggestions from the wesnoth developers) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Writing an AI based on the formula AI ===&lt;br /&gt;
&lt;br /&gt;
Wesnoth has always had a simple C++ based AI. David (our lead developer) has been working on a simple language to write AI in Wesnoth: [[WesnothFormulaAIBranch]]&lt;br /&gt;
&lt;br /&gt;
The Wesnoth AI is used as an opponent in most campaigns, and as such is an important piece of code for the Wesnoth project. Unfortunately, because the skills required to understand and modify it are rather arcane, it is also one of the most neglected parts of the Wesnoth code. This is a place where a lot of research and useful work could be done.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to develop a new AI that would replace the original C++ AI. The main criterias we would want for this new AI are&lt;br /&gt;
&lt;br /&gt;
* ''Plugability :'' It should be trivial for any content maker to change the behavior of the AI in specific case. The exact cases are still to be defined but should typically include&lt;br /&gt;
** hardwiring the first few turns of the AI&lt;br /&gt;
** changing the recruitment pattern&lt;br /&gt;
** completely controlling a given unit (scenario unit)&lt;br /&gt;
** taking control then giving back control of a given unit&lt;br /&gt;
* ''tunability :'' It should be easy for a scenario author to specify the general behavior of the enemy on a given scenario (aggressiveness, intrepidity...)&lt;br /&gt;
* ''specific behaviors :'' there are some typical behaviors that are not optimal for winning a force-on-force battle but are needed for storyline reasons, such as: guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviors, and allow easy addition of new behaviors&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* ''A minimal knowledge of C++ is required, a good knowledge of C++ is desired :'' The formula AI framework is a work in progress and chances are high that some changes in the Wesnoth code base will be needed. The wesnoth developer community is used to handle people that are familiar with coding but not C++, however the Formula AI framework uses advanced C++ features and a good knowledge of the language would avoid a major hurdle when plugging in new entries or functionalities for the AI&lt;br /&gt;
* ''Good social interaction with a large player community :'' A preliminary phase to coding any AI is to know the strategies and gameplay patterns used by human players. This will require a lot of interaction with the player community. Our gameplay developers are communicative and can give some good starting points, but a lot of game experience and good interactions with the player community will be essential for doing a good redesign.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to set milestones at this point, but here are some ideas of what could be done:&lt;br /&gt;
&lt;br /&gt;
* ''AI design description, and basic function library :'' This first deliverable aims to conclude the '''study and analysis''' part of the project : becoming familiar with the formula language, study of multiplayer strategies and of the need of scenario writers with regard to AI. We would like to have a description of the code structure of the AI, some basis of the play strategies it would use and how external scenario writers could configure it for the particular behavior they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone goal is to deliver a working AI implementing the strategies described in the first phase. It would not have to systematically beat the standard C++ AI at this point, but should be able to play the game correctly (recruit, early deployment on villages, grouping units to attack, holding its ground, protecting weak/important units). Moreover most plug-in entries should be available and a test-case for these entries should be provided.&lt;br /&gt;
* ''Fine tunning and behavior library :'' The third phase would validate the actual strategy of the AI. The AI should consistently beat the default C++ AI, and do fairly well against an average human player. At that stage a library of scenario behaviors should also be delivered. The AI does not need to be as efficient with all scenario tweaking, but should act correctly with regard to the particular behavior desired.&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
Our multiplayer community is generally strong and healthy, but we believe its growth is limited by some problems in the interface of the multiplayer lobby.&lt;br /&gt;
&lt;br /&gt;
==== General Description ====&lt;br /&gt;
The general idea of this project would be&lt;br /&gt;
* To study the current lobby,&lt;br /&gt;
* To develop ideas about how our multiplayer interface could evolve to allow it to scale to a much larger community&lt;br /&gt;
* And to implement as many of those changes as practical&lt;br /&gt;
&lt;br /&gt;
Some ideas that we had (but that are in no way mandatory):&lt;br /&gt;
* Having a simple way to register and authenticate nicknames, similar to what IRC offers. The point is not to have cryptographically safe logins, but to have something simple that gets the job done&lt;br /&gt;
* Having a simple room system? Again, inspired by IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in. filtering by:&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criteria you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not yet convinced are good, but that are certainly worth studying (especially how the communities based around these concepts are different from ours)&lt;br /&gt;
* ranking players&lt;br /&gt;
* guilds&lt;br /&gt;
* official tournaments&lt;br /&gt;
* titles for players&lt;br /&gt;
* metaservers&lt;br /&gt;
* game matching when players are ranked (poker, bridge...)&lt;br /&gt;
&lt;br /&gt;
The scalability of the design (both in term of number of players, and in term of the possibility for players and developers to extend the concept) will be an important criterion.&lt;br /&gt;
&lt;br /&gt;
Administration/moderation problems and techniques should also be studied.&lt;br /&gt;
&lt;br /&gt;
Interaction with the Add-On server/forum should be explored.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience with C++ is required. Wesnoth uses some advanced C++ features and is heavily based on BOOST and SDL. We can train you in some of the libraries used, but learning all of them would be a big hurdle.&lt;br /&gt;
* Experience with multiplayer games, in order to have a good idea of what multiplayer lobbies of other game look like, and (more importantly) a good idea of the social behaviours of multiple MP communities, how teams are formed in games and things like that.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
* A first milestone would be a presentation summarizing the different studies, and the proposed interface. preliminary informal stages would probably be desirable, to make sure the proposed idea is already a consensus within devs &lt;br /&gt;
** Study of other MP game-matching interfaces and functionalities&lt;br /&gt;
** Study of other MP communities&lt;br /&gt;
** Study of other MP moderation practices&lt;br /&gt;
** Study of the Wesnoth MP community, including needs, various opinions from different developers and players&lt;br /&gt;
* A second milestone would be the main code delivery. Code should be functional for it will be delivered in the next Wesnoth development release&lt;br /&gt;
&lt;br /&gt;
=== Scenario/Campaign editor ===&lt;br /&gt;
&lt;br /&gt;
Currently, in order to create campaign or multiplayer scenarios, it is necessary to manually edit WML files - XML-like configuration files. The goal of this project would be to create a graphical editor to make the creative process easier.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
&lt;br /&gt;
A scenario editor for Wesnoth supporting everything possible by Wesnoth's engine would be a huge project, so the scope of the actual project must be limited for feasability. What exactly should be implemented would be decided by initial discussion. Implementation details and choice of language/tools would also be up to the student to choose (but see the note on Python below). The main ideas would be for the scenario editor to be:&lt;br /&gt;
* cross-platform (at least Linux, OSX, Windows)&lt;br /&gt;
* easy to use (someone who tries reasonably hard should be able to create a simple scenario/campaign with it, even not knowing WML)&lt;br /&gt;
* powerful (there already is a map editor coming with Wesnoth - the scenario editor will provide more/different things)&lt;br /&gt;
* extensible (also after the SoC project, it should be easy to add additional features)&lt;br /&gt;
&lt;br /&gt;
There exist at least two attempts at a scenario editor, an OSX-only one which shipped with early Wesnoth versions, and CampGen, an external tool written in WxPython. The student could look at them for ideas or even use one of them as base, but that should be discussed first. The below assumes a new application is developed from scratch (which likely will be much more motivating for the student than reviving an existing attempt). The actual things to be done would be:&lt;br /&gt;
&lt;br /&gt;
* Decide on a cross-platform GUI which would be best suited (Qt4, Wx, GTK, Wesnoth's builtin GUI (in that case, could maybe integrate with the existing map editor, but would have serious other problems), or others...).&lt;br /&gt;
* Decide on a platform/language to use (C++, Python, or others...). Wesnoth is written in C++, so it's what most developers would prefer, but as long as it can be expected to work on Linux, OSX and Windows, this is completely open.&lt;br /&gt;
* GUI design. This is the main part of the project. The editor should make it easy to create scenarios, so the GUI must not be confusing/hard to use.&lt;br /&gt;
* Decide on base features. [[ReferenceWML]] lists everything currently supported by WML. Theoretically, the scenario editor could support everything, but for the timeframe of the SoC project, it will be necessary to decide on the most important features and implement those.&lt;br /&gt;
** WML-centric or not? Two opposite views for such an editor would be to either strictly follow WML, as extreme case have one dialog for each WML element. Or on the other hand make a scenario creation tool which completely hides WML and then simply can export to WML, translating features as necessary. The final design likely would be somewhere in between.&lt;br /&gt;
** Ability to read existing WML? The editor will export to WML, but need to decide if it also should be able to read it.&lt;br /&gt;
** Built-in map editor? Wesnoth comes with a map editor, but it can only be used to define the terrain. The scenario editor has to allow placing events and units and other things, so it will need a way to display maps as well. Would be worth investigating if the existing C++ map-drawing code of Wesnoth can be re-used.&lt;br /&gt;
** Ability to enter custom WML code? For advanced users this might be nice, if it can integrate well.&lt;br /&gt;
** Story screen editor for campaigns?&lt;br /&gt;
** How powerful should the events editor be? WML basically is a turing complete language, so must decide what should be supported and how to present to the user.&lt;br /&gt;
** Custom unit animations?&lt;br /&gt;
** Custom multi-hex terrains?&lt;br /&gt;
* Extensibility (leave the possibility to extend the application with plugins for some of the above things, either with a plugin architecture or by making the source code modular enough)&lt;br /&gt;
* WML-export. The second major part besides designing and implementing all the GUI will be exporting the result to WML, and depending on some design choices this could prove more or less hard to do.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
* Knowledge of C++. Even in case the editor is not written in C++, it will be necessary to look at some parts of Wesnoth's source code (WML-parser, editor, ...) and understand them, possibly even integrate/re-use them.&lt;br /&gt;
* Ability/interest in GUI/application design. A not negligible part of the project likely will be spent designing various GUI dialogs.&lt;br /&gt;
* Prior use of level creation tools/modding tools. Knowing existing tools for other games will help a lot in the design phase, as many good ideas can be seen there. Not required though.&lt;br /&gt;
* Having played Wesnoth and knowing what scenarios look like would help. Someone who never played Wesnoth before would risk losing a lot of precious time playing the game instead of working :) But it's not required of course.&lt;br /&gt;
* Knowledge of WML. A candidate who already knows Wesnoth's WML could save the initial time studying it. (On the other hand, not knowing WML might mean less technical bias and might lead to an application which is easer to use for non-technical users.)&lt;br /&gt;
* Ability to interact with developers/users. Presenting GUI mockups and test versions and incorporating early user feedback likely will improve the end result a lot. The Wesnoth community is big enough that there should be quite some willing testers.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
The initial design will decide on many later things, and likely a lot of talking to developers and users will be necessary. But some general milestones I'd expect:&lt;br /&gt;
* Create a base test application in the chosen language/platform. This will not do much yet, maybe load some WML and display it as text. Try to package it for Linux, OSX and Windows (there will be help from the Wesnoth community, so no need to have access to all of them), and see if it can be expected to work. If a standard GUI like C++/Qt4 is used, this will be rather trivial. Something like Python/Wx or C#/.NET might take more time.&lt;br /&gt;
* Add ability to edit some very simple, maybe only textual properties of a scenario, and export to WML. It should already have base features like Save/Load/Undo, copy/paste, multiple documents, and so on. Depending on the chosen GUI this may be easy or already require some work.&lt;br /&gt;
* Finish design. Should list the intended features and demonstrate how the GUI will work.&lt;br /&gt;
* Start implementation, a natural milestone would be to make it possible to create and export a very simple, but playable scenario.&lt;br /&gt;
* Add more of the features (which ones and in which order depends on the design above, a detailed roadmap will be part of it).&lt;br /&gt;
&lt;br /&gt;
=== Addon server ===&lt;br /&gt;
Wesnoth has an addon server which offers users to upload user &lt;br /&gt;
made content (UMC). This allows all other users of Wesnoth&lt;br /&gt;
to easily download and install this content. The server was &lt;br /&gt;
originally written for user-made campaigns but contains a lot&lt;br /&gt;
more types of addons nowadays. Both the server side and the &lt;br /&gt;
client side need to be improved.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
Neither the server nor the client side of the addon server have&lt;br /&gt;
seen much improvement over the years; both are overdue for a reworking.&lt;br /&gt;
The client side GUI needs polishing. For the&lt;br /&gt;
server side we would like to allow better integration with&lt;br /&gt;
various tools (such as wmllint), which improve the quality of the addons.&lt;br /&gt;
&lt;br /&gt;
===== Server side =====&lt;br /&gt;
The server code either needs to be updated or rewritten, the student is free to make this decision him or herself. The student may choose the language for the server, but because some of the code that needs to be integrated is Python we'll need to hear a specific justification for any other choice.&lt;br /&gt;
&lt;br /&gt;
* The server only needs to run on Linux systems. Cross-platform portability would be nice but isn't  required.&lt;br /&gt;
* At the moment there's a rudimentary integration with our translation project Wescamp. This needs to be improved. Upon uploading the new content needs to be send to Wescamp (via a svn commit). And the translations need to be fetched on a regular basis.&lt;br /&gt;
* We have various tools to check the WML code and also upgrade it to newer version. The addon server needs to be able to run those tools on the content.&lt;br /&gt;
&lt;br /&gt;
===== Client side =====&lt;br /&gt;
The client side needs improvements.  There are two main clients;&lt;br /&gt;
one built in to the C++ game binary, and a standalone inmplementation in Python.&lt;br /&gt;
&lt;br /&gt;
* Upgrade the GUI. Mordante is working on a new GUI library which is intended to make it possible to make the wanted changes.&lt;br /&gt;
* Make it easier to see summary and status information on addons. At the moment a lot of new users download something and have no clue what kind of addon it is.&lt;br /&gt;
* Make it easier to see whether a newer version of the addon is on the server and update the addon.&lt;br /&gt;
* Make it easy to select which translations you want to download and also look for newer versions of the translations.&lt;br /&gt;
&lt;br /&gt;
====  Required knowledge and talent ====&lt;br /&gt;
* Knowledge of C++, the game is written in C++ and modifications need to be made there. &lt;br /&gt;
* Knowledge of Python, various tools have been written in Python which need to be integrated with the new server.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
* The first step is to determine what exactly needs to be done and determine in which language the server will be rewritten. This includes, but isn't limited to:&lt;br /&gt;
** Determine the exact feature set.&lt;br /&gt;
** Protocol changes needed.&lt;br /&gt;
** Methods to integrate with both the WML tools and Wescamp with the new server.&lt;br /&gt;
** Determine the GUI for the client side.&lt;br /&gt;
** Justify the choice of language.&lt;br /&gt;
* These points will need to be presented and discussed with the mentor(s).&lt;br /&gt;
* The next thing in to implement the feature set. The code needs to be fully functional and committed in trunk.&lt;br /&gt;
&lt;br /&gt;
=== Map editor ===&lt;br /&gt;
The map editor in Wesnoth serves two goals, making it easy to create&lt;br /&gt;
a new map and helping the terrain artists to test their new terrains.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
The current editor hasn't been actively maintained for quite a while and the&lt;br /&gt;
quality of the code isn't up to par with the main game. The student&lt;br /&gt;
will either revive the current editor or start from scratch, the latter&lt;br /&gt;
will probably be easier. When rewriting from scratch the student can&lt;br /&gt;
pick the language of his/her liking as long as the result is crossplatform&lt;br /&gt;
(at least Linux/Windows/OS X). &lt;br /&gt;
&lt;br /&gt;
(Note: Unlike the add-on server, there is no specific code-integration reason to prefer Python for the editor rewrite in advance.  However. the project has been trying to reduce its dependence on other scripting languages in order to hold down overall maintenance complexity.  Thus, the student should be prepared to justify the choice of any language that is not Python or C++.)&lt;br /&gt;
&lt;br /&gt;
Some of the things the new/revived editor should be able to do:&lt;br /&gt;
* Include all features of the current editor. &lt;br /&gt;
* When rewritten, great care must be taken that the render engine works the same as the render engine in the main game. When rewritten in C++ it can simply use the game sources, otherwise the student needs to turn the main game C++ files into a library which can be called in the language the editor will be written in.&lt;br /&gt;
* The editor needs to be able to handle so called ''custom terrain'', these are terrains used in maps but not loaded by default.&lt;br /&gt;
* The editor needs to be able to reload the terrain graphics config files, this way terrain artist can test the changes to the config files without having to reload the editor.&lt;br /&gt;
* The current editor can generate random maps with help of a config file, which contains a generator definition. The editor can only use one generator hardcoded. This needs to be modified to be able to use every generator config the user has installed.&lt;br /&gt;
* Various ideas exist to help the artists to make it easier to tune their terrains and config files, this is a secondary goal. We think it will be too much work to do this in one summer.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
* The current editor and the main game are written in C++ therefore knowledge of C++ is required. Even if the editor is rewritten in another language the render engine needs to be converted to a library. &lt;br /&gt;
* The student needs to be able to make a user friendly user interface.&lt;br /&gt;
* Depending on in which language and toolkit the editor is (re)written in the student will need to have skills in that language and toolkit. The current editor uses the SDL toolkit with our own widget toolkit.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
* The first step is to make a priority list of features. This means the student has to interact with the community and determine what is most wanted. &lt;br /&gt;
* From this list the student needs create a sublist of items he/she will be able to do within one summer.&lt;br /&gt;
* This needs to be presented and discussed with the mentor(s).&lt;br /&gt;
* The next thing in to implement the feature set. The code needs to be fully functional and committed in trunk.&lt;br /&gt;
&lt;br /&gt;
=== Make your own ideas ===&lt;br /&gt;
If you have your own idea the best thing is to join IRC wesnoth-dev at irc.freenode.net and discuss the idea with the developers there. If the developers think your idea is interesting and like the feature you can start to turn it into a full proposal. Once done discuss it again on IRC so the developers can accept your idea.&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* A MapGenerator rewrite - better scalable for outdoor maps, plus the possibility to define areas (similar to the caverns in the cave generator) etc.&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
The 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). David currently works at Google.&lt;br /&gt;
&lt;br /&gt;
The general [http://www.wesnoth.org/wiki/WesnothPhilosophy Philosophy] of the game (both for gameplay and coding) puts an emphasis on simplicity. The core rules are meant to be learnt easily but provide interesting gameplay and diverse strategies.&lt;br /&gt;
&lt;br /&gt;
On the other hand, or Wesnoth Markup Language (WML) provides a simple language to easily customize scenarios, which has lead to a huge modding community providing us with a large amount of content.&lt;br /&gt;
&lt;br /&gt;
The first stable release (1.0) was on October 2 2005, the latest stable release (1.4) was on March 8 2008.  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.&lt;br /&gt;
&lt;br /&gt;
Wesnoth has grown a lot and is now considered one of the largest open source games around.&lt;br /&gt;
* two servers (stable and developement) with a usual minimum load of more than a hundred players&lt;br /&gt;
* more than two thousands downloads a day&lt;br /&gt;
* 2.1 million downloads via sourceforge.net, many more via various mirrors of Linux Distributions&lt;br /&gt;
* best rated game at the [http://www.happypenguin.org/list?sort=avg_rating linux game tome]&lt;br /&gt;
* game of the year 2007 at [http://www.linuxquestions.org/questions/2007-linuxquestions.org-members-choice-awards-79/open-source-game-of-the-year-610236/ linuxquestions.org]&lt;br /&gt;
* One of the top 20 rated projects on [http://freshmeat.net/stats/#rating Freshmeat] (currently 16th highest rating, and the highest rated game).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A mature project, but with active development and many improvements&lt;br /&gt;
* High quality artwork: both graphics and music&lt;br /&gt;
* Very well­-balanced by a tireless team of playtesters&lt;br /&gt;
* Fun, unique gameplay&lt;br /&gt;
* Even after five years of development, and a very solid, fun product has been created, there are still plenty of new developers, and the number of commits to SVN is still increasing&lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?====&lt;br /&gt;
&lt;br /&gt;
Most of our developers have particular areas of interest in which they work. Though they are efficient in their areas, there are other, presently uncovered, areas of the code with a need for improvements but a high barrier to entry for casual contributors.&lt;br /&gt;
&lt;br /&gt;
If a student were dedicated to any of these uncovered areas, we believe that person could be brought up to speed relatively quickly and function as a peer of the existing developers.&lt;br /&gt;
&lt;br /&gt;
By bringing new people in and allowing them to be actively responsible for an area of code, we hope to kickstart some areas of the project that have lagged behind&lt;br /&gt;
&lt;br /&gt;
==== Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.====&lt;br /&gt;
This is the first time the Wesnoth project has applied to Google SoC.&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?====&lt;br /&gt;
&lt;br /&gt;
This is the first time the Wesnoth project has applied to Google SoC.&lt;br /&gt;
&lt;br /&gt;
==== Who will your organization administrator be? Please include Google Account information.====&lt;br /&gt;
Nils Kneuper aka Ivanovic&lt;br /&gt;
&lt;br /&gt;
crazy.ivanovic |ATTT| googlemail.com&lt;br /&gt;
&lt;br /&gt;
==== What license(s) does your project use?====&lt;br /&gt;
Our project is entirely GPL.&lt;br /&gt;
&lt;br /&gt;
All code is GPL.&lt;br /&gt;
&lt;br /&gt;
All art is GPL, 99% was made for the project, everything else was taken from content that was checked to be GPL.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your ideas page?====&lt;br /&gt;
Our main summer of code page is located at http://www.wesnoth.org/wiki/SummerOfCodeIdeas&lt;br /&gt;
&lt;br /&gt;
This page contains various coding ideas and the thought the development team has already given them.&lt;br /&gt;
&lt;br /&gt;
It also contains a list of the developers that are the most active on IRC and their domains of interest.&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list or forum for your organization?====&lt;br /&gt;
Most development work takes place on &amp;quot;wesnoth-dev&amp;amp;#x40;gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/forum/.&lt;br /&gt;
&lt;br /&gt;
in particular, all art developement takes place on the forum.&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization?====&lt;br /&gt;
&lt;br /&gt;
All our IRC channels are on the ''freenode'' network&lt;br /&gt;
&lt;br /&gt;
* ''#wesnoth-dev'' is the main development channel, where most discussion takes place&lt;br /&gt;
* ''#wesnoth'' is a generic channel for the community&lt;br /&gt;
* ''#wesnoth-mp'' is a separate channel for multiplayer games and balancing&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now.====&lt;br /&gt;
We plan mainly to meet potential students through our IRC channel, but the following questions are wesnoth-specific and are worth pondering for any student, even if we don't need a formal answer&lt;br /&gt;
&lt;br /&gt;
* Basics&lt;br /&gt;
** Write a small introduction to yourself.&lt;br /&gt;
** State your preferred email address.&lt;br /&gt;
** If you have chosen a nick for IRC and Wesnoth forums, what is it?&lt;br /&gt;
** Why do you want to participate in summer of code?&lt;br /&gt;
** What are you studying, subject, level and school? &lt;br /&gt;
&lt;br /&gt;
* Experience&lt;br /&gt;
** What programs/software have you worked on before?&lt;br /&gt;
** Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
** Open Source&lt;br /&gt;
*** Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** Gaming experience&lt;br /&gt;
*** Are you a gamer?  If so...&lt;br /&gt;
*** What type of gamer are you?&lt;br /&gt;
*** What type of games? &lt;br /&gt;
*** What type of opponents do you prefer? &lt;br /&gt;
*** Are you more interested in story or gameplay?&lt;br /&gt;
*** Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
&lt;br /&gt;
We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.&lt;br /&gt;
&lt;br /&gt;
* Communication skills&lt;br /&gt;
** Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.&lt;br /&gt;
** Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Do you give constructive advice? &lt;br /&gt;
** Do you receive advice well? &lt;br /&gt;
** Are you good at sorting useful criticisms from useless ones?&lt;br /&gt;
&lt;br /&gt;
* Project&lt;br /&gt;
** Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** If you have invented your own project, please describe the project and the scope.&lt;br /&gt;
** Why did you choose this project?&lt;br /&gt;
** Include an estimated timeline for your work on the project&lt;br /&gt;
** Include as much technical detail about your implementation as you can&lt;br /&gt;
** What do you expect to gain from this project?&lt;br /&gt;
** What would make you stay in the Wesnoth community after the conclusion of SOC? &lt;br /&gt;
&lt;br /&gt;
* Practical considerations&lt;br /&gt;
** Are you familiar with any of the following tools?&lt;br /&gt;
*** Subversion&lt;br /&gt;
*** C++&lt;br /&gt;
*** Python&lt;br /&gt;
** Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** What programming languages are you fluent in?&lt;br /&gt;
** What spoken languages are you fluent in?&lt;br /&gt;
** At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
&lt;br /&gt;
* Detailed answer (optional, but writing skill is a good predictor of ability to work on a programming team, so you will improve your chances by responding to this).&lt;br /&gt;
** Write a small essay (750-1000 words or more) explaining why you want to participate in a Wesnoth GSoC project. You can use the above questions as guides, but feel free to throw in more information if you feel it is relevant.&lt;br /&gt;
** What is your perception of 'open source'? Briefly explain what you think of the whole 'open source' concept, how you discovered open source, what you expect to gain/experience by participating in an open-source project. (Answer separately or as part of above mini-essay)&lt;br /&gt;
** What motivates or inspires you to write programs and develop software? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''''to be completed''''&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? Please include Google Account information.====&lt;br /&gt;
David White (davewx7@gmail.com)&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&lt;br /&gt;
&lt;br /&gt;
David White (davewx7@gmail.com)&lt;br /&gt;
&lt;br /&gt;
Jeremy Rosen alias Boucman (boucman2|ATTT|gmail.com)&lt;br /&gt;
&lt;br /&gt;
Mark de Wever aka Mordante (mordante.wesnoth|ATTT|gmail.com)&lt;br /&gt;
&lt;br /&gt;
Jörg Hinrichs alias YogiHH (joerghh.hinrichs|ATTT|googlemail.com)&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select these individuals as mentors? Please be as specific as possible.====&lt;br /&gt;
&lt;br /&gt;
Our first criterion was that all the people had to be volunteers. According to other open source projects, being a SoC mentor takes a lot of time and the person has to be ready to spend quite some time with the student.&lt;br /&gt;
&lt;br /&gt;
Dave is the project leader and one of the most knowledgeable in C++. He has also written the Formula AI code which we plan to develop via the SoC. He is well known in our community for formulating simple but effective explanations for complicated topics, and has good design intuition. The growth of Wesnoth demonstrates his capacity to get other developers to work together and keep them involved in a thriving community.&lt;br /&gt;
&lt;br /&gt;
Boucman is one of the oldest active developers around. He has rewritten the whole animation engine and made it an easily pluggable system allowing artists to easily specify exactly how they want the units to appear. He also started many community oriented projects like the [http://wiki.wesnoth.org/UnsortedContrib Art Contribution] section of the wiki (now automated) and the [http://wiki.wesnoth.org/ReferenceWML WML Reference Manual]. He is responsible for dispatching and sorting the patches at http://patches.wesnoth.org and has created the new developer process we currently use. &lt;br /&gt;
&lt;br /&gt;
Mordante is one of the most active developers on our IRC channel. Not only has he done preliminary studies and coding in multiple areas that are candidates for Summer of Code ideas, he also is one of the coders with the best overview of the Wesnoth code. A large part of his work involves refactoring polishing existing code. Next to that he's very active with fixing bugs which leads him to all areas in the code base.&lt;br /&gt;
&lt;br /&gt;
YogiHH has been with the project for more than two years. He did a major refactoring to the gameplay engine and worked quite a bit on the multiplayer code. He also has been a professional trainer for C/C++, Java and C# for many years. Right now he works in a project where he serves as a mentor for a junior developer.&lt;br /&gt;
&lt;br /&gt;
All other developers listed in the ideas page are the leading capacities we do have for the respecting areas. Have a look at our list of people who to contact for which regards. In general all our developers will mentor all students. That is, questions should just be asked in our IRC channel, where basically every developer who has an idea can directly answer.&lt;br /&gt;
&lt;br /&gt;
When choosing the mentors, we have kept in mind that most developers can answer most technical questions, and we have chosen people that are well known for interacting with new-comers/external developers and can provide general guidance and design advice, more than people with specific technical knowledge.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
The first thing to do is to avoid this situation altogether. &lt;br /&gt;
&lt;br /&gt;
Wesnoth is a game, and as such has lots of developers that are not coders. In particular, artists are well known in the Wesnoth community for being very sensible about criticism and our community is used to people being sensible to critics. &lt;br /&gt;
&lt;br /&gt;
We will try to choose students that accept criticism and are able to filter constructive criticism from useless one. The Wesnoth developer community is used to judging people according to these criteria and the special title we are going to give to applicants will allow us to easily spot any such problems and discuss them before they grow out of control.&lt;br /&gt;
&lt;br /&gt;
If a student disappears, his mentor will be in charge of recontacting him to see what is going wrong (available time, tension with other developers, with members of the community etc...). Depending on the actual problem, the mentor and the student will have to agree on possible ways to defuse the problem.&lt;br /&gt;
&lt;br /&gt;
If a student disappears completely and there is no way to get back to him, there is little the project can do except salvaging whatever can be salvaged from the code (the students will have SVN write access, so most of the work will be committed either to trunk or to a specific branch) and find a core developer to take on the job. This will probably be slower and less effective for the project, but it's the best we can do.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&lt;br /&gt;
&lt;br /&gt;
All our mentors are long time developers that volunteered for the job, so we don't expect that to happen. We took the time to ask other former GSoC projects about the workload needed to be a mentor, and our mentors accepted the job knowing the amount of work it involved.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, should it happen, we would continue to mentor as a developper community the student until we find a new &amp;quot;official&amp;quot; mentor to take on the job.&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project's community before, during and after the program?====&lt;br /&gt;
&lt;br /&gt;
Wesnoth has a particularly healthy community, both for developers and for players. &lt;br /&gt;
&lt;br /&gt;
Our general policy regarding new coders has always been &amp;quot;two patch... you're in&amp;quot; In other word, anybody that is able to get two non-trivial patches applied is offered commit privileges.&lt;br /&gt;
&lt;br /&gt;
We have a developer responsible for applying patches and guiding new developers into our community. This is a well known and effective process we plan to apply to students, directing them to our [[EasyCoding]] pages (these project are usually a couple of hours long and has been chosen to provide easy access to code)&lt;br /&gt;
&lt;br /&gt;
Usually, patches go back and forth a couple of time, to make sure that all secondary things are in place (indenting, coding style, modified makefiles etc.) The idea is that coder education should take place before the coder gets commit rights, but that getting new coder in is one of the most important things to maintain our project alive.&lt;br /&gt;
&lt;br /&gt;
If the student is a little proactive and ready to join IRC, all the developers are usually very welcoming, and good at directing newcomers to quickly give useful results.&lt;br /&gt;
&lt;br /&gt;
We also plan to give a special forum title to any students. This will allow all forum members to tell them apart from normal users and give them read/write access to the developer only forums. This will also allow us to quickly spot any problem they might have interacting with the player community. We have a very mature developer community, but our player community is made of all sort of people of all age and education, and it can be rough at time.&lt;br /&gt;
&lt;br /&gt;
==== What will you do to ensure that your accepted students stick with the project after GSoC concludes?====&lt;br /&gt;
&lt;br /&gt;
Since our community has a history of having developers easily and quickly join, we expect the student to be a full-fledged developer quite fast (probably a little after the end of the bonding period). &lt;br /&gt;
&lt;br /&gt;
Thus there will be no &amp;quot;end of GSoC&amp;quot; transition. At the end of the Summer of code we expect the student to be responsible for the part he developed, and to continue taking care of it, just as other developers are responsible for their part.&lt;br /&gt;
&lt;br /&gt;
== People to bug on IRC ==&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
=== boucman ===&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he accustomed to critiquing patches of every kind. Beside this, he knows many areas of the game due to working on applying patches. He is particularly used to answering question from new coders, and doesn't mind explaining trivial stuff. He was the one who started the &amp;quot;two patches, you're in&amp;quot; policy and the ReferenceWML part of the project.&lt;br /&gt;
&lt;br /&gt;
=== Dave alias Sirp ===&lt;br /&gt;
Sirp started Wesnoth and is our lead developer. He is currently our C++ expert and is also the one that is working on the new Formula AI. Any questions regarding the formula AI should be directed to him.&lt;br /&gt;
&lt;br /&gt;
=== Elias Pscherning (elias) ===&lt;br /&gt;
He wrote the original version of campgen and as such will know a lot about what is needed to to make such an editor work correctly. The work on a scenario editor might be based upon campgen and as such his knowledge will be really helpful.&lt;br /&gt;
&lt;br /&gt;
=== Eric S. Raymond (ESR) ===&lt;br /&gt;
ESR is our project toolsmith; he has written several tools that semi-automate various aspects of WML maintenance.  While most of our developers/designers concentrate on either the C++ core or WML but not both, he has a balanced understanding of both levels and may be helpful in helping students develop a grasp of the overall architecture.  Finally, he did the last overhaul of the Wesnoth UI and understands UI design principles; he is well-equipped to guide students working in that area.&lt;br /&gt;
&lt;br /&gt;
=== Karol Nowak (grzywacz) ===&lt;br /&gt;
Last year he participated at GSoC as a student, so he will understand the situation of GSoC students. Beside this he is our top expert on embedded devices, and is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
=== Mordante ===&lt;br /&gt;
Many of the possible projects involve the code for which he is an area expert. Also, many of the possible projects currently listed on the ideas page require GUI parts to work. Given that Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as already being our area expert for the terrain engine.&lt;br /&gt;
&lt;br /&gt;
=== Nils Kneuper (Ivanovic) ===&lt;br /&gt;
He is doing nothing special, he just does some &amp;quot;administrative work&amp;quot; like packaging fresh tarballs when it is time for them and works on setting up any kind of deadlines and timetables related to releasing. He has administrative powers in most areas, no matter if website, forum or IRC. Beside this he uploads translation updates, tries to communicate with the translation teams when it is required and translates a little bit himself every now and then. But in general he is not a real expert in anything, just has a look at things that come up and redirects people to the correct contacts.&lt;br /&gt;
&lt;br /&gt;
=== Noy ===&lt;br /&gt;
Noy is an oddity among developers; he's got no coding skills whatsoever and possesses a limited understanding of computers, which is illustrated by his difficulty operating a Mac. Instead, Noy makes his contribution in gameplay and multiplayer design, drawing upon his background in social sciences research, military strategy and playing games online, to understand the effects of development on the playing community behavior. Along with Soliton, Noy is a useful conduit to discuss any issues in this area; just don't ask him about revising the level of randomness in the game.&lt;br /&gt;
&lt;br /&gt;
=== Noyga ===&lt;br /&gt;
Another versatile developer, on the C++ side he doesn't concentrate on a particular area, did some tweaks to improve translations in some languages (like enabling the female forms for names in various place) but know quite well the C++ side of units, abilities and WML. On the WML side he's an expert.&lt;br /&gt;
&lt;br /&gt;
=== Soliton ===&lt;br /&gt;
He knows our MP server setup best. Beside this he has already done a lot of work on the MP server himself. So he probably has most knowledge about it and, being one of our MP-developers, might provide important help from the perspective of the MP player community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
=== YogiHH or Piotr Cychowski (cycholka) ===&lt;br /&gt;
Since they are the two developers who know most about building under Windows, they will probably be really helpful. Either if the student comes from the Windows side, or to help test resulting work to make sure that it does work on Windows and, for the case that it does not, to show them where problems are.&lt;br /&gt;
&lt;br /&gt;
=== zookeeper or Mythological or Rhuvaen ===&lt;br /&gt;
As our leading WML experts those are to be contacted when it comes to anything related WML problems since they know this stuff best. They do maintain most of the campaigns and improve them whenever they have a good idea for changes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23616</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23616"/>
		<updated>2008-03-15T02:45:39Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Required knowledge and talent */ type&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a compilation of ideas from ML. Needs to be refined (more detailed description, deliverables, workload estimation?):&lt;br /&gt;
&lt;br /&gt;
== I want to be one of your Google Summer of Code students, what should I do... ==&lt;br /&gt;
&lt;br /&gt;
Here is a quick list of things to do to get you started&lt;br /&gt;
* Create an account on gna.org&lt;br /&gt;
* Create an account on the wesnoth forum&lt;br /&gt;
* Join the irc channel (#wesnoth-dev on irc.freenode.net) and introduce yourself. We will not give formal interviews, but we will clearly favor people we have learnt to know during the selection process&lt;br /&gt;
* Contact one of our SummerOfCode people (Ivanovic, Sirp, Boucman, Mordante) to have your forum nick marked as a Summer of code student&lt;br /&gt;
* Start a wiki page about your idea, add a link on this page&lt;br /&gt;
** Fill the questionnaire on this page&lt;br /&gt;
** Detail your idea as much as possible, look at other students pages, and please give milestones and studies you've done&lt;br /&gt;
* Though not mandatory, it is highly advisable to go to the [[EasyCoding]] and [[NotSoEasyCoding]] pages and implement one of these ideas (or any idea of similar scope) so we have an idea how you work. Be sure to use your gna account when submitting these patches so we know who it is coming from. You can also implement some features from our feature request database at gna.&lt;br /&gt;
&lt;br /&gt;
== List of Ideas for the Project (Suggestions from the wesnoth developers) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Writing an AI based on the formula AI ===&lt;br /&gt;
&lt;br /&gt;
Wesnoth has always had a simple C++ based AI. David (our lead developer) has been working on a simple language to write AI in Wesnoth: [[WesnothFormulaAIBranch]]&lt;br /&gt;
&lt;br /&gt;
The Wesnoth AI is used as an opponent in most campaigns, and as such is an important piece of code for the Wesnoth project. Unfortunately, because the skills required to understand and modify it are rather arcane, it is also one of the most neglected parts of the Wesnoth code. This is a place where a lot of research and useful work could be done.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to develop a new AI that would replace the original C++ AI. The main criterias we would want for this new AI are&lt;br /&gt;
&lt;br /&gt;
* ''Plugability :'' It should be trivial for any content maker to change the behavior of the AI in specific case. The exact cases are still to be defined but should typically include&lt;br /&gt;
** hardwiring the first few turns of the AI&lt;br /&gt;
** changing the recruitment pattern&lt;br /&gt;
** completely controlling a given unit (scenario unit)&lt;br /&gt;
** taking control then giving back control of a given unit&lt;br /&gt;
* ''tunability :'' It should be easy for a scenario author to specify the general behavior of the enemy on a given scenario (aggressiveness, intrepidity...)&lt;br /&gt;
* ''specific behaviors :'' there are some typical behaviors that are not optimal for winning a force-on-force battle but are needed for storyline reasons, such as: guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviors, and allow easy addition of new behaviors&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* ''A minimal knowledge of C++ is required, a good knowledge of C++ is desired :'' The formula AI framework is a work in progress and chances are high that some changes in the Wesnoth code base will be needed. The wesnoth developer community is used to handle people that are familiar with coding but not C++, however the Formula AI framework uses advanced C++ features and a good knowledge of the language would avoid a major hurdle when plugging in new entries or functionalities for the AI&lt;br /&gt;
* ''Good social interaction with a large player community :'' A preliminary phase to coding any AI is to know the strategies and gameplay patterns used by human players. This will require a lot of interaction with the player community. Our gameplay developers are communicative and can give some good starting points, but a lot of game experience and good interactions with the player community will be essential for doing a good redesign.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to set milestones at this point, but here are some ideas of what could be done:&lt;br /&gt;
&lt;br /&gt;
* ''AI design description, and basic function library :'' This first deliverable aims to conclude the '''study and analysis''' part of the project : becoming familiar with the formula language, study of multiplayer strategies and of the need of scenario writers with regard to AI. We would like to have a description of the code structure of the AI, some basis of the play strategies it would use and how external scenario writers could configure it for the particular behavior they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone goal is to deliver a working AI implementing the strategies described in the first phase. It would not have to systematically beat the standard C++ AI at this point, but should be able to play the game correctly (recruit, early deployment on villages, grouping units to attack, holding its ground, protecting weak/important units). Moreover most plug-in entries should be available and a test-case for these entries should be provided.&lt;br /&gt;
* ''Fine tunning and behavior library :'' The third phase would validate the actual strategy of the AI. The AI should consistently beat the default C++ AI, and do fairly well against an average human player. At that stage a library of scenario behaviors should also be delivered. The AI does not need to be as efficient with all scenario tweaking, but should act correctly with regard to the particular behavior desired.&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
Our multiplayer community is generally strong and healthy,but we believe its growth is limited by some problems in the interface of the multiplayer lobby.&lt;br /&gt;
&lt;br /&gt;
==== General Description ====&lt;br /&gt;
The general idea of this project would be&lt;br /&gt;
* To study the current lobby,&lt;br /&gt;
* To develop ifeas about how our multiplayer interface could evolve to allow it to scale to a much larger community&lt;br /&gt;
* And to implement as many of those changes as practical&lt;br /&gt;
&lt;br /&gt;
Some ideas that we had (but that are in no way mandatory):&lt;br /&gt;
* Having a simple way to register and authenticate nicknames, similar to what IRC offers. The point is not to have cryptographically safe logins, but to have something simple that gets the job done&lt;br /&gt;
* Having a simple room system? Again, inspired by IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in. filtering by:&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criteria you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not yet convinced are good, but that are certainly worth studying (especially how the communities based around these concepts are different from ours)&lt;br /&gt;
* ranking players&lt;br /&gt;
* guilds&lt;br /&gt;
* official tournaments&lt;br /&gt;
* titles for players&lt;br /&gt;
* metaservers&lt;br /&gt;
* game matching when players are ranked (poker, bridge...)&lt;br /&gt;
&lt;br /&gt;
The scalability of the design (both in term of number of players, and in term of the possibility for players and developers to extend the concept) will be an important criterion.&lt;br /&gt;
&lt;br /&gt;
Administration/moderation problems and techniques should also be studied.&lt;br /&gt;
&lt;br /&gt;
Interaction with the Add-On server/forum should be explored.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience with C++ is required. Wesnoth uses some advanced C++ features and is heavily based on BOOST and SDL. We can train you in some of the libraries used, but learning all of them would be a big hurdle.&lt;br /&gt;
* Experience with multiplayer games, in order to have a good idea of what multiplayer lobbies of other game look like, and (more importantly) a good idea of the social behaviours of multiple MP communities, how teams are formed in games and things like that.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
* A first milestone would be a presentation summarizing the different studies, and the proposed interface. preliminary informal stages would probably be desirable, to make sure the proposed idea is already a consensus within devs &lt;br /&gt;
** Study of other MP game-matching interfaces and functionalities&lt;br /&gt;
** Study of other MP communities&lt;br /&gt;
** Study of other MP moderation practices&lt;br /&gt;
** Study of the Wesnoth MP community, including needs, various opinons from different developers and players&lt;br /&gt;
* A second milestone would be the main code delivery. Code should be functional for it will be delivered in the next Wesnoth development release&lt;br /&gt;
&lt;br /&gt;
=== Scenario/Campaign editor ===&lt;br /&gt;
&lt;br /&gt;
Currently, in order to create campaign or multiplayer scenarios, it is necessary to manually edit WML files - XML-like configuration files. The goal of this project would be to create a graphical editor to make the creative process easier.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
&lt;br /&gt;
A scenario editor for Wesnoth supporting everything possible by Wesnoth's engine would be a huge project, so the scope of the actual project must be limited for feasability. What exactly should be implemented would be decided by initial discussion. Implementation details and choice of language/tools would also be up to the student to choose (but see the note on Python below). The main ideas would be for the scenario editor to be:&lt;br /&gt;
* cross-platform (at least Linux, OSX, Windows)&lt;br /&gt;
* easy to use (someone who tries reasonably hard should be able to create a simple scenario/campaign with it, even not knowing WML)&lt;br /&gt;
* powerful (there already is a map editor coming with Wesnoth - the scenario editor will provide more/different things)&lt;br /&gt;
* extensible (also after the SoC project, it should be easy to add additional features)&lt;br /&gt;
&lt;br /&gt;
There exist at least two attempts at a scenario editor, an OSX-only one which shipped with early Wesnoth versions, and CampGen, an external tool written in WxPython. The student could look at them for ideas or even use one of them as base, but that should be discussed first. The below assumes a new application is developed from scratch (which likely will be much more motivating for the student than reviving an existing attempt). The actual things to be done would be:&lt;br /&gt;
&lt;br /&gt;
* Decide on a cross-platform GUI which would be best suited (Qt4, Wx, GTK, Wesnoth's builtin GUI (in that case, could maybe integrate with the existing map editor, but would have serious other problems), or others...).&lt;br /&gt;
* Decide on a platform/language to use (C++, Python, or others...). Wesnoth is written in C++, so it's what most developers would prefer, but as long as it can be expected to work on Linux, OSX and Windows, this is completely open.&lt;br /&gt;
* GUI design. This is the main part of the project. The editor should make it easy to create scenarios, so the GUI must not be confusing/hard to use.&lt;br /&gt;
* Decide on base features. [[ReferenceWML]] lists everything currently supported by WML. Theoretically, the scenario editor could support everything, but for the timeframe of the SoC project, it will be necessary to decide on the most important features and implement those.&lt;br /&gt;
** WML-centric or not? Two opposite views for such an editor would be to either strictly follow WML, as extreme case have one dialog for each WML element. Or on the other hand make a scenario creation tool which completely hides WML and then simply can export to WML, translating features as necessary. The final design likely would be somewhere in between.&lt;br /&gt;
** Ability to read existing WML? The editor will export to WML, but need to decide if it also should be able to read it.&lt;br /&gt;
** Built-in map editor? Wesnoth comes with a map editor, but it can only be used to define the terrain. The scenario editor has to allow placing events and units and other things, so it will need a way to display maps as well. Would be worth investigating if the existing C++ map-drawing code of Wesnoth can be re-used.&lt;br /&gt;
** Ability to enter custom WML code? For advanced users this might be nice, if it can integrate well.&lt;br /&gt;
** Story screen editor for campaigns?&lt;br /&gt;
** How powerful should the events editor be? WML basically is a turing complete language, so must decide what should be supported and how to present to the user.&lt;br /&gt;
** Custom unit animations?&lt;br /&gt;
** Custom multi-hex terrains?&lt;br /&gt;
* Extensibility (leave the possibility to extend the application with plugins for some of the above things, either with a plugin architecture or by making the source code modular enough)&lt;br /&gt;
* WML-export. The second major part besides designing and implementing all the GUI will be exporting the result to WML, and depending on some design choices this could prove more or less hard to do.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
* Knowledge of C++. Even in case the editor is not written in C++, it will be necessary to look at some parts of Wesnoth's source code (WML-parser, editor, ...) and understand them, possibly even integrate/re-use them.&lt;br /&gt;
* Ability/interest in GUI/application design. A not negligible part of the project likely will be spent designing various GUI dialogs.&lt;br /&gt;
* Prior use of level creation tools/modding tools. Knowing existing tools for other games will help a lot in the design phase, as many good ideas can be seen there. Not required though.&lt;br /&gt;
* Having played Wesnoth and knowing what scenarios look like would help. Someone who never played Wesnoth before would risk losing a lot of precious time playing the game instead of working :) But it's not required of course.&lt;br /&gt;
* Knowledge of WML. A candidate who already knows Wesnoth's WML could save the initial time studying it. (On the other hand, not knowing WML might mean less technical bias and might lead to an application which is easer to use for non-technical users.)&lt;br /&gt;
* Ability to interact with developers/users. Presenting GUI mockups and test versions and incorporating early user feedback likely will improve the end result a lot. The Wesnoth community is big enough that there should be quite some willing testers.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
The initial design will decide on many later things, and likely a lot of talking to developers and users will be necessary. But some general milestones I'd expect:&lt;br /&gt;
* Create a base test application in the chosen language/platform. This will not do much yet, maybe load some WML and display it as text. Try to package it for Linux, OSX and Windows (there will be help from the Wesnoth community, so no need to have access to all of them), and see if it can be expected to work. If a standard GUI like C++/Qt4 is used, this will be rather trivial. Something like Python/Wx or C#/.NET might take more time.&lt;br /&gt;
* Add ability to edit some very simple, maybe only textual properties of a scenario, and export to WML. It should already have base features like Save/Load/Undo, copy/paste, multiple documents, and so on. Depending on the chosen GUI this may be easy or already require some work.&lt;br /&gt;
* Finish design. Should list the intended features and demonstrate how the GUI will work.&lt;br /&gt;
* Start implementation, a natural milestone would be to make it possible to create and export a very simple, but playable scenario.&lt;br /&gt;
* Add more of the features (which ones and in which order depends on the design above, a detailed roadmap will be part of it).&lt;br /&gt;
&lt;br /&gt;
=== Addon server ===&lt;br /&gt;
Wesnoth has an addon server which offers users to upload user &lt;br /&gt;
made content (UMC). This allows all other users of Wesnoth&lt;br /&gt;
to easily download and install this content. The server was &lt;br /&gt;
originally written for user-made campaigns but contains a lot&lt;br /&gt;
more types of addons nowadays. Both the server side and the &lt;br /&gt;
client side need to be improved.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
Neither the server nor the client side of the addon server have&lt;br /&gt;
seen much improvement over the years; both are overdue for a reworking.&lt;br /&gt;
The client side GUI needs polishing. For the&lt;br /&gt;
server side we would like to allow better integration with&lt;br /&gt;
various tools (such as wmllint), which improve the quality of the addons.&lt;br /&gt;
&lt;br /&gt;
===== Server side =====&lt;br /&gt;
The server code either needs to be updated or rewritten, the student is free to make this decision him or herself. The student may choose the language for the server, but because some of the code that needs to be integrated is Python we'll need to hear a specific justification for any other choice.&lt;br /&gt;
&lt;br /&gt;
* The server only needs to run on Linux systems. Cross-platform portability would be nice but isn't  required.&lt;br /&gt;
* At the moment there's a rudimentary integration with our translation project Wescamp. This needs to be improved. Upon uploading the new content needs to be send to Wescamp (via a svn commit). And the translations need to be fetched on a regular basis.&lt;br /&gt;
* We have various tools to check the WML code and also upgrade it to newer version. The addon server needs to be able to run those tools on the content.&lt;br /&gt;
&lt;br /&gt;
===== Client side =====&lt;br /&gt;
The client side needs improvements.  There are two main clients;&lt;br /&gt;
one built in to the C++ game binary, and a standalone inmplementation in Python.&lt;br /&gt;
&lt;br /&gt;
* Upgrade the GUI. Mordante is working on a new GUI library which is intended to make it possible to make the wanted changes.&lt;br /&gt;
* Make it easier to see summary and status information on addons. At the moment a lot of new users download something and have no clue what kind of addon it is.&lt;br /&gt;
* Make it easier to see whether a newer version of the addon is on the server and update the addon.&lt;br /&gt;
* Make it easy to select which translations you want to download and also look for newer versions of the translations.&lt;br /&gt;
&lt;br /&gt;
====  Required knowledge and talent ====&lt;br /&gt;
* Knowledge of C++, the game is written in C++ and modifications need to be made there. &lt;br /&gt;
* Knowledge of Python, various tools have been written in Python which need to be integrated with the new server.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
* The first step is to determine what exactly needs to be done and determine in which language the server will be rewritten. This includes, but isn't limited to:&lt;br /&gt;
** Determine the exact feature set.&lt;br /&gt;
** Protocol changes needed.&lt;br /&gt;
** Methods to integrate with both the WML tools and Wescamp with the new server.&lt;br /&gt;
** Determine the GUI for the client side.&lt;br /&gt;
** Justify the choice of language.&lt;br /&gt;
* These points will need to be presented and discussed with the mentor(s).&lt;br /&gt;
* The next thing in to implement the feature set. The code needs to be fully functional and committed in trunk.&lt;br /&gt;
&lt;br /&gt;
=== Map editor ===&lt;br /&gt;
The map editor in Wesnoth serves two goals, making it easy to create&lt;br /&gt;
a new map and helping the terrain artists to test their new terrains.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
The current editor hasn't been actively maintained for quite a while and the&lt;br /&gt;
quality of the code isn't up to par with the main game. The student&lt;br /&gt;
will either revive the current editor or start from scratch, the latter&lt;br /&gt;
will probably be easier. When rewriting from scratch the student can&lt;br /&gt;
pick the language of his/her liking as long as the result is crossplatform&lt;br /&gt;
(at least Linux/Windows/OS X). &lt;br /&gt;
&lt;br /&gt;
(Note: Unlike the add-on server, there is no specific code-integration reason to prefer Python for the editor rewrite in advance.  However. the project has been trying to reduce its dependence on other scripting languages in order to hold down overall maintenance complexity.  Thus, the student should be prepared to justify the choice of any language that is not Python or C++.)&lt;br /&gt;
&lt;br /&gt;
Some of the things the new/revived editor should be able to do:&lt;br /&gt;
* Include all features of the current editor. &lt;br /&gt;
* When rewritten, great care must be taken that the render engine works the same as the render engine in the main game. When rewritten in C++ it can simply use the game sources, otherwise the student needs to turn the main game C++ files into a library which can be called in the language the editor will be written in.&lt;br /&gt;
* The editor needs to be able to handle so called ''custom terrain'', these are terrains used in maps but not loaded by default.&lt;br /&gt;
* The editor needs to be able to reload the terrain graphics config files, this way terrain artist can test the changes to the config files without having to reload the editor.&lt;br /&gt;
* The current editor can generate random maps with help of a config file, which contains a generator definition. The editor can only use one generator hardcoded. This needs to be modified to be able to use every generator config the user has installed.&lt;br /&gt;
* Various ideas exist to help the artists to make it easier to tune their terrains and config files, this is a secondary goal. We think it will be too much work to do this in one summer.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
* The current editor and the main game are written in C++ therefore knowledge of C++ is required. Even if the editor is rewritten in another language the render engine needs to be converted to a library. &lt;br /&gt;
* The student needs to be able to make a user friendly user interface.&lt;br /&gt;
* Depending on in which language and toolkit the editor is (re)written in the student will need to have skills in that language and toolkit. The current editor uses the SDL toolkit with our own widget toolkit.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
* The first step is to make a priority list of features. This means the student has to interact with the community and determine what is most wanted. &lt;br /&gt;
* From this list the student needs create a sublist of items he/she will be able to do within one summer.&lt;br /&gt;
* This needs to be presented and discussed with the mentor(s).&lt;br /&gt;
* The next thing in to implement the feature set. The code needs to be fully functional and committed in trunk.&lt;br /&gt;
&lt;br /&gt;
=== Make your own ideas ===&lt;br /&gt;
If you have your own idea the best thing is to join IRC wesnoth-dev at irc.freenode.net and discuss the idea with the developers there. If the developers think your idea is interesting and like the feature you can start to turn it into a full proposal. Once done discuss it again on IRC so the developers can accept your idea.&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* A MapGenerator rewrite - better scalable for outdoor maps, plus the possibility to define areas (similar to the caverns in the cave generator) etc.&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
The 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). David currently works at Google.&lt;br /&gt;
&lt;br /&gt;
The general [http://www.wesnoth.org/wiki/WesnothPhilosophy Philosophy] of the game (both for gameplay and coding) puts an emphasis on simplicity. The core rules are meant to be learnt easily but provide interesting gameplay and diverse strategies.&lt;br /&gt;
&lt;br /&gt;
On the other hand, or Wesnoth Markup Language (WML) provides a simple language to easily customize scenarios, which has lead to a huge modding community providing us with a large amount of content.&lt;br /&gt;
&lt;br /&gt;
The first stable release (1.0) was on October 2 2005, the latest stable release (1.4) was on March 8 2008.  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.&lt;br /&gt;
&lt;br /&gt;
Wesnoth has grown a lot and is now considered one of the largest open source games around.&lt;br /&gt;
* two servers (stable and developement) with a usual minimum load of more than a hundred players&lt;br /&gt;
* more than two thousands downloads a day&lt;br /&gt;
* 2.1 million downloads via sourceforge.net, many more via various mirrors of Linux Distributions&lt;br /&gt;
* best rated game at the [http://www.happypenguin.org/list?sort=avg_rating linux game tome]&lt;br /&gt;
* game of the year 2007 at [http://www.linuxquestions.org/questions/2007-linuxquestions.org-members-choice-awards-79/open-source-game-of-the-year-610236/ linuxquestions.org]&lt;br /&gt;
* One of the top 20 rated projects on [http://freshmeat.net/stats/#rating Freshmeat] (currently 16th highest rating, and the highest rated game).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A mature project, but with active development and many improvements&lt;br /&gt;
* High quality artwork: both graphics and music&lt;br /&gt;
* Very well­-balanced by a tireless team of playtesters&lt;br /&gt;
* Fun, unique gameplay&lt;br /&gt;
* Even after five years of development, and a very solid, fun product has been created, there are still plenty of new developers, and the number of commits to SVN is still increasing&lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?====&lt;br /&gt;
&lt;br /&gt;
Most of our developers have particular areas of interest in which they work. Though they are efficient in their areas, there are other, presently uncovered, areas of the code with a need for improvements but a high barrier to entry for casual contributors.&lt;br /&gt;
&lt;br /&gt;
If a student were dedicated to any of these uncovered areas, we believe that person could be brought up to speed relatively quickly and function as a peer of the existing developers.&lt;br /&gt;
&lt;br /&gt;
By bringing new people in and allowing them to be actively responsible for an area of code, we hope to kickstart some areas of the project that have lagged behind&lt;br /&gt;
&lt;br /&gt;
==== Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.====&lt;br /&gt;
This is the first time the Wesnoth project has applied to Google SoC.&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?====&lt;br /&gt;
&lt;br /&gt;
This is the first time the Wesnoth project has applied to Google SoC.&lt;br /&gt;
&lt;br /&gt;
==== Who will your organization administrator be? Please include Google Account information.====&lt;br /&gt;
Nils Kneuper aka Ivanovic&lt;br /&gt;
&lt;br /&gt;
crazy.ivanovic |ATTT| googlemail.com&lt;br /&gt;
&lt;br /&gt;
==== What license(s) does your project use?====&lt;br /&gt;
Our project is entirely GPL.&lt;br /&gt;
&lt;br /&gt;
All code is GPL.&lt;br /&gt;
&lt;br /&gt;
All art is GPL, 99% was made for the project, everything else was taken from content that was checked to be GPL.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your ideas page?====&lt;br /&gt;
Our main summer of code page is located at http://www.wesnoth.org/wiki/SummerOfCodeIdeas&lt;br /&gt;
&lt;br /&gt;
This page contains various coding ideas and the thought the development team has already given them.&lt;br /&gt;
&lt;br /&gt;
It also contains a list of the developers that are the most active on IRC and their domains of interest.&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list or forum for your organization?====&lt;br /&gt;
Most development work takes place on &amp;quot;wesnoth-dev&amp;amp;#x40;gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/forum/.&lt;br /&gt;
&lt;br /&gt;
in particular, all art developement takes place on the forum.&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization?====&lt;br /&gt;
&lt;br /&gt;
All our IRC channels are on the ''freenode'' network&lt;br /&gt;
&lt;br /&gt;
* ''#wesnoth-dev'' is the main development channel, where most discussion takes place&lt;br /&gt;
* ''#wesnoth'' is a generic channel for the community&lt;br /&gt;
* ''#wesnoth-mp'' is a separate channel for multiplayer games and balancing&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now.====&lt;br /&gt;
We plan mainly to meet potential students through our IRC channel, but the following questions are wesnoth-specific and are worth pondering for any student, even if we don't need a formal answer&lt;br /&gt;
&lt;br /&gt;
* Basics&lt;br /&gt;
** Write a small introduction to yourself.&lt;br /&gt;
** State your preferred email address.&lt;br /&gt;
** If you have chosen a nick for IRC and Wesnoth forums, what is it?&lt;br /&gt;
** Why do you want to participate in summer of code?&lt;br /&gt;
** What are you studying, subject, level and school? &lt;br /&gt;
&lt;br /&gt;
* Experience&lt;br /&gt;
** What programs/software have you worked on before?&lt;br /&gt;
** Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
** Open Source&lt;br /&gt;
*** Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** Gaming experience&lt;br /&gt;
*** Are you a gamer?  If so...&lt;br /&gt;
*** What type of gamer are you?&lt;br /&gt;
*** What type of games? &lt;br /&gt;
*** What type of opponents do you prefer? &lt;br /&gt;
*** Are you more interested in story or gameplay?&lt;br /&gt;
*** Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
&lt;br /&gt;
We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.&lt;br /&gt;
&lt;br /&gt;
* Communication skills&lt;br /&gt;
** Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.&lt;br /&gt;
** Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Do you give constructive advice? &lt;br /&gt;
** Do you receive advice well? &lt;br /&gt;
** Are you good at sorting useful criticisms from useless ones?&lt;br /&gt;
&lt;br /&gt;
* Project&lt;br /&gt;
** Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** If you have invented your own project, please describe the project and the scope.&lt;br /&gt;
** Why did you choose this project?&lt;br /&gt;
** Include an estimated timeline for your work on the project&lt;br /&gt;
** Include as much technical detail about your implementation as you can&lt;br /&gt;
** What do you expect to gain from this project?&lt;br /&gt;
** What would make you stay in the Wesnoth community after the conclusion of SOC? &lt;br /&gt;
&lt;br /&gt;
* Practical considerations&lt;br /&gt;
** Are you familiar with any of the following tools?&lt;br /&gt;
*** Subversion&lt;br /&gt;
*** C++&lt;br /&gt;
*** Python&lt;br /&gt;
** Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** What programming languages are you fluent in?&lt;br /&gt;
** What spoken languages are you fluent in?&lt;br /&gt;
** At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
&lt;br /&gt;
* Detailed answer (optional, but writing skill is a good predictor of ability to work on a programming team, so you will improve your chances by responding to this).&lt;br /&gt;
** Write a small essay (750-1000 words or more) explaining why you want to participate in a Wesnoth GSoC project. You can use the above questions as guides, but feel free to throw in more information if you feel it is relevant.&lt;br /&gt;
** What is your perception of 'open source'? Briefly explain what you think of the whole 'open source' concept, how you discovered open source, what you expect to gain/experience by participating in an open-source project. (Answer separately or as part of above mini-essay)&lt;br /&gt;
** What motivates or inspires you to write programs and develop software? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''''to be completed''''&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? Please include Google Account information.====&lt;br /&gt;
David White (davewx7@gmail.com)&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&lt;br /&gt;
&lt;br /&gt;
David White (davewx7@gmail.com)&lt;br /&gt;
&lt;br /&gt;
Jeremy Rosen alias Boucman (boucman2|ATTT|gmail.com)&lt;br /&gt;
&lt;br /&gt;
Mark de Wever aka Mordante (mordante.wesnoth|ATTT|gmail.com)&lt;br /&gt;
&lt;br /&gt;
Jörg Hinrichs alias YogiHH (joerghh.hinrichs|ATTT|googlemail.com)&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select these individuals as mentors? Please be as specific as possible.====&lt;br /&gt;
&lt;br /&gt;
Our first criterion was that all the people had to be volunteers. According to other open source projects, being a SoC mentor takes a lot of time and the person has to be ready to spend quite some time with the student.&lt;br /&gt;
&lt;br /&gt;
Dave is the project leader and one of the most knowledgeable in C++. He has also written the Formula AI code which we plan to develop via the SoC. He is well known in our community for formulating simple but effective explanations for complicated topics, and has good design intuition. The growth of Wesnoth demonstrates his capacity to get other developers to work together and keep them involved in a thriving community.&lt;br /&gt;
&lt;br /&gt;
Boucman is one of the oldest active developers around. He has rewritten the whole animation engine and made it an easily pluggable system allowing artists to easily specify exactly how they want the units to appear. He also started many community oriented projects like the [http://wiki.wesnoth.org/UnsortedContrib Art Contribution] section of the wiki (now automated) and the [http://wiki.wesnoth.org/ReferenceWML WML Reference Manual]. He is responsible for dispatching and sorting the patches at http://patches.wesnoth.org and has created the new developer process we currently use. &lt;br /&gt;
&lt;br /&gt;
Mordante is one of the most active developers on our IRC channel. Not only has he done preliminary studies and coding in multiple areas that are candidates for Summer of Code ideas, he also is one of the coders with the best overview of the Wesnoth code. A large part of his work involves refactoring polishing existing code. Next to that he's very active with fixing bugs which leads him to all areas in the code base.&lt;br /&gt;
&lt;br /&gt;
YogiHH has been with the project for more than two years. He did a major refactoring to the gameplay engine and worked quite a bit on the multiplayer code. He also has been a professional trainer for C/C++, Java and C# for many years. Right now he works in a project where he serves as a mentor for a junior developer.&lt;br /&gt;
&lt;br /&gt;
All other developers listed in the ideas page are the leading capacities we do have for the respecting areas. Have a look at our list of people who to contact for which regards. In general all our developers will mentor all students. That is, questions should just be asked in our IRC channel, where basically every developer who has an idea can directly answer.&lt;br /&gt;
&lt;br /&gt;
When choosing the mentors, we have kept in mind that most developers can answer most technical questions, and we have chosen people that are well known for interacting with new-comers/external developers and can provide general guidance and design advice, more than people with specific technical knowledge.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
The first thing to do is to avoid this situation altogether. &lt;br /&gt;
&lt;br /&gt;
Wesnoth is a game, and as such has lots of developers that are not coders. In particular, artists are well known in the Wesnoth community for being very sensible about criticism and our community is used to people being sensible to critics. &lt;br /&gt;
&lt;br /&gt;
We will try to choose students that accept criticism and are able to filter constructive criticism from useless one. The Wesnoth developer community is used to judging people according to these criteria and the special title we are going to give to applicants will allow us to easily spot any such problems and discuss them before they grow out of control.&lt;br /&gt;
&lt;br /&gt;
If a student disappears, his mentor will be in charge of recontacting him to see what is going wrong (available time, tension with other developers, with members of the community etc...). Depending on the actual problem, the mentor and the student will have to agree on possible ways to defuse the problem.&lt;br /&gt;
&lt;br /&gt;
If a student disappears completely and there is no way to get back to him, there is little the project can do except salvaging whatever can be salvaged from the code (the students will have SVN write access, so most of the work will be committed either to trunk or to a specific branch) and find a core developer to take on the job. This will probably be slower and less effective for the project, but it's the best we can do.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&lt;br /&gt;
&lt;br /&gt;
All our mentors are long time developers that volunteered for the job, so we don't expect that to happen. We took the time to ask other former GSoC projects about the workload needed to be a mentor, and our mentors accepted the job knowing the amount of work it involved.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, should it happen, we would continue to mentor as a developper community the student until we find a new &amp;quot;official&amp;quot; mentor to take on the job.&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project's community before, during and after the program?====&lt;br /&gt;
&lt;br /&gt;
Wesnoth has a particularly healthy community, both for developers and for players. &lt;br /&gt;
&lt;br /&gt;
Our general policy regarding new coders has always been &amp;quot;two patch... you're in&amp;quot; In other word, anybody that is able to get two non-trivial patches applied is offered commit privileges.&lt;br /&gt;
&lt;br /&gt;
We have a developer responsible for applying patches and guiding new developers into our community. This is a well known and effective process we plan to apply to students, directing them to our [[EasyCoding]] pages (these project are usually a couple of hours long and has been chosen to provide easy access to code)&lt;br /&gt;
&lt;br /&gt;
Usually, patches go back and forth a couple of time, to make sure that all secondary things are in place (indenting, coding style, modified makefiles etc.) The idea is that coder education should take place before the coder gets commit rights, but that getting new coder in is one of the most important things to maintain our project alive.&lt;br /&gt;
&lt;br /&gt;
If the student is a little proactive and ready to join IRC, all the developers are usually very welcoming, and good at directing newcomers to quickly give useful results.&lt;br /&gt;
&lt;br /&gt;
We also plan to give a special forum title to any students. This will allow all forum members to tell them apart from normal users and give them read/write access to the developer only forums. This will also allow us to quickly spot any problem they might have interacting with the player community. We have a very mature developer community, but our player community is made of all sort of people of all age and education, and it can be rough at time.&lt;br /&gt;
&lt;br /&gt;
==== What will you do to ensure that your accepted students stick with the project after GSoC concludes?====&lt;br /&gt;
&lt;br /&gt;
Since our community has a history of having developers easily and quickly join, we expect the student to be a full-fledged developer quite fast (probably a little after the end of the bonding period). &lt;br /&gt;
&lt;br /&gt;
Thus there will be no &amp;quot;end of GSoC&amp;quot; transition. At the end of the Summer of code we expect the student to be responsible for the part he developed, and to continue taking care of it, just as other developers are responsible for their part.&lt;br /&gt;
&lt;br /&gt;
== People to bug on IRC ==&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
=== boucman ===&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he accustomed to critiquing patches of every kind. Beside this, he knows many areas of the game due to working on applying patches. He is particularly used to answering question from new coders, and doesn't mind explaining trivial stuff. He was the one who started the &amp;quot;two patches, you're in&amp;quot; policy and the ReferenceWML part of the project.&lt;br /&gt;
&lt;br /&gt;
=== Dave alias Sirp ===&lt;br /&gt;
Sirp started Wesnoth and is our lead developer. He is currently our C++ expert and is also the one that is working on the new Formula AI. Any questions regarding the formula AI should be directed to him.&lt;br /&gt;
&lt;br /&gt;
=== Elias Pscherning (elias) ===&lt;br /&gt;
He wrote the original version of campgen and as such will know a lot about what is needed to to make such an editor work correctly. The work on a scenario editor might be based upon campgen and as such his knowledge will be really helpful.&lt;br /&gt;
&lt;br /&gt;
=== Eric S. Raymond (ESR) ===&lt;br /&gt;
ESR is our project toolsmith; he has written several tools that semi-automate various aspects of WML maintenance.  While most of our developers/designers concentrate on either the C++ core or WML but not both, he has a balanced understanding of both levels and may be helpful in helping students develop a grasp of the overall architecture.  Finally, he did the last overhaul of the Wesnoth UI and understands UI design principles; he is well-equipped to guide students working in that area.&lt;br /&gt;
&lt;br /&gt;
=== Karol Nowak (grzywacz) ===&lt;br /&gt;
Last year he participated at GSoC as a student, so he will understand the situation of GSoC students. Beside this he is our top expert on embedded devices, and is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
=== Mordante ===&lt;br /&gt;
Many of the possible projects involve the code for which he is an area expert. Also, many of the possible projects currently listed on the ideas page require GUI parts to work. Given that Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as already being our area expert for the terrain engine.&lt;br /&gt;
&lt;br /&gt;
=== Nils Kneuper (Ivanovic) ===&lt;br /&gt;
He is doing nothing special, he just does some &amp;quot;administrative work&amp;quot; like packaging fresh tarballs when it is time for them and works on setting up any kind of deadlines and timetables related to releasing. He has administrative powers in most areas, no matter if website, forum or IRC. Beside this he uploads translation updates, tries to communicate with the translation teams when it is required and translates a little bit himself every now and then. But in general he is not a real expert in anything, just has a look at things that come up and redirects people to the correct contacts.&lt;br /&gt;
&lt;br /&gt;
=== Noy ===&lt;br /&gt;
Noy is an oddity among developers; he's got no coding skills whatsoever and possesses a limited understanding of computers, which is illustrated by his difficulty operating a Mac. Instead, Noy makes his contribution in gameplay and multiplayer design, drawing upon his background in social sciences research, military strategy and playing games online, to understand the effects of development on the playing community behavior. Along with Soliton, Noy is a useful conduit to discuss any issues in this area; just don't ask him about revising the level of randomness in the game.&lt;br /&gt;
&lt;br /&gt;
=== Noyga ===&lt;br /&gt;
Another versatile developer, on the C++ side he doesn't concentrate on a particular area, did some tweaks to improve translations in some languages (like enabling the female forms for names in various place) but know quite well the C++ side of units, abilities and WML. On the WML side he's an expert.&lt;br /&gt;
&lt;br /&gt;
=== Soliton ===&lt;br /&gt;
He knows our MP server setup best. Beside this he has already done a lot of work on the MP server himself. So he probably has most knowledge about it and, being one of our MP-developers, might provide important help from the perspective of the MP player community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
=== YogiHH or Piotr Cychowski (cycholka) ===&lt;br /&gt;
Since they are the two developers who know most about building under Windows, they will probably be really helpful. Either if the student comes from the Windows side, or to help test resulting work to make sure that it does work on Windows and, for the case that it does not, to show them where problems are.&lt;br /&gt;
&lt;br /&gt;
=== zookeeper or Mythological or Rhuvaen ===&lt;br /&gt;
As our leading WML experts those are to be contacted when it comes to anything related WML problems since they know this stuff best. They do maintain most of the campaigns and improve them whenever they have a good idea for changes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23615</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23615"/>
		<updated>2008-03-15T02:43:34Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* I want to be one of your Google Summer of Code student, what should I do... */  typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a compilation of ideas from ML. Needs to be refined (more detailed description, deliverables, workload estimation?):&lt;br /&gt;
&lt;br /&gt;
== I want to be one of your Google Summer of Code students, what should I do... ==&lt;br /&gt;
&lt;br /&gt;
Here is a quick list of things to do to get you started&lt;br /&gt;
* Create an account on gna.org&lt;br /&gt;
* Create an account on the wesnoth forum&lt;br /&gt;
* Join the irc channel (#wesnoth-dev on irc.freenode.net) and introduce yourself. We will not give formal interviews, but we will clearly favor people we have learnt to know during the selection process&lt;br /&gt;
* Contact one of our SummerOfCode people (Ivanovic, Sirp, Boucman, Mordante) to have your forum nick marked as a Summer of code student&lt;br /&gt;
* Start a wiki page about your idea, add a link on this page&lt;br /&gt;
** Fill the questionnaire on this page&lt;br /&gt;
** Detail your idea as much as possible, look at other students pages, and please give milestones and studies you've done&lt;br /&gt;
* Though not mandatory, it is highly advisable to go to the [[EasyCoding]] and [[NotSoEasyCoding]] pages and implement one of these ideas (or any idea of similar scope) so we have an idea how you work. Be sure to use your gna account when submitting these patches so we know who it is coming from. You can also implement some features from our feature request database at gna.&lt;br /&gt;
&lt;br /&gt;
== List of Ideas for the Project (Suggestions from the wesnoth developers) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Writing an AI based on the formula AI ===&lt;br /&gt;
&lt;br /&gt;
Wesnoth has always had a simple C++ based AI. David (our lead developer) has been working on a simple language to write AI in Wesnoth: [[WesnothFormulaAIBranch]]&lt;br /&gt;
&lt;br /&gt;
The Wesnoth AI is used as an opponent in most campaigns, and as such is an important piece of code for the Wesnoth project. Unfortunately, because the skills required to understand and modify it are rather arcane, it is also one of the most neglected parts of the Wesnoth code. This is a place where a lot of research and useful work could be done.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to develop a new AI that would replace the original C++ AI. The main criterias we would want for this new AI are&lt;br /&gt;
&lt;br /&gt;
* ''Plugability :'' It should be trivial for any content maker to change the behavior of the AI in specific case. The exact cases are still to be defined but should typically include&lt;br /&gt;
** hardwiring the first few turns of the AI&lt;br /&gt;
** changing the recruitment pattern&lt;br /&gt;
** completely controlling a given unit (scenario unit)&lt;br /&gt;
** taking control then giving back control of a given unit&lt;br /&gt;
* ''tunability :'' It should be easy for a scenario author to specify the general behavior of the enemy on a given scenario (aggressiveness, intrepidity...)&lt;br /&gt;
* ''specific behaviors :'' there are some typical behaviors that are not optimal for winning a force-on-force battle but are needed for storyline reasons, such as: guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviors, and allow easy addition of new behaviors&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* ''A minimal knowledge of C++ is required, a good knowledge of C++ is desired :'' The formula AI framework is a work in progress and chances are high that some changes in the Wesnoth code base will be needed. The wesnoth developer community is used to handle people that are familiar with coding but not C++, however the Formula AI framework uses advanced C++ features and a good knowledge of the language would avoid a major hurdle when plugging in new entries or functionalities for the AI&lt;br /&gt;
* ''Good social interaction with a large player community :'' A preliminary phase to coding any AI is to know the strategies and gameplay patterns used by human players. This will require a lot of interaction with the player community. Our gameplay developers are communicative and can give some good starting points, but a lot of game experience and good interactions with the player community will be essential for doing a good redesign.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to set milestones at this point, but here are some ideas of what could be done:&lt;br /&gt;
&lt;br /&gt;
* ''AI design description, and basic function library :'' This first deliverable aims to conclude the '''study and analysis''' part of the project : becoming familiar with the formula language, study of multiplayer strategies and of the need of scenario writers with regard to AI. We would like to have a description of the code structure of the AI, some basis of the play strategies it would use and how external scenario writers could configure it for the particular behavior they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone goal is to deliver a working AI implementing the strategies described in the first phase. It would not have to systematically beat the standard C++ AI at this point, but should be able to play the game correctly (recruit, early deployment on villages, grouping units to attack, holding its ground, protecting weak/important units). Moreover most plug-in entries should be available and a test-case for these entries should be provided.&lt;br /&gt;
* ''Fine tunning and behavior library :'' The third phase would validate the actual strategy of the AI. The AI should consistently beat the default C++ AI, and do fairly well against an average human player. At that stage a library of scenario behaviors should also be delivered. The AI does not need to be as efficient with all scenario tweaking, but should act correctly with regard to the particular behavior desired.&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
Our multiplayer community is generally strong and healthy,but we believe its growth is limited by some problems in the interface of the multiplayer lobby.&lt;br /&gt;
&lt;br /&gt;
==== General Description ====&lt;br /&gt;
The general idea of this project would be&lt;br /&gt;
* To study the current lobby,&lt;br /&gt;
* To develop ifeas about how our multiplayer interface could evolve to allow it to scale to a much larger community&lt;br /&gt;
* And to implement as many of those changes as practical&lt;br /&gt;
&lt;br /&gt;
Some ideas that we had (but that are in no way mandatory):&lt;br /&gt;
* Having a simple way to register and authenticate nicknames, similar to what IRC offers. The point is not to have cryptographically safe logins, but to have something simple that gets the job done&lt;br /&gt;
* Having a simple room system? Again, inspired by IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in. filtering by:&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criteria you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not yet convinced are good, but that are certainly worth studying (especially how the communities based around these concepts are different from ours)&lt;br /&gt;
* ranking players&lt;br /&gt;
* guilds&lt;br /&gt;
* official tournaments&lt;br /&gt;
* titles for players&lt;br /&gt;
* metaservers&lt;br /&gt;
* game matching when players are ranked (poker, bridge...)&lt;br /&gt;
&lt;br /&gt;
The scalability of the design (both in term of number of players, and in term of the possibility for players and developers to extend the concept) will be an important criterion.&lt;br /&gt;
&lt;br /&gt;
Administration/moderation problems and techniques should also be studied.&lt;br /&gt;
&lt;br /&gt;
Interaction with the Add-On server/forum should be explored.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience with C++ is required. Wesnoth uses some advanced C++ features and is heavily based on BOOST and STL. We can train you in some of the libraries used, but learning all of them would be a big hurdle.&lt;br /&gt;
* Experience with multiplayer games, in order to have a good idea of what multiplayer lobbies of other game look like, and (more importantly) a good idea of the social behaviours of multiple MP communities, how teams are formed in games and things like that&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
* A first milestone would be a presentation summarizing the different studies, and the proposed interface. preliminary informal stages would probably be desirable, to make sure the proposed idea is already a consensus within devs &lt;br /&gt;
** Study of other MP game-matching interfaces and functionalities&lt;br /&gt;
** Study of other MP communities&lt;br /&gt;
** Study of other MP moderation practices&lt;br /&gt;
** Study of the Wesnoth MP community, including needs, various opinons from different developers and players&lt;br /&gt;
* A second milestone would be the main code delivery. Code should be functional for it will be delivered in the next Wesnoth development release&lt;br /&gt;
&lt;br /&gt;
=== Scenario/Campaign editor ===&lt;br /&gt;
&lt;br /&gt;
Currently, in order to create campaign or multiplayer scenarios, it is necessary to manually edit WML files - XML-like configuration files. The goal of this project would be to create a graphical editor to make the creative process easier.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
&lt;br /&gt;
A scenario editor for Wesnoth supporting everything possible by Wesnoth's engine would be a huge project, so the scope of the actual project must be limited for feasability. What exactly should be implemented would be decided by initial discussion. Implementation details and choice of language/tools would also be up to the student to choose (but see the note on Python below). The main ideas would be for the scenario editor to be:&lt;br /&gt;
* cross-platform (at least Linux, OSX, Windows)&lt;br /&gt;
* easy to use (someone who tries reasonably hard should be able to create a simple scenario/campaign with it, even not knowing WML)&lt;br /&gt;
* powerful (there already is a map editor coming with Wesnoth - the scenario editor will provide more/different things)&lt;br /&gt;
* extensible (also after the SoC project, it should be easy to add additional features)&lt;br /&gt;
&lt;br /&gt;
There exist at least two attempts at a scenario editor, an OSX-only one which shipped with early Wesnoth versions, and CampGen, an external tool written in WxPython. The student could look at them for ideas or even use one of them as base, but that should be discussed first. The below assumes a new application is developed from scratch (which likely will be much more motivating for the student than reviving an existing attempt). The actual things to be done would be:&lt;br /&gt;
&lt;br /&gt;
* Decide on a cross-platform GUI which would be best suited (Qt4, Wx, GTK, Wesnoth's builtin GUI (in that case, could maybe integrate with the existing map editor, but would have serious other problems), or others...).&lt;br /&gt;
* Decide on a platform/language to use (C++, Python, or others...). Wesnoth is written in C++, so it's what most developers would prefer, but as long as it can be expected to work on Linux, OSX and Windows, this is completely open.&lt;br /&gt;
* GUI design. This is the main part of the project. The editor should make it easy to create scenarios, so the GUI must not be confusing/hard to use.&lt;br /&gt;
* Decide on base features. [[ReferenceWML]] lists everything currently supported by WML. Theoretically, the scenario editor could support everything, but for the timeframe of the SoC project, it will be necessary to decide on the most important features and implement those.&lt;br /&gt;
** WML-centric or not? Two opposite views for such an editor would be to either strictly follow WML, as extreme case have one dialog for each WML element. Or on the other hand make a scenario creation tool which completely hides WML and then simply can export to WML, translating features as necessary. The final design likely would be somewhere in between.&lt;br /&gt;
** Ability to read existing WML? The editor will export to WML, but need to decide if it also should be able to read it.&lt;br /&gt;
** Built-in map editor? Wesnoth comes with a map editor, but it can only be used to define the terrain. The scenario editor has to allow placing events and units and other things, so it will need a way to display maps as well. Would be worth investigating if the existing C++ map-drawing code of Wesnoth can be re-used.&lt;br /&gt;
** Ability to enter custom WML code? For advanced users this might be nice, if it can integrate well.&lt;br /&gt;
** Story screen editor for campaigns?&lt;br /&gt;
** How powerful should the events editor be? WML basically is a turing complete language, so must decide what should be supported and how to present to the user.&lt;br /&gt;
** Custom unit animations?&lt;br /&gt;
** Custom multi-hex terrains?&lt;br /&gt;
* Extensibility (leave the possibility to extend the application with plugins for some of the above things, either with a plugin architecture or by making the source code modular enough)&lt;br /&gt;
* WML-export. The second major part besides designing and implementing all the GUI will be exporting the result to WML, and depending on some design choices this could prove more or less hard to do.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
* Knowledge of C++. Even in case the editor is not written in C++, it will be necessary to look at some parts of Wesnoth's source code (WML-parser, editor, ...) and understand them, possibly even integrate/re-use them.&lt;br /&gt;
* Ability/interest in GUI/application design. A not negligible part of the project likely will be spent designing various GUI dialogs.&lt;br /&gt;
* Prior use of level creation tools/modding tools. Knowing existing tools for other games will help a lot in the design phase, as many good ideas can be seen there. Not required though.&lt;br /&gt;
* Having played Wesnoth and knowing what scenarios look like would help. Someone who never played Wesnoth before would risk losing a lot of precious time playing the game instead of working :) But it's not required of course.&lt;br /&gt;
* Knowledge of WML. A candidate who already knows Wesnoth's WML could save the initial time studying it. (On the other hand, not knowing WML might mean less technical bias and might lead to an application which is easer to use for non-technical users.)&lt;br /&gt;
* Ability to interact with developers/users. Presenting GUI mockups and test versions and incorporating early user feedback likely will improve the end result a lot. The Wesnoth community is big enough that there should be quite some willing testers.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
The initial design will decide on many later things, and likely a lot of talking to developers and users will be necessary. But some general milestones I'd expect:&lt;br /&gt;
* Create a base test application in the chosen language/platform. This will not do much yet, maybe load some WML and display it as text. Try to package it for Linux, OSX and Windows (there will be help from the Wesnoth community, so no need to have access to all of them), and see if it can be expected to work. If a standard GUI like C++/Qt4 is used, this will be rather trivial. Something like Python/Wx or C#/.NET might take more time.&lt;br /&gt;
* Add ability to edit some very simple, maybe only textual properties of a scenario, and export to WML. It should already have base features like Save/Load/Undo, copy/paste, multiple documents, and so on. Depending on the chosen GUI this may be easy or already require some work.&lt;br /&gt;
* Finish design. Should list the intended features and demonstrate how the GUI will work.&lt;br /&gt;
* Start implementation, a natural milestone would be to make it possible to create and export a very simple, but playable scenario.&lt;br /&gt;
* Add more of the features (which ones and in which order depends on the design above, a detailed roadmap will be part of it).&lt;br /&gt;
&lt;br /&gt;
=== Addon server ===&lt;br /&gt;
Wesnoth has an addon server which offers users to upload user &lt;br /&gt;
made content (UMC). This allows all other users of Wesnoth&lt;br /&gt;
to easily download and install this content. The server was &lt;br /&gt;
originally written for user-made campaigns but contains a lot&lt;br /&gt;
more types of addons nowadays. Both the server side and the &lt;br /&gt;
client side need to be improved.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
Neither the server nor the client side of the addon server have&lt;br /&gt;
seen much improvement over the years; both are overdue for a reworking.&lt;br /&gt;
The client side GUI needs polishing. For the&lt;br /&gt;
server side we would like to allow better integration with&lt;br /&gt;
various tools (such as wmllint), which improve the quality of the addons.&lt;br /&gt;
&lt;br /&gt;
===== Server side =====&lt;br /&gt;
The server code either needs to be updated or rewritten, the student is free to make this decision him or herself. The student may choose the language for the server, but because some of the code that needs to be integrated is Python we'll need to hear a specific justification for any other choice.&lt;br /&gt;
&lt;br /&gt;
* The server only needs to run on Linux systems. Cross-platform portability would be nice but isn't  required.&lt;br /&gt;
* At the moment there's a rudimentary integration with our translation project Wescamp. This needs to be improved. Upon uploading the new content needs to be send to Wescamp (via a svn commit). And the translations need to be fetched on a regular basis.&lt;br /&gt;
* We have various tools to check the WML code and also upgrade it to newer version. The addon server needs to be able to run those tools on the content.&lt;br /&gt;
&lt;br /&gt;
===== Client side =====&lt;br /&gt;
The client side needs improvements.  There are two main clients;&lt;br /&gt;
one built in to the C++ game binary, and a standalone inmplementation in Python.&lt;br /&gt;
&lt;br /&gt;
* Upgrade the GUI. Mordante is working on a new GUI library which is intended to make it possible to make the wanted changes.&lt;br /&gt;
* Make it easier to see summary and status information on addons. At the moment a lot of new users download something and have no clue what kind of addon it is.&lt;br /&gt;
* Make it easier to see whether a newer version of the addon is on the server and update the addon.&lt;br /&gt;
* Make it easy to select which translations you want to download and also look for newer versions of the translations.&lt;br /&gt;
&lt;br /&gt;
====  Required knowledge and talent ====&lt;br /&gt;
* Knowledge of C++, the game is written in C++ and modifications need to be made there. &lt;br /&gt;
* Knowledge of Python, various tools have been written in Python which need to be integrated with the new server.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
* The first step is to determine what exactly needs to be done and determine in which language the server will be rewritten. This includes, but isn't limited to:&lt;br /&gt;
** Determine the exact feature set.&lt;br /&gt;
** Protocol changes needed.&lt;br /&gt;
** Methods to integrate with both the WML tools and Wescamp with the new server.&lt;br /&gt;
** Determine the GUI for the client side.&lt;br /&gt;
** Justify the choice of language.&lt;br /&gt;
* These points will need to be presented and discussed with the mentor(s).&lt;br /&gt;
* The next thing in to implement the feature set. The code needs to be fully functional and committed in trunk.&lt;br /&gt;
&lt;br /&gt;
=== Map editor ===&lt;br /&gt;
The map editor in Wesnoth serves two goals, making it easy to create&lt;br /&gt;
a new map and helping the terrain artists to test their new terrains.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
The current editor hasn't been actively maintained for quite a while and the&lt;br /&gt;
quality of the code isn't up to par with the main game. The student&lt;br /&gt;
will either revive the current editor or start from scratch, the latter&lt;br /&gt;
will probably be easier. When rewriting from scratch the student can&lt;br /&gt;
pick the language of his/her liking as long as the result is crossplatform&lt;br /&gt;
(at least Linux/Windows/OS X). &lt;br /&gt;
&lt;br /&gt;
(Note: Unlike the add-on server, there is no specific code-integration reason to prefer Python for the editor rewrite in advance.  However. the project has been trying to reduce its dependence on other scripting languages in order to hold down overall maintenance complexity.  Thus, the student should be prepared to justify the choice of any language that is not Python or C++.)&lt;br /&gt;
&lt;br /&gt;
Some of the things the new/revived editor should be able to do:&lt;br /&gt;
* Include all features of the current editor. &lt;br /&gt;
* When rewritten, great care must be taken that the render engine works the same as the render engine in the main game. When rewritten in C++ it can simply use the game sources, otherwise the student needs to turn the main game C++ files into a library which can be called in the language the editor will be written in.&lt;br /&gt;
* The editor needs to be able to handle so called ''custom terrain'', these are terrains used in maps but not loaded by default.&lt;br /&gt;
* The editor needs to be able to reload the terrain graphics config files, this way terrain artist can test the changes to the config files without having to reload the editor.&lt;br /&gt;
* The current editor can generate random maps with help of a config file, which contains a generator definition. The editor can only use one generator hardcoded. This needs to be modified to be able to use every generator config the user has installed.&lt;br /&gt;
* Various ideas exist to help the artists to make it easier to tune their terrains and config files, this is a secondary goal. We think it will be too much work to do this in one summer.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
* The current editor and the main game are written in C++ therefore knowledge of C++ is required. Even if the editor is rewritten in another language the render engine needs to be converted to a library. &lt;br /&gt;
* The student needs to be able to make a user friendly user interface.&lt;br /&gt;
* Depending on in which language and toolkit the editor is (re)written in the student will need to have skills in that language and toolkit. The current editor uses the SDL toolkit with our own widget toolkit.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
* The first step is to make a priority list of features. This means the student has to interact with the community and determine what is most wanted. &lt;br /&gt;
* From this list the student needs create a sublist of items he/she will be able to do within one summer.&lt;br /&gt;
* This needs to be presented and discussed with the mentor(s).&lt;br /&gt;
* The next thing in to implement the feature set. The code needs to be fully functional and committed in trunk.&lt;br /&gt;
&lt;br /&gt;
=== Make your own ideas ===&lt;br /&gt;
If you have your own idea the best thing is to join IRC wesnoth-dev at irc.freenode.net and discuss the idea with the developers there. If the developers think your idea is interesting and like the feature you can start to turn it into a full proposal. Once done discuss it again on IRC so the developers can accept your idea.&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* A MapGenerator rewrite - better scalable for outdoor maps, plus the possibility to define areas (similar to the caverns in the cave generator) etc.&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
The 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). David currently works at Google.&lt;br /&gt;
&lt;br /&gt;
The general [http://www.wesnoth.org/wiki/WesnothPhilosophy Philosophy] of the game (both for gameplay and coding) puts an emphasis on simplicity. The core rules are meant to be learnt easily but provide interesting gameplay and diverse strategies.&lt;br /&gt;
&lt;br /&gt;
On the other hand, or Wesnoth Markup Language (WML) provides a simple language to easily customize scenarios, which has lead to a huge modding community providing us with a large amount of content.&lt;br /&gt;
&lt;br /&gt;
The first stable release (1.0) was on October 2 2005, the latest stable release (1.4) was on March 8 2008.  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.&lt;br /&gt;
&lt;br /&gt;
Wesnoth has grown a lot and is now considered one of the largest open source games around.&lt;br /&gt;
* two servers (stable and developement) with a usual minimum load of more than a hundred players&lt;br /&gt;
* more than two thousands downloads a day&lt;br /&gt;
* 2.1 million downloads via sourceforge.net, many more via various mirrors of Linux Distributions&lt;br /&gt;
* best rated game at the [http://www.happypenguin.org/list?sort=avg_rating linux game tome]&lt;br /&gt;
* game of the year 2007 at [http://www.linuxquestions.org/questions/2007-linuxquestions.org-members-choice-awards-79/open-source-game-of-the-year-610236/ linuxquestions.org]&lt;br /&gt;
* One of the top 20 rated projects on [http://freshmeat.net/stats/#rating Freshmeat] (currently 16th highest rating, and the highest rated game).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A mature project, but with active development and many improvements&lt;br /&gt;
* High quality artwork: both graphics and music&lt;br /&gt;
* Very well­-balanced by a tireless team of playtesters&lt;br /&gt;
* Fun, unique gameplay&lt;br /&gt;
* Even after five years of development, and a very solid, fun product has been created, there are still plenty of new developers, and the number of commits to SVN is still increasing&lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?====&lt;br /&gt;
&lt;br /&gt;
Most of our developers have particular areas of interest in which they work. Though they are efficient in their areas, there are other, presently uncovered, areas of the code with a need for improvements but a high barrier to entry for casual contributors.&lt;br /&gt;
&lt;br /&gt;
If a student were dedicated to any of these uncovered areas, we believe that person could be brought up to speed relatively quickly and function as a peer of the existing developers.&lt;br /&gt;
&lt;br /&gt;
By bringing new people in and allowing them to be actively responsible for an area of code, we hope to kickstart some areas of the project that have lagged behind&lt;br /&gt;
&lt;br /&gt;
==== Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.====&lt;br /&gt;
This is the first time the Wesnoth project has applied to Google SoC.&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?====&lt;br /&gt;
&lt;br /&gt;
This is the first time the Wesnoth project has applied to Google SoC.&lt;br /&gt;
&lt;br /&gt;
==== Who will your organization administrator be? Please include Google Account information.====&lt;br /&gt;
Nils Kneuper aka Ivanovic&lt;br /&gt;
&lt;br /&gt;
crazy.ivanovic |ATTT| googlemail.com&lt;br /&gt;
&lt;br /&gt;
==== What license(s) does your project use?====&lt;br /&gt;
Our project is entirely GPL.&lt;br /&gt;
&lt;br /&gt;
All code is GPL.&lt;br /&gt;
&lt;br /&gt;
All art is GPL, 99% was made for the project, everything else was taken from content that was checked to be GPL.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your ideas page?====&lt;br /&gt;
Our main summer of code page is located at http://www.wesnoth.org/wiki/SummerOfCodeIdeas&lt;br /&gt;
&lt;br /&gt;
This page contains various coding ideas and the thought the development team has already given them.&lt;br /&gt;
&lt;br /&gt;
It also contains a list of the developers that are the most active on IRC and their domains of interest.&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list or forum for your organization?====&lt;br /&gt;
Most development work takes place on &amp;quot;wesnoth-dev&amp;amp;#x40;gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/forum/.&lt;br /&gt;
&lt;br /&gt;
in particular, all art developement takes place on the forum.&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization?====&lt;br /&gt;
&lt;br /&gt;
All our IRC channels are on the ''freenode'' network&lt;br /&gt;
&lt;br /&gt;
* ''#wesnoth-dev'' is the main development channel, where most discussion takes place&lt;br /&gt;
* ''#wesnoth'' is a generic channel for the community&lt;br /&gt;
* ''#wesnoth-mp'' is a separate channel for multiplayer games and balancing&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now.====&lt;br /&gt;
We plan mainly to meet potential students through our IRC channel, but the following questions are wesnoth-specific and are worth pondering for any student, even if we don't need a formal answer&lt;br /&gt;
&lt;br /&gt;
* Basics&lt;br /&gt;
** Write a small introduction to yourself.&lt;br /&gt;
** State your preferred email address.&lt;br /&gt;
** If you have chosen a nick for IRC and Wesnoth forums, what is it?&lt;br /&gt;
** Why do you want to participate in summer of code?&lt;br /&gt;
** What are you studying, subject, level and school? &lt;br /&gt;
&lt;br /&gt;
* Experience&lt;br /&gt;
** What programs/software have you worked on before?&lt;br /&gt;
** Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
** Open Source&lt;br /&gt;
*** Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** Gaming experience&lt;br /&gt;
*** Are you a gamer?  If so...&lt;br /&gt;
*** What type of gamer are you?&lt;br /&gt;
*** What type of games? &lt;br /&gt;
*** What type of opponents do you prefer? &lt;br /&gt;
*** Are you more interested in story or gameplay?&lt;br /&gt;
*** Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
&lt;br /&gt;
We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.&lt;br /&gt;
&lt;br /&gt;
* Communication skills&lt;br /&gt;
** Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.&lt;br /&gt;
** Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Do you give constructive advice? &lt;br /&gt;
** Do you receive advice well? &lt;br /&gt;
** Are you good at sorting useful criticisms from useless ones?&lt;br /&gt;
&lt;br /&gt;
* Project&lt;br /&gt;
** Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** If you have invented your own project, please describe the project and the scope.&lt;br /&gt;
** Why did you choose this project?&lt;br /&gt;
** Include an estimated timeline for your work on the project&lt;br /&gt;
** Include as much technical detail about your implementation as you can&lt;br /&gt;
** What do you expect to gain from this project?&lt;br /&gt;
** What would make you stay in the Wesnoth community after the conclusion of SOC? &lt;br /&gt;
&lt;br /&gt;
* Practical considerations&lt;br /&gt;
** Are you familiar with any of the following tools?&lt;br /&gt;
*** Subversion&lt;br /&gt;
*** C++&lt;br /&gt;
*** Python&lt;br /&gt;
** Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** What programming languages are you fluent in?&lt;br /&gt;
** What spoken languages are you fluent in?&lt;br /&gt;
** At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
&lt;br /&gt;
* Detailed answer (optional, but writing skill is a good predictor of ability to work on a programming team, so you will improve your chances by responding to this).&lt;br /&gt;
** Write a small essay (750-1000 words or more) explaining why you want to participate in a Wesnoth GSoC project. You can use the above questions as guides, but feel free to throw in more information if you feel it is relevant.&lt;br /&gt;
** What is your perception of 'open source'? Briefly explain what you think of the whole 'open source' concept, how you discovered open source, what you expect to gain/experience by participating in an open-source project. (Answer separately or as part of above mini-essay)&lt;br /&gt;
** What motivates or inspires you to write programs and develop software? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''''to be completed''''&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? Please include Google Account information.====&lt;br /&gt;
David White (davewx7@gmail.com)&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&lt;br /&gt;
&lt;br /&gt;
David White (davewx7@gmail.com)&lt;br /&gt;
&lt;br /&gt;
Jeremy Rosen alias Boucman (boucman2|ATTT|gmail.com)&lt;br /&gt;
&lt;br /&gt;
Mark de Wever aka Mordante (mordante.wesnoth|ATTT|gmail.com)&lt;br /&gt;
&lt;br /&gt;
Jörg Hinrichs alias YogiHH (joerghh.hinrichs|ATTT|googlemail.com)&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select these individuals as mentors? Please be as specific as possible.====&lt;br /&gt;
&lt;br /&gt;
Our first criterion was that all the people had to be volunteers. According to other open source projects, being a SoC mentor takes a lot of time and the person has to be ready to spend quite some time with the student.&lt;br /&gt;
&lt;br /&gt;
Dave is the project leader and one of the most knowledgeable in C++. He has also written the Formula AI code which we plan to develop via the SoC. He is well known in our community for formulating simple but effective explanations for complicated topics, and has good design intuition. The growth of Wesnoth demonstrates his capacity to get other developers to work together and keep them involved in a thriving community.&lt;br /&gt;
&lt;br /&gt;
Boucman is one of the oldest active developers around. He has rewritten the whole animation engine and made it an easily pluggable system allowing artists to easily specify exactly how they want the units to appear. He also started many community oriented projects like the [http://wiki.wesnoth.org/UnsortedContrib Art Contribution] section of the wiki (now automated) and the [http://wiki.wesnoth.org/ReferenceWML WML Reference Manual]. He is responsible for dispatching and sorting the patches at http://patches.wesnoth.org and has created the new developer process we currently use. &lt;br /&gt;
&lt;br /&gt;
Mordante is one of the most active developers on our IRC channel. Not only has he done preliminary studies and coding in multiple areas that are candidates for Summer of Code ideas, he also is one of the coders with the best overview of the Wesnoth code. A large part of his work involves refactoring polishing existing code. Next to that he's very active with fixing bugs which leads him to all areas in the code base.&lt;br /&gt;
&lt;br /&gt;
YogiHH has been with the project for more than two years. He did a major refactoring to the gameplay engine and worked quite a bit on the multiplayer code. He also has been a professional trainer for C/C++, Java and C# for many years. Right now he works in a project where he serves as a mentor for a junior developer.&lt;br /&gt;
&lt;br /&gt;
All other developers listed in the ideas page are the leading capacities we do have for the respecting areas. Have a look at our list of people who to contact for which regards. In general all our developers will mentor all students. That is, questions should just be asked in our IRC channel, where basically every developer who has an idea can directly answer.&lt;br /&gt;
&lt;br /&gt;
When choosing the mentors, we have kept in mind that most developers can answer most technical questions, and we have chosen people that are well known for interacting with new-comers/external developers and can provide general guidance and design advice, more than people with specific technical knowledge.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
The first thing to do is to avoid this situation altogether. &lt;br /&gt;
&lt;br /&gt;
Wesnoth is a game, and as such has lots of developers that are not coders. In particular, artists are well known in the Wesnoth community for being very sensible about criticism and our community is used to people being sensible to critics. &lt;br /&gt;
&lt;br /&gt;
We will try to choose students that accept criticism and are able to filter constructive criticism from useless one. The Wesnoth developer community is used to judging people according to these criteria and the special title we are going to give to applicants will allow us to easily spot any such problems and discuss them before they grow out of control.&lt;br /&gt;
&lt;br /&gt;
If a student disappears, his mentor will be in charge of recontacting him to see what is going wrong (available time, tension with other developers, with members of the community etc...). Depending on the actual problem, the mentor and the student will have to agree on possible ways to defuse the problem.&lt;br /&gt;
&lt;br /&gt;
If a student disappears completely and there is no way to get back to him, there is little the project can do except salvaging whatever can be salvaged from the code (the students will have SVN write access, so most of the work will be committed either to trunk or to a specific branch) and find a core developer to take on the job. This will probably be slower and less effective for the project, but it's the best we can do.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&lt;br /&gt;
&lt;br /&gt;
All our mentors are long time developers that volunteered for the job, so we don't expect that to happen. We took the time to ask other former GSoC projects about the workload needed to be a mentor, and our mentors accepted the job knowing the amount of work it involved.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, should it happen, we would continue to mentor as a developper community the student until we find a new &amp;quot;official&amp;quot; mentor to take on the job.&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project's community before, during and after the program?====&lt;br /&gt;
&lt;br /&gt;
Wesnoth has a particularly healthy community, both for developers and for players. &lt;br /&gt;
&lt;br /&gt;
Our general policy regarding new coders has always been &amp;quot;two patch... you're in&amp;quot; In other word, anybody that is able to get two non-trivial patches applied is offered commit privileges.&lt;br /&gt;
&lt;br /&gt;
We have a developer responsible for applying patches and guiding new developers into our community. This is a well known and effective process we plan to apply to students, directing them to our [[EasyCoding]] pages (these project are usually a couple of hours long and has been chosen to provide easy access to code)&lt;br /&gt;
&lt;br /&gt;
Usually, patches go back and forth a couple of time, to make sure that all secondary things are in place (indenting, coding style, modified makefiles etc.) The idea is that coder education should take place before the coder gets commit rights, but that getting new coder in is one of the most important things to maintain our project alive.&lt;br /&gt;
&lt;br /&gt;
If the student is a little proactive and ready to join IRC, all the developers are usually very welcoming, and good at directing newcomers to quickly give useful results.&lt;br /&gt;
&lt;br /&gt;
We also plan to give a special forum title to any students. This will allow all forum members to tell them apart from normal users and give them read/write access to the developer only forums. This will also allow us to quickly spot any problem they might have interacting with the player community. We have a very mature developer community, but our player community is made of all sort of people of all age and education, and it can be rough at time.&lt;br /&gt;
&lt;br /&gt;
==== What will you do to ensure that your accepted students stick with the project after GSoC concludes?====&lt;br /&gt;
&lt;br /&gt;
Since our community has a history of having developers easily and quickly join, we expect the student to be a full-fledged developer quite fast (probably a little after the end of the bonding period). &lt;br /&gt;
&lt;br /&gt;
Thus there will be no &amp;quot;end of GSoC&amp;quot; transition. At the end of the Summer of code we expect the student to be responsible for the part he developed, and to continue taking care of it, just as other developers are responsible for their part.&lt;br /&gt;
&lt;br /&gt;
== People to bug on IRC ==&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
=== boucman ===&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he accustomed to critiquing patches of every kind. Beside this, he knows many areas of the game due to working on applying patches. He is particularly used to answering question from new coders, and doesn't mind explaining trivial stuff. He was the one who started the &amp;quot;two patches, you're in&amp;quot; policy and the ReferenceWML part of the project.&lt;br /&gt;
&lt;br /&gt;
=== Dave alias Sirp ===&lt;br /&gt;
Sirp started Wesnoth and is our lead developer. He is currently our C++ expert and is also the one that is working on the new Formula AI. Any questions regarding the formula AI should be directed to him.&lt;br /&gt;
&lt;br /&gt;
=== Elias Pscherning (elias) ===&lt;br /&gt;
He wrote the original version of campgen and as such will know a lot about what is needed to to make such an editor work correctly. The work on a scenario editor might be based upon campgen and as such his knowledge will be really helpful.&lt;br /&gt;
&lt;br /&gt;
=== Eric S. Raymond (ESR) ===&lt;br /&gt;
ESR is our project toolsmith; he has written several tools that semi-automate various aspects of WML maintenance.  While most of our developers/designers concentrate on either the C++ core or WML but not both, he has a balanced understanding of both levels and may be helpful in helping students develop a grasp of the overall architecture.  Finally, he did the last overhaul of the Wesnoth UI and understands UI design principles; he is well-equipped to guide students working in that area.&lt;br /&gt;
&lt;br /&gt;
=== Karol Nowak (grzywacz) ===&lt;br /&gt;
Last year he participated at GSoC as a student, so he will understand the situation of GSoC students. Beside this he is our top expert on embedded devices, and is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
=== Mordante ===&lt;br /&gt;
Many of the possible projects involve the code for which he is an area expert. Also, many of the possible projects currently listed on the ideas page require GUI parts to work. Given that Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as already being our area expert for the terrain engine.&lt;br /&gt;
&lt;br /&gt;
=== Nils Kneuper (Ivanovic) ===&lt;br /&gt;
He is doing nothing special, he just does some &amp;quot;administrative work&amp;quot; like packaging fresh tarballs when it is time for them and works on setting up any kind of deadlines and timetables related to releasing. He has administrative powers in most areas, no matter if website, forum or IRC. Beside this he uploads translation updates, tries to communicate with the translation teams when it is required and translates a little bit himself every now and then. But in general he is not a real expert in anything, just has a look at things that come up and redirects people to the correct contacts.&lt;br /&gt;
&lt;br /&gt;
=== Noy ===&lt;br /&gt;
Noy is an oddity among developers; he's got no coding skills whatsoever and possesses a limited understanding of computers, which is illustrated by his difficulty operating a Mac. Instead, Noy makes his contribution in gameplay and multiplayer design, drawing upon his background in social sciences research, military strategy and playing games online, to understand the effects of development on the playing community behavior. Along with Soliton, Noy is a useful conduit to discuss any issues in this area; just don't ask him about revising the level of randomness in the game.&lt;br /&gt;
&lt;br /&gt;
=== Noyga ===&lt;br /&gt;
Another versatile developer, on the C++ side he doesn't concentrate on a particular area, did some tweaks to improve translations in some languages (like enabling the female forms for names in various place) but know quite well the C++ side of units, abilities and WML. On the WML side he's an expert.&lt;br /&gt;
&lt;br /&gt;
=== Soliton ===&lt;br /&gt;
He knows our MP server setup best. Beside this he has already done a lot of work on the MP server himself. So he probably has most knowledge about it and, being one of our MP-developers, might provide important help from the perspective of the MP player community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
=== YogiHH or Piotr Cychowski (cycholka) ===&lt;br /&gt;
Since they are the two developers who know most about building under Windows, they will probably be really helpful. Either if the student comes from the Windows side, or to help test resulting work to make sure that it does work on Windows and, for the case that it does not, to show them where problems are.&lt;br /&gt;
&lt;br /&gt;
=== zookeeper or Mythological or Rhuvaen ===&lt;br /&gt;
As our leading WML experts those are to be contacted when it comes to anything related WML problems since they know this stuff best. They do maintain most of the campaigns and improve them whenever they have a good idea for changes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23614</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23614"/>
		<updated>2008-03-15T02:43:09Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Required knowledge and talent */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a compilation of ideas from ML. Needs to be refined (more detailed description, deliverables, workload estimation?):&lt;br /&gt;
&lt;br /&gt;
== I want to be one of your Google Summer of Code student, what should I do... ==&lt;br /&gt;
&lt;br /&gt;
Here is a quick list of things to do to get you started&lt;br /&gt;
* Create an account on gna.org&lt;br /&gt;
* Create an account on the wesnoth forum&lt;br /&gt;
* Join the irc channel (#wesnoth-dev on irc.freenode.net) and introduce yourself. We will not give formal interviews, but we will clearly favor people we have learnt to know during the selection process&lt;br /&gt;
* Contact one of our SummerOfCode people (Ivanovic, Sirp, Boucman, Mordante) to have your forum nick marked as a Summer of code student&lt;br /&gt;
* Start a wiki page about your idea, add a link on this page&lt;br /&gt;
** Fill the questionnaire on this page&lt;br /&gt;
** Detail your idea as much as possible, look at other students pages, and please give milestones and studies you've done&lt;br /&gt;
* Though not mandatory, it is highly advisable to go to the [[EasyCoding]] and [[NotSoEasyCoding]] pages and implement one of these ideas (or any idea of similar scope) so we have an idea how you work. Be sure to use your gna account when submitting these patches so we know who it is coming from. You can also implement some features from our feature request database at gna.&lt;br /&gt;
&lt;br /&gt;
== List of Ideas for the Project (Suggestions from the wesnoth developers) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Writing an AI based on the formula AI ===&lt;br /&gt;
&lt;br /&gt;
Wesnoth has always had a simple C++ based AI. David (our lead developer) has been working on a simple language to write AI in Wesnoth: [[WesnothFormulaAIBranch]]&lt;br /&gt;
&lt;br /&gt;
The Wesnoth AI is used as an opponent in most campaigns, and as such is an important piece of code for the Wesnoth project. Unfortunately, because the skills required to understand and modify it are rather arcane, it is also one of the most neglected parts of the Wesnoth code. This is a place where a lot of research and useful work could be done.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
&lt;br /&gt;
The aim of this project is to develop a new AI that would replace the original C++ AI. The main criterias we would want for this new AI are&lt;br /&gt;
&lt;br /&gt;
* ''Plugability :'' It should be trivial for any content maker to change the behavior of the AI in specific case. The exact cases are still to be defined but should typically include&lt;br /&gt;
** hardwiring the first few turns of the AI&lt;br /&gt;
** changing the recruitment pattern&lt;br /&gt;
** completely controlling a given unit (scenario unit)&lt;br /&gt;
** taking control then giving back control of a given unit&lt;br /&gt;
* ''tunability :'' It should be easy for a scenario author to specify the general behavior of the enemy on a given scenario (aggressiveness, intrepidity...)&lt;br /&gt;
* ''specific behaviors :'' there are some typical behaviors that are not optimal for winning a force-on-force battle but are needed for storyline reasons, such as: guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviors, and allow easy addition of new behaviors&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* ''A minimal knowledge of C++ is required, a good knowledge of C++ is desired :'' The formula AI framework is a work in progress and chances are high that some changes in the Wesnoth code base will be needed. The wesnoth developer community is used to handle people that are familiar with coding but not C++, however the Formula AI framework uses advanced C++ features and a good knowledge of the language would avoid a major hurdle when plugging in new entries or functionalities for the AI&lt;br /&gt;
* ''Good social interaction with a large player community :'' A preliminary phase to coding any AI is to know the strategies and gameplay patterns used by human players. This will require a lot of interaction with the player community. Our gameplay developers are communicative and can give some good starting points, but a lot of game experience and good interactions with the player community will be essential for doing a good redesign.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to set milestones at this point, but here are some ideas of what could be done:&lt;br /&gt;
&lt;br /&gt;
* ''AI design description, and basic function library :'' This first deliverable aims to conclude the '''study and analysis''' part of the project : becoming familiar with the formula language, study of multiplayer strategies and of the need of scenario writers with regard to AI. We would like to have a description of the code structure of the AI, some basis of the play strategies it would use and how external scenario writers could configure it for the particular behavior they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone goal is to deliver a working AI implementing the strategies described in the first phase. It would not have to systematically beat the standard C++ AI at this point, but should be able to play the game correctly (recruit, early deployment on villages, grouping units to attack, holding its ground, protecting weak/important units). Moreover most plug-in entries should be available and a test-case for these entries should be provided.&lt;br /&gt;
* ''Fine tunning and behavior library :'' The third phase would validate the actual strategy of the AI. The AI should consistently beat the default C++ AI, and do fairly well against an average human player. At that stage a library of scenario behaviors should also be delivered. The AI does not need to be as efficient with all scenario tweaking, but should act correctly with regard to the particular behavior desired.&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
Our multiplayer community is generally strong and healthy,but we believe its growth is limited by some problems in the interface of the multiplayer lobby.&lt;br /&gt;
&lt;br /&gt;
==== General Description ====&lt;br /&gt;
The general idea of this project would be&lt;br /&gt;
* To study the current lobby,&lt;br /&gt;
* To develop ifeas about how our multiplayer interface could evolve to allow it to scale to a much larger community&lt;br /&gt;
* And to implement as many of those changes as practical&lt;br /&gt;
&lt;br /&gt;
Some ideas that we had (but that are in no way mandatory):&lt;br /&gt;
* Having a simple way to register and authenticate nicknames, similar to what IRC offers. The point is not to have cryptographically safe logins, but to have something simple that gets the job done&lt;br /&gt;
* Having a simple room system? Again, inspired by IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in. filtering by:&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criteria you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not yet convinced are good, but that are certainly worth studying (especially how the communities based around these concepts are different from ours)&lt;br /&gt;
* ranking players&lt;br /&gt;
* guilds&lt;br /&gt;
* official tournaments&lt;br /&gt;
* titles for players&lt;br /&gt;
* metaservers&lt;br /&gt;
* game matching when players are ranked (poker, bridge...)&lt;br /&gt;
&lt;br /&gt;
The scalability of the design (both in term of number of players, and in term of the possibility for players and developers to extend the concept) will be an important criterion.&lt;br /&gt;
&lt;br /&gt;
Administration/moderation problems and techniques should also be studied.&lt;br /&gt;
&lt;br /&gt;
Interaction with the Add-On server/forum should be explored.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience with C++ is required. Wesnoth uses some advanced C++ features and is heavily based on BOOST and STL. We can train you in some of the libraries used, but learning all of them would be a big hurdle.&lt;br /&gt;
* Experience with multiplayer games, in order to have a good idea of what multiplayer lobbies of other game look like, and (more importantly) a good idea of the social behaviours of multiple MP communities, how teams are formed in games and things like that&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
* A first milestone would be a presentation summarizing the different studies, and the proposed interface. preliminary informal stages would probably be desirable, to make sure the proposed idea is already a consensus within devs &lt;br /&gt;
** Study of other MP game-matching interfaces and functionalities&lt;br /&gt;
** Study of other MP communities&lt;br /&gt;
** Study of other MP moderation practices&lt;br /&gt;
** Study of the Wesnoth MP community, including needs, various opinons from different developers and players&lt;br /&gt;
* A second milestone would be the main code delivery. Code should be functional for it will be delivered in the next Wesnoth development release&lt;br /&gt;
&lt;br /&gt;
=== Scenario/Campaign editor ===&lt;br /&gt;
&lt;br /&gt;
Currently, in order to create campaign or multiplayer scenarios, it is necessary to manually edit WML files - XML-like configuration files. The goal of this project would be to create a graphical editor to make the creative process easier.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
&lt;br /&gt;
A scenario editor for Wesnoth supporting everything possible by Wesnoth's engine would be a huge project, so the scope of the actual project must be limited for feasability. What exactly should be implemented would be decided by initial discussion. Implementation details and choice of language/tools would also be up to the student to choose (but see the note on Python below). The main ideas would be for the scenario editor to be:&lt;br /&gt;
* cross-platform (at least Linux, OSX, Windows)&lt;br /&gt;
* easy to use (someone who tries reasonably hard should be able to create a simple scenario/campaign with it, even not knowing WML)&lt;br /&gt;
* powerful (there already is a map editor coming with Wesnoth - the scenario editor will provide more/different things)&lt;br /&gt;
* extensible (also after the SoC project, it should be easy to add additional features)&lt;br /&gt;
&lt;br /&gt;
There exist at least two attempts at a scenario editor, an OSX-only one which shipped with early Wesnoth versions, and CampGen, an external tool written in WxPython. The student could look at them for ideas or even use one of them as base, but that should be discussed first. The below assumes a new application is developed from scratch (which likely will be much more motivating for the student than reviving an existing attempt). The actual things to be done would be:&lt;br /&gt;
&lt;br /&gt;
* Decide on a cross-platform GUI which would be best suited (Qt4, Wx, GTK, Wesnoth's builtin GUI (in that case, could maybe integrate with the existing map editor, but would have serious other problems), or others...).&lt;br /&gt;
* Decide on a platform/language to use (C++, Python, or others...). Wesnoth is written in C++, so it's what most developers would prefer, but as long as it can be expected to work on Linux, OSX and Windows, this is completely open.&lt;br /&gt;
* GUI design. This is the main part of the project. The editor should make it easy to create scenarios, so the GUI must not be confusing/hard to use.&lt;br /&gt;
* Decide on base features. [[ReferenceWML]] lists everything currently supported by WML. Theoretically, the scenario editor could support everything, but for the timeframe of the SoC project, it will be necessary to decide on the most important features and implement those.&lt;br /&gt;
** WML-centric or not? Two opposite views for such an editor would be to either strictly follow WML, as extreme case have one dialog for each WML element. Or on the other hand make a scenario creation tool which completely hides WML and then simply can export to WML, translating features as necessary. The final design likely would be somewhere in between.&lt;br /&gt;
** Ability to read existing WML? The editor will export to WML, but need to decide if it also should be able to read it.&lt;br /&gt;
** Built-in map editor? Wesnoth comes with a map editor, but it can only be used to define the terrain. The scenario editor has to allow placing events and units and other things, so it will need a way to display maps as well. Would be worth investigating if the existing C++ map-drawing code of Wesnoth can be re-used.&lt;br /&gt;
** Ability to enter custom WML code? For advanced users this might be nice, if it can integrate well.&lt;br /&gt;
** Story screen editor for campaigns?&lt;br /&gt;
** How powerful should the events editor be? WML basically is a turing complete language, so must decide what should be supported and how to present to the user.&lt;br /&gt;
** Custom unit animations?&lt;br /&gt;
** Custom multi-hex terrains?&lt;br /&gt;
* Extensibility (leave the possibility to extend the application with plugins for some of the above things, either with a plugin architecture or by making the source code modular enough)&lt;br /&gt;
* WML-export. The second major part besides designing and implementing all the GUI will be exporting the result to WML, and depending on some design choices this could prove more or less hard to do.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
* Knowledge of C++. Even in case the editor is not written in C++, it will be necessary to look at some parts of Wesnoth's source code (WML-parser, editor, ...) and understand them, possibly even integrate/re-use them.&lt;br /&gt;
* Ability/interest in GUI/application design. A not negligible part of the project likely will be spent designing various GUI dialogs.&lt;br /&gt;
* Prior use of level creation tools/modding tools. Knowing existing tools for other games will help a lot in the design phase, as many good ideas can be seen there. Not required though.&lt;br /&gt;
* Having played Wesnoth and knowing what scenarios look like would help. Someone who never played Wesnoth before would risk losing a lot of precious time playing the game instead of working :) But it's not required of course.&lt;br /&gt;
* Knowledge of WML. A candidate who already knows Wesnoth's WML could save the initial time studying it. (On the other hand, not knowing WML might mean less technical bias and might lead to an application which is easer to use for non-technical users.)&lt;br /&gt;
* Ability to interact with developers/users. Presenting GUI mockups and test versions and incorporating early user feedback likely will improve the end result a lot. The Wesnoth community is big enough that there should be quite some willing testers.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
The initial design will decide on many later things, and likely a lot of talking to developers and users will be necessary. But some general milestones I'd expect:&lt;br /&gt;
* Create a base test application in the chosen language/platform. This will not do much yet, maybe load some WML and display it as text. Try to package it for Linux, OSX and Windows (there will be help from the Wesnoth community, so no need to have access to all of them), and see if it can be expected to work. If a standard GUI like C++/Qt4 is used, this will be rather trivial. Something like Python/Wx or C#/.NET might take more time.&lt;br /&gt;
* Add ability to edit some very simple, maybe only textual properties of a scenario, and export to WML. It should already have base features like Save/Load/Undo, copy/paste, multiple documents, and so on. Depending on the chosen GUI this may be easy or already require some work.&lt;br /&gt;
* Finish design. Should list the intended features and demonstrate how the GUI will work.&lt;br /&gt;
* Start implementation, a natural milestone would be to make it possible to create and export a very simple, but playable scenario.&lt;br /&gt;
* Add more of the features (which ones and in which order depends on the design above, a detailed roadmap will be part of it).&lt;br /&gt;
&lt;br /&gt;
=== Addon server ===&lt;br /&gt;
Wesnoth has an addon server which offers users to upload user &lt;br /&gt;
made content (UMC). This allows all other users of Wesnoth&lt;br /&gt;
to easily download and install this content. The server was &lt;br /&gt;
originally written for user-made campaigns but contains a lot&lt;br /&gt;
more types of addons nowadays. Both the server side and the &lt;br /&gt;
client side need to be improved.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
Neither the server nor the client side of the addon server have&lt;br /&gt;
seen much improvement over the years; both are overdue for a reworking.&lt;br /&gt;
The client side GUI needs polishing. For the&lt;br /&gt;
server side we would like to allow better integration with&lt;br /&gt;
various tools (such as wmllint), which improve the quality of the addons.&lt;br /&gt;
&lt;br /&gt;
===== Server side =====&lt;br /&gt;
The server code either needs to be updated or rewritten, the student is free to make this decision him or herself. The student may choose the language for the server, but because some of the code that needs to be integrated is Python we'll need to hear a specific justification for any other choice.&lt;br /&gt;
&lt;br /&gt;
* The server only needs to run on Linux systems. Cross-platform portability would be nice but isn't  required.&lt;br /&gt;
* At the moment there's a rudimentary integration with our translation project Wescamp. This needs to be improved. Upon uploading the new content needs to be send to Wescamp (via a svn commit). And the translations need to be fetched on a regular basis.&lt;br /&gt;
* We have various tools to check the WML code and also upgrade it to newer version. The addon server needs to be able to run those tools on the content.&lt;br /&gt;
&lt;br /&gt;
===== Client side =====&lt;br /&gt;
The client side needs improvements.  There are two main clients;&lt;br /&gt;
one built in to the C++ game binary, and a standalone inmplementation in Python.&lt;br /&gt;
&lt;br /&gt;
* Upgrade the GUI. Mordante is working on a new GUI library which is intended to make it possible to make the wanted changes.&lt;br /&gt;
* Make it easier to see summary and status information on addons. At the moment a lot of new users download something and have no clue what kind of addon it is.&lt;br /&gt;
* Make it easier to see whether a newer version of the addon is on the server and update the addon.&lt;br /&gt;
* Make it easy to select which translations you want to download and also look for newer versions of the translations.&lt;br /&gt;
&lt;br /&gt;
====  Required knowledge and talent ====&lt;br /&gt;
* Knowledge of C++, the game is written in C++ and modifications need to be made there. &lt;br /&gt;
* Knowledge of Python, various tools have been written in Python which need to be integrated with the new server.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
* The first step is to determine what exactly needs to be done and determine in which language the server will be rewritten. This includes, but isn't limited to:&lt;br /&gt;
** Determine the exact feature set.&lt;br /&gt;
** Protocol changes needed.&lt;br /&gt;
** Methods to integrate with both the WML tools and Wescamp with the new server.&lt;br /&gt;
** Determine the GUI for the client side.&lt;br /&gt;
** Justify the choice of language.&lt;br /&gt;
* These points will need to be presented and discussed with the mentor(s).&lt;br /&gt;
* The next thing in to implement the feature set. The code needs to be fully functional and committed in trunk.&lt;br /&gt;
&lt;br /&gt;
=== Map editor ===&lt;br /&gt;
The map editor in Wesnoth serves two goals, making it easy to create&lt;br /&gt;
a new map and helping the terrain artists to test their new terrains.&lt;br /&gt;
&lt;br /&gt;
==== General description ====&lt;br /&gt;
The current editor hasn't been actively maintained for quite a while and the&lt;br /&gt;
quality of the code isn't up to par with the main game. The student&lt;br /&gt;
will either revive the current editor or start from scratch, the latter&lt;br /&gt;
will probably be easier. When rewriting from scratch the student can&lt;br /&gt;
pick the language of his/her liking as long as the result is crossplatform&lt;br /&gt;
(at least Linux/Windows/OS X). &lt;br /&gt;
&lt;br /&gt;
(Note: Unlike the add-on server, there is no specific code-integration reason to prefer Python for the editor rewrite in advance.  However. the project has been trying to reduce its dependence on other scripting languages in order to hold down overall maintenance complexity.  Thus, the student should be prepared to justify the choice of any language that is not Python or C++.)&lt;br /&gt;
&lt;br /&gt;
Some of the things the new/revived editor should be able to do:&lt;br /&gt;
* Include all features of the current editor. &lt;br /&gt;
* When rewritten, great care must be taken that the render engine works the same as the render engine in the main game. When rewritten in C++ it can simply use the game sources, otherwise the student needs to turn the main game C++ files into a library which can be called in the language the editor will be written in.&lt;br /&gt;
* The editor needs to be able to handle so called ''custom terrain'', these are terrains used in maps but not loaded by default.&lt;br /&gt;
* The editor needs to be able to reload the terrain graphics config files, this way terrain artist can test the changes to the config files without having to reload the editor.&lt;br /&gt;
* The current editor can generate random maps with help of a config file, which contains a generator definition. The editor can only use one generator hardcoded. This needs to be modified to be able to use every generator config the user has installed.&lt;br /&gt;
* Various ideas exist to help the artists to make it easier to tune their terrains and config files, this is a secondary goal. We think it will be too much work to do this in one summer.&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
* The current editor and the main game are written in C++ therefore knowledge of C++ is required. Even if the editor is rewritten in another language the render engine needs to be converted to a library. &lt;br /&gt;
* The student needs to be able to make a user friendly user interface.&lt;br /&gt;
* Depending on in which language and toolkit the editor is (re)written in the student will need to have skills in that language and toolkit. The current editor uses the SDL toolkit with our own widget toolkit.&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
* The first step is to make a priority list of features. This means the student has to interact with the community and determine what is most wanted. &lt;br /&gt;
* From this list the student needs create a sublist of items he/she will be able to do within one summer.&lt;br /&gt;
* This needs to be presented and discussed with the mentor(s).&lt;br /&gt;
* The next thing in to implement the feature set. The code needs to be fully functional and committed in trunk.&lt;br /&gt;
&lt;br /&gt;
=== Make your own ideas ===&lt;br /&gt;
If you have your own idea the best thing is to join IRC wesnoth-dev at irc.freenode.net and discuss the idea with the developers there. If the developers think your idea is interesting and like the feature you can start to turn it into a full proposal. Once done discuss it again on IRC so the developers can accept your idea.&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* A MapGenerator rewrite - better scalable for outdoor maps, plus the possibility to define areas (similar to the caverns in the cave generator) etc.&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
The 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). David currently works at Google.&lt;br /&gt;
&lt;br /&gt;
The general [http://www.wesnoth.org/wiki/WesnothPhilosophy Philosophy] of the game (both for gameplay and coding) puts an emphasis on simplicity. The core rules are meant to be learnt easily but provide interesting gameplay and diverse strategies.&lt;br /&gt;
&lt;br /&gt;
On the other hand, or Wesnoth Markup Language (WML) provides a simple language to easily customize scenarios, which has lead to a huge modding community providing us with a large amount of content.&lt;br /&gt;
&lt;br /&gt;
The first stable release (1.0) was on October 2 2005, the latest stable release (1.4) was on March 8 2008.  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.&lt;br /&gt;
&lt;br /&gt;
Wesnoth has grown a lot and is now considered one of the largest open source games around.&lt;br /&gt;
* two servers (stable and developement) with a usual minimum load of more than a hundred players&lt;br /&gt;
* more than two thousands downloads a day&lt;br /&gt;
* 2.1 million downloads via sourceforge.net, many more via various mirrors of Linux Distributions&lt;br /&gt;
* best rated game at the [http://www.happypenguin.org/list?sort=avg_rating linux game tome]&lt;br /&gt;
* game of the year 2007 at [http://www.linuxquestions.org/questions/2007-linuxquestions.org-members-choice-awards-79/open-source-game-of-the-year-610236/ linuxquestions.org]&lt;br /&gt;
* One of the top 20 rated projects on [http://freshmeat.net/stats/#rating Freshmeat] (currently 16th highest rating, and the highest rated game).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A mature project, but with active development and many improvements&lt;br /&gt;
* High quality artwork: both graphics and music&lt;br /&gt;
* Very well­-balanced by a tireless team of playtesters&lt;br /&gt;
* Fun, unique gameplay&lt;br /&gt;
* Even after five years of development, and a very solid, fun product has been created, there are still plenty of new developers, and the number of commits to SVN is still increasing&lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?====&lt;br /&gt;
&lt;br /&gt;
Most of our developers have particular areas of interest in which they work. Though they are efficient in their areas, there are other, presently uncovered, areas of the code with a need for improvements but a high barrier to entry for casual contributors.&lt;br /&gt;
&lt;br /&gt;
If a student were dedicated to any of these uncovered areas, we believe that person could be brought up to speed relatively quickly and function as a peer of the existing developers.&lt;br /&gt;
&lt;br /&gt;
By bringing new people in and allowing them to be actively responsible for an area of code, we hope to kickstart some areas of the project that have lagged behind&lt;br /&gt;
&lt;br /&gt;
==== Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.====&lt;br /&gt;
This is the first time the Wesnoth project has applied to Google SoC.&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?====&lt;br /&gt;
&lt;br /&gt;
This is the first time the Wesnoth project has applied to Google SoC.&lt;br /&gt;
&lt;br /&gt;
==== Who will your organization administrator be? Please include Google Account information.====&lt;br /&gt;
Nils Kneuper aka Ivanovic&lt;br /&gt;
&lt;br /&gt;
crazy.ivanovic |ATTT| googlemail.com&lt;br /&gt;
&lt;br /&gt;
==== What license(s) does your project use?====&lt;br /&gt;
Our project is entirely GPL.&lt;br /&gt;
&lt;br /&gt;
All code is GPL.&lt;br /&gt;
&lt;br /&gt;
All art is GPL, 99% was made for the project, everything else was taken from content that was checked to be GPL.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your ideas page?====&lt;br /&gt;
Our main summer of code page is located at http://www.wesnoth.org/wiki/SummerOfCodeIdeas&lt;br /&gt;
&lt;br /&gt;
This page contains various coding ideas and the thought the development team has already given them.&lt;br /&gt;
&lt;br /&gt;
It also contains a list of the developers that are the most active on IRC and their domains of interest.&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list or forum for your organization?====&lt;br /&gt;
Most development work takes place on &amp;quot;wesnoth-dev&amp;amp;#x40;gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/forum/.&lt;br /&gt;
&lt;br /&gt;
in particular, all art developement takes place on the forum.&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization?====&lt;br /&gt;
&lt;br /&gt;
All our IRC channels are on the ''freenode'' network&lt;br /&gt;
&lt;br /&gt;
* ''#wesnoth-dev'' is the main development channel, where most discussion takes place&lt;br /&gt;
* ''#wesnoth'' is a generic channel for the community&lt;br /&gt;
* ''#wesnoth-mp'' is a separate channel for multiplayer games and balancing&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now.====&lt;br /&gt;
We plan mainly to meet potential students through our IRC channel, but the following questions are wesnoth-specific and are worth pondering for any student, even if we don't need a formal answer&lt;br /&gt;
&lt;br /&gt;
* Basics&lt;br /&gt;
** Write a small introduction to yourself.&lt;br /&gt;
** State your preferred email address.&lt;br /&gt;
** If you have chosen a nick for IRC and Wesnoth forums, what is it?&lt;br /&gt;
** Why do you want to participate in summer of code?&lt;br /&gt;
** What are you studying, subject, level and school? &lt;br /&gt;
&lt;br /&gt;
* Experience&lt;br /&gt;
** What programs/software have you worked on before?&lt;br /&gt;
** Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
** Open Source&lt;br /&gt;
*** Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** Gaming experience&lt;br /&gt;
*** Are you a gamer?  If so...&lt;br /&gt;
*** What type of gamer are you?&lt;br /&gt;
*** What type of games? &lt;br /&gt;
*** What type of opponents do you prefer? &lt;br /&gt;
*** Are you more interested in story or gameplay?&lt;br /&gt;
*** Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
&lt;br /&gt;
We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.&lt;br /&gt;
&lt;br /&gt;
* Communication skills&lt;br /&gt;
** Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.&lt;br /&gt;
** Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Do you give constructive advice? &lt;br /&gt;
** Do you receive advice well? &lt;br /&gt;
** Are you good at sorting useful criticisms from useless ones?&lt;br /&gt;
&lt;br /&gt;
* Project&lt;br /&gt;
** Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** If you have invented your own project, please describe the project and the scope.&lt;br /&gt;
** Why did you choose this project?&lt;br /&gt;
** Include an estimated timeline for your work on the project&lt;br /&gt;
** Include as much technical detail about your implementation as you can&lt;br /&gt;
** What do you expect to gain from this project?&lt;br /&gt;
** What would make you stay in the Wesnoth community after the conclusion of SOC? &lt;br /&gt;
&lt;br /&gt;
* Practical considerations&lt;br /&gt;
** Are you familiar with any of the following tools?&lt;br /&gt;
*** Subversion&lt;br /&gt;
*** C++&lt;br /&gt;
*** Python&lt;br /&gt;
** Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** What programming languages are you fluent in?&lt;br /&gt;
** What spoken languages are you fluent in?&lt;br /&gt;
** At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
&lt;br /&gt;
* Detailed answer (optional, but writing skill is a good predictor of ability to work on a programming team, so you will improve your chances by responding to this).&lt;br /&gt;
** Write a small essay (750-1000 words or more) explaining why you want to participate in a Wesnoth GSoC project. You can use the above questions as guides, but feel free to throw in more information if you feel it is relevant.&lt;br /&gt;
** What is your perception of 'open source'? Briefly explain what you think of the whole 'open source' concept, how you discovered open source, what you expect to gain/experience by participating in an open-source project. (Answer separately or as part of above mini-essay)&lt;br /&gt;
** What motivates or inspires you to write programs and develop software? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''''to be completed''''&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? Please include Google Account information.====&lt;br /&gt;
David White (davewx7@gmail.com)&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&lt;br /&gt;
&lt;br /&gt;
David White (davewx7@gmail.com)&lt;br /&gt;
&lt;br /&gt;
Jeremy Rosen alias Boucman (boucman2|ATTT|gmail.com)&lt;br /&gt;
&lt;br /&gt;
Mark de Wever aka Mordante (mordante.wesnoth|ATTT|gmail.com)&lt;br /&gt;
&lt;br /&gt;
Jörg Hinrichs alias YogiHH (joerghh.hinrichs|ATTT|googlemail.com)&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select these individuals as mentors? Please be as specific as possible.====&lt;br /&gt;
&lt;br /&gt;
Our first criterion was that all the people had to be volunteers. According to other open source projects, being a SoC mentor takes a lot of time and the person has to be ready to spend quite some time with the student.&lt;br /&gt;
&lt;br /&gt;
Dave is the project leader and one of the most knowledgeable in C++. He has also written the Formula AI code which we plan to develop via the SoC. He is well known in our community for formulating simple but effective explanations for complicated topics, and has good design intuition. The growth of Wesnoth demonstrates his capacity to get other developers to work together and keep them involved in a thriving community.&lt;br /&gt;
&lt;br /&gt;
Boucman is one of the oldest active developers around. He has rewritten the whole animation engine and made it an easily pluggable system allowing artists to easily specify exactly how they want the units to appear. He also started many community oriented projects like the [http://wiki.wesnoth.org/UnsortedContrib Art Contribution] section of the wiki (now automated) and the [http://wiki.wesnoth.org/ReferenceWML WML Reference Manual]. He is responsible for dispatching and sorting the patches at http://patches.wesnoth.org and has created the new developer process we currently use. &lt;br /&gt;
&lt;br /&gt;
Mordante is one of the most active developers on our IRC channel. Not only has he done preliminary studies and coding in multiple areas that are candidates for Summer of Code ideas, he also is one of the coders with the best overview of the Wesnoth code. A large part of his work involves refactoring polishing existing code. Next to that he's very active with fixing bugs which leads him to all areas in the code base.&lt;br /&gt;
&lt;br /&gt;
YogiHH has been with the project for more than two years. He did a major refactoring to the gameplay engine and worked quite a bit on the multiplayer code. He also has been a professional trainer for C/C++, Java and C# for many years. Right now he works in a project where he serves as a mentor for a junior developer.&lt;br /&gt;
&lt;br /&gt;
All other developers listed in the ideas page are the leading capacities we do have for the respecting areas. Have a look at our list of people who to contact for which regards. In general all our developers will mentor all students. That is, questions should just be asked in our IRC channel, where basically every developer who has an idea can directly answer.&lt;br /&gt;
&lt;br /&gt;
When choosing the mentors, we have kept in mind that most developers can answer most technical questions, and we have chosen people that are well known for interacting with new-comers/external developers and can provide general guidance and design advice, more than people with specific technical knowledge.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
The first thing to do is to avoid this situation altogether. &lt;br /&gt;
&lt;br /&gt;
Wesnoth is a game, and as such has lots of developers that are not coders. In particular, artists are well known in the Wesnoth community for being very sensible about criticism and our community is used to people being sensible to critics. &lt;br /&gt;
&lt;br /&gt;
We will try to choose students that accept criticism and are able to filter constructive criticism from useless one. The Wesnoth developer community is used to judging people according to these criteria and the special title we are going to give to applicants will allow us to easily spot any such problems and discuss them before they grow out of control.&lt;br /&gt;
&lt;br /&gt;
If a student disappears, his mentor will be in charge of recontacting him to see what is going wrong (available time, tension with other developers, with members of the community etc...). Depending on the actual problem, the mentor and the student will have to agree on possible ways to defuse the problem.&lt;br /&gt;
&lt;br /&gt;
If a student disappears completely and there is no way to get back to him, there is little the project can do except salvaging whatever can be salvaged from the code (the students will have SVN write access, so most of the work will be committed either to trunk or to a specific branch) and find a core developer to take on the job. This will probably be slower and less effective for the project, but it's the best we can do.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&lt;br /&gt;
&lt;br /&gt;
All our mentors are long time developers that volunteered for the job, so we don't expect that to happen. We took the time to ask other former GSoC projects about the workload needed to be a mentor, and our mentors accepted the job knowing the amount of work it involved.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, should it happen, we would continue to mentor as a developper community the student until we find a new &amp;quot;official&amp;quot; mentor to take on the job.&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project's community before, during and after the program?====&lt;br /&gt;
&lt;br /&gt;
Wesnoth has a particularly healthy community, both for developers and for players. &lt;br /&gt;
&lt;br /&gt;
Our general policy regarding new coders has always been &amp;quot;two patch... you're in&amp;quot; In other word, anybody that is able to get two non-trivial patches applied is offered commit privileges.&lt;br /&gt;
&lt;br /&gt;
We have a developer responsible for applying patches and guiding new developers into our community. This is a well known and effective process we plan to apply to students, directing them to our [[EasyCoding]] pages (these project are usually a couple of hours long and has been chosen to provide easy access to code)&lt;br /&gt;
&lt;br /&gt;
Usually, patches go back and forth a couple of time, to make sure that all secondary things are in place (indenting, coding style, modified makefiles etc.) The idea is that coder education should take place before the coder gets commit rights, but that getting new coder in is one of the most important things to maintain our project alive.&lt;br /&gt;
&lt;br /&gt;
If the student is a little proactive and ready to join IRC, all the developers are usually very welcoming, and good at directing newcomers to quickly give useful results.&lt;br /&gt;
&lt;br /&gt;
We also plan to give a special forum title to any students. This will allow all forum members to tell them apart from normal users and give them read/write access to the developer only forums. This will also allow us to quickly spot any problem they might have interacting with the player community. We have a very mature developer community, but our player community is made of all sort of people of all age and education, and it can be rough at time.&lt;br /&gt;
&lt;br /&gt;
==== What will you do to ensure that your accepted students stick with the project after GSoC concludes?====&lt;br /&gt;
&lt;br /&gt;
Since our community has a history of having developers easily and quickly join, we expect the student to be a full-fledged developer quite fast (probably a little after the end of the bonding period). &lt;br /&gt;
&lt;br /&gt;
Thus there will be no &amp;quot;end of GSoC&amp;quot; transition. At the end of the Summer of code we expect the student to be responsible for the part he developed, and to continue taking care of it, just as other developers are responsible for their part.&lt;br /&gt;
&lt;br /&gt;
== People to bug on IRC ==&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
=== boucman ===&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he accustomed to critiquing patches of every kind. Beside this, he knows many areas of the game due to working on applying patches. He is particularly used to answering question from new coders, and doesn't mind explaining trivial stuff. He was the one who started the &amp;quot;two patches, you're in&amp;quot; policy and the ReferenceWML part of the project.&lt;br /&gt;
&lt;br /&gt;
=== Dave alias Sirp ===&lt;br /&gt;
Sirp started Wesnoth and is our lead developer. He is currently our C++ expert and is also the one that is working on the new Formula AI. Any questions regarding the formula AI should be directed to him.&lt;br /&gt;
&lt;br /&gt;
=== Elias Pscherning (elias) ===&lt;br /&gt;
He wrote the original version of campgen and as such will know a lot about what is needed to to make such an editor work correctly. The work on a scenario editor might be based upon campgen and as such his knowledge will be really helpful.&lt;br /&gt;
&lt;br /&gt;
=== Eric S. Raymond (ESR) ===&lt;br /&gt;
ESR is our project toolsmith; he has written several tools that semi-automate various aspects of WML maintenance.  While most of our developers/designers concentrate on either the C++ core or WML but not both, he has a balanced understanding of both levels and may be helpful in helping students develop a grasp of the overall architecture.  Finally, he did the last overhaul of the Wesnoth UI and understands UI design principles; he is well-equipped to guide students working in that area.&lt;br /&gt;
&lt;br /&gt;
=== Karol Nowak (grzywacz) ===&lt;br /&gt;
Last year he participated at GSoC as a student, so he will understand the situation of GSoC students. Beside this he is our top expert on embedded devices, and is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
=== Mordante ===&lt;br /&gt;
Many of the possible projects involve the code for which he is an area expert. Also, many of the possible projects currently listed on the ideas page require GUI parts to work. Given that Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as already being our area expert for the terrain engine.&lt;br /&gt;
&lt;br /&gt;
=== Nils Kneuper (Ivanovic) ===&lt;br /&gt;
He is doing nothing special, he just does some &amp;quot;administrative work&amp;quot; like packaging fresh tarballs when it is time for them and works on setting up any kind of deadlines and timetables related to releasing. He has administrative powers in most areas, no matter if website, forum or IRC. Beside this he uploads translation updates, tries to communicate with the translation teams when it is required and translates a little bit himself every now and then. But in general he is not a real expert in anything, just has a look at things that come up and redirects people to the correct contacts.&lt;br /&gt;
&lt;br /&gt;
=== Noy ===&lt;br /&gt;
Noy is an oddity among developers; he's got no coding skills whatsoever and possesses a limited understanding of computers, which is illustrated by his difficulty operating a Mac. Instead, Noy makes his contribution in gameplay and multiplayer design, drawing upon his background in social sciences research, military strategy and playing games online, to understand the effects of development on the playing community behavior. Along with Soliton, Noy is a useful conduit to discuss any issues in this area; just don't ask him about revising the level of randomness in the game.&lt;br /&gt;
&lt;br /&gt;
=== Noyga ===&lt;br /&gt;
Another versatile developer, on the C++ side he doesn't concentrate on a particular area, did some tweaks to improve translations in some languages (like enabling the female forms for names in various place) but know quite well the C++ side of units, abilities and WML. On the WML side he's an expert.&lt;br /&gt;
&lt;br /&gt;
=== Soliton ===&lt;br /&gt;
He knows our MP server setup best. Beside this he has already done a lot of work on the MP server himself. So he probably has most knowledge about it and, being one of our MP-developers, might provide important help from the perspective of the MP player community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
=== YogiHH or Piotr Cychowski (cycholka) ===&lt;br /&gt;
Since they are the two developers who know most about building under Windows, they will probably be really helpful. Either if the student comes from the Windows side, or to help test resulting work to make sure that it does work on Windows and, for the case that it does not, to show them where problems are.&lt;br /&gt;
&lt;br /&gt;
=== zookeeper or Mythological or Rhuvaen ===&lt;br /&gt;
As our leading WML experts those are to be contacted when it comes to anything related WML problems since they know this stuff best. They do maintain most of the campaigns and improve them whenever they have a good idea for changes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Mesilliac&amp;diff=23552</id>
		<title>User:Mesilliac</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Mesilliac&amp;diff=23552"/>
		<updated>2008-03-13T06:58:38Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Randomly chosen images */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;a.k.a. Yobbo&lt;br /&gt;
&lt;br /&gt;
= Terrain WML Cleanup Proposal =&lt;br /&gt;
&lt;br /&gt;
I've been working a lot recently with the Terrain WML system, and I've spotted many, many things which could be tidied up. I've also been forced to learn first-hand how complicated the system is for adding a new terrain. It is my belief that Wesnoth is missing out on good terrain simply because potential terrain artists are unable to grasp the complexities of the terrain graphics system.&lt;br /&gt;
&lt;br /&gt;
Nothing that I'm proposing will break the old system. User-made campaigns will still be able to use the old terrain-graphics system and macros. However new content will be able to be added much more easily, and current mainline terrains will become significantly easier to maintain.&lt;br /&gt;
&lt;br /&gt;
== Terrain Macros ==&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
Important terrain macros are currently interspersed between a variety of .cfg files in data/core/terrain-graphics and the _final.cfg file that declares all the terrains.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
Move the macros to data/core/terrain-graphics/macros, and modify data/core/_main.cfg slightly to load all macros in this directory first.&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
* Easier to maintain, as macros are separated from terrain declarations&lt;br /&gt;
* Terrain declarations can be moved to separate .cfg files in stead of all being in _final.cfg&lt;br /&gt;
&lt;br /&gt;
=== Drawbacks ===&lt;br /&gt;
&lt;br /&gt;
none&lt;br /&gt;
&lt;br /&gt;
== Randomly chosen images ==&lt;br /&gt;
&lt;br /&gt;
Randomly chosen images are currently specified using macros which take a probability value and may or may not draw the terrain depending on this probability. For example:&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor2		       20}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor3		       25}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor4		       33}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor5		       50}&lt;br /&gt;
 {TERRAIN_BASE       Uu                  cave/floor6}&lt;br /&gt;
This gives an equal probability of each listed variation appearing on any given hex.&lt;br /&gt;
&lt;br /&gt;
The great thing about this system is that it can be set up so that it still gives equal probabilities even if one or more of the initially specified graphics are missing.&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
All random terrain variations must be explicitly specified and a probability given in _final.cfg.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
In ''new'' macros, add the probability macros for equal probability ''automatically'', using the image stem plus the numbers 1-9 for additional variations.&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
* This naming system follows the current naming system, and the old system of selecting probabilities may still be used.&lt;br /&gt;
* New variations can be dropped in alongside current variations and they will automatically be used, with no editing of WML necessary&lt;br /&gt;
&lt;br /&gt;
=== Drawbacks ===&lt;br /&gt;
&lt;br /&gt;
Checks for the existance of many nonexistant images&lt;br /&gt;
&lt;br /&gt;
== Standard set of terrain graphics macros ==&lt;br /&gt;
&lt;br /&gt;
There is not currently a standard set of macros which can be used to add new terrains. Any artists wishing to add a new terrain must fully learn the complexities of the terrain WML system. Also, adding a new terrain to mainline requires editing macros in many separate places in _final.cfg.&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
Macros are added as necessary.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
The addition of a set of standard macros for common terrain types:&lt;br /&gt;
&lt;br /&gt;
; Base Terrain&lt;br /&gt;
: Normal single-hex flat terrain.&lt;br /&gt;
:; Examples in current terrain: dirt, water, grass, sand&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Generic transitions are used if present.&lt;br /&gt;
::* Variations are used if present.&lt;br /&gt;
::* Only one base terrain can be used per tile&lt;br /&gt;
::* Only one base transition can be drawn for each edge of the tile&lt;br /&gt;
::* Image dimensions are 72x72&lt;br /&gt;
:; Macro arguments: Terrain_identifier, Dissimilar_terrains, base_image_name, layer&lt;br /&gt;
:; Basic image set: 1 base image, 6 transitions&lt;br /&gt;
&lt;br /&gt;
All terrain types should specify a base terrain.&lt;br /&gt;
&lt;br /&gt;
; Single-Hex Overlay&lt;br /&gt;
: Terrain used as an overlay for a single hex&lt;br /&gt;
:; Examples in current terrain: forest, mushroom grove with lightbeam (double overlay)&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Transitions are not used&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* A &amp;quot;-small&amp;quot; variation should be provided for use next to terrains to avoid overlapping, for example castles, cavewall&lt;br /&gt;
::* Image dimensions are 180x252&lt;br /&gt;
:; Macro arguments: Overlay_identifier, base_overlay_image_name, layer&lt;br /&gt;
:; Basic image set: 1 base overlay, 1 small overlay&lt;br /&gt;
&lt;br /&gt;
; Fence&lt;br /&gt;
: Draws walls along edges of a terrain&lt;br /&gt;
:; Examples in current terrain: castle, keep, cavewall&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* Only one fence image can be drawn for each point where 3 tiles meet&lt;br /&gt;
:; Macro arguments: terrain_identifier, base_fence_image_name&lt;br /&gt;
:; Basic image set: 6 concave corners, 6 convex corners&lt;br /&gt;
&lt;br /&gt;
; Path&lt;br /&gt;
: Directional terrain, that only makes sense in lines. Joins to certain terrain types.&lt;br /&gt;
:; Examples in current terrain: bridge&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Not required to make sense in clumps&lt;br /&gt;
::* Only transitions to certain terrain types are used&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* image dimensions are 180x252&lt;br /&gt;
:; Macro arguments: bridge_identifier, joiner_terrain_identifier bridge_overlay_image_name, layer&lt;br /&gt;
:; Basic image set: 1 lone image, 6 end images, 3 across images, 6 bend images&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Mesilliac&amp;diff=23549</id>
		<title>User:Mesilliac</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Mesilliac&amp;diff=23549"/>
		<updated>2008-03-13T06:53:08Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;a.k.a. Yobbo&lt;br /&gt;
&lt;br /&gt;
= Terrain WML Cleanup Proposal =&lt;br /&gt;
&lt;br /&gt;
I've been working a lot recently with the Terrain WML system, and I've spotted many, many things which could be tidied up. I've also been forced to learn first-hand how complicated the system is for adding a new terrain. It is my belief that Wesnoth is missing out on good terrain simply because potential terrain artists are unable to grasp the complexities of the terrain graphics system.&lt;br /&gt;
&lt;br /&gt;
Nothing that I'm proposing will break the old system. User-made campaigns will still be able to use the old terrain-graphics system and macros. However new content will be able to be added much more easily, and current mainline terrains will become significantly easier to maintain.&lt;br /&gt;
&lt;br /&gt;
== Terrain Macros ==&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
Important terrain macros are currently interspersed between a variety of .cfg files in data/core/terrain-graphics and the _final.cfg file that declares all the terrains.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
Move the macros to data/core/terrain-graphics/macros, and modify data/core/_main.cfg slightly to load all macros in this directory first.&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
* Easier to maintain, as macros are separated from terrain declarations&lt;br /&gt;
* Terrain declarations can be moved to separate .cfg files in stead of all being in _final.cfg&lt;br /&gt;
&lt;br /&gt;
=== Drawbacks ===&lt;br /&gt;
&lt;br /&gt;
none&lt;br /&gt;
&lt;br /&gt;
== Randomly chosen images ==&lt;br /&gt;
&lt;br /&gt;
Randomly chosen images are currently specified using macros which take a probability value and may or may not draw the terrain depending on this probability. For example:&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor2		       20}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor3		       25}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor4		       33}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor5		       50}&lt;br /&gt;
 {TERRAIN_BASE       Uu                  cave/floor6}&lt;br /&gt;
This gives an equal probability of each listen variation appearing on any given hex.&lt;br /&gt;
&lt;br /&gt;
The great thing about this system is that it can be set up so that it still gives equal probabilities even if one or more of the initially specified graphics are missing.&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
All random terrain variations must be explicitly specified and a probability given in _final.cfg.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
In ''new'' macros, add the probability macros for equal probability ''automatically'', using the image stem plus the numbers 1-9 for additional variations.&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
* This naming system follows the current naming system, and the old system of selecting probabilities may still be used.&lt;br /&gt;
* New variations can be dropped in alongside current variations and they will automatically be used, with no editing of WML necessary&lt;br /&gt;
&lt;br /&gt;
=== Drawbacks ===&lt;br /&gt;
&lt;br /&gt;
Checks for the existance of many nonexistant images&lt;br /&gt;
&lt;br /&gt;
== Standard set of terrain graphics macros ==&lt;br /&gt;
&lt;br /&gt;
There is not currently a standard set of macros which can be used to add new terrains. Any artists wishing to add a new terrain must fully learn the complexities of the terrain WML system. Also, adding a new terrain to mainline requires editing macros in many separate places in _final.cfg.&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
Macros are added as necessary.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
The addition of a set of standard macros for common terrain types:&lt;br /&gt;
&lt;br /&gt;
; Base Terrain&lt;br /&gt;
: Normal single-hex flat terrain.&lt;br /&gt;
:; Examples in current terrain: dirt, water, grass, sand&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Generic transitions are used if present.&lt;br /&gt;
::* Variations are used if present.&lt;br /&gt;
::* Only one base terrain can be used per tile&lt;br /&gt;
::* Only one base transition can be drawn for each edge of the tile&lt;br /&gt;
::* Image dimensions are 72x72&lt;br /&gt;
:; Macro arguments: Terrain_identifier, Dissimilar_terrains, base_image_name, layer&lt;br /&gt;
:; Basic image set: 1 base image, 6 transitions&lt;br /&gt;
&lt;br /&gt;
All terrain types should specify a base terrain.&lt;br /&gt;
&lt;br /&gt;
; Single-Hex Overlay&lt;br /&gt;
: Terrain used as an overlay for a single hex&lt;br /&gt;
:; Examples in current terrain: forest, mushroom grove with lightbeam (double overlay)&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Transitions are not used&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* A &amp;quot;-small&amp;quot; variation should be provided for use next to terrains to avoid overlapping, for example castles, cavewall&lt;br /&gt;
::* Image dimensions are 180x252&lt;br /&gt;
:; Macro arguments: Overlay_identifier, base_overlay_image_name, layer&lt;br /&gt;
:; Basic image set: 1 base overlay, 1 small overlay&lt;br /&gt;
&lt;br /&gt;
; Fence&lt;br /&gt;
: Draws walls along edges of a terrain&lt;br /&gt;
:; Examples in current terrain: castle, keep, cavewall&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* Only one fence image can be drawn for each point where 3 tiles meet&lt;br /&gt;
:; Macro arguments: terrain_identifier, base_fence_image_name&lt;br /&gt;
:; Basic image set: 6 concave corners, 6 convex corners&lt;br /&gt;
&lt;br /&gt;
; Path&lt;br /&gt;
: Directional terrain, that only makes sense in lines. Joins to certain terrain types.&lt;br /&gt;
:; Examples in current terrain: bridge&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Not required to make sense in clumps&lt;br /&gt;
::* Only transitions to certain terrain types are used&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* image dimensions are 180x252&lt;br /&gt;
:; Macro arguments: bridge_identifier, joiner_terrain_identifier bridge_overlay_image_name, layer&lt;br /&gt;
:; Basic image set: 1 lone image, 6 end images, 3 across images, 6 bend images&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Mesilliac&amp;diff=23548</id>
		<title>User:Mesilliac</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Mesilliac&amp;diff=23548"/>
		<updated>2008-03-13T06:51:49Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Drawbacks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;a.k.a. Yobbo&lt;br /&gt;
&lt;br /&gt;
= Terrain WML Cleanup Proposal =&lt;br /&gt;
&lt;br /&gt;
I've been working a lot recently with the Terrain WML system, and I've spotted many, many things which could be tidied up. I've also been forced to learn first-hand how complicated the system is for adding a new terrain. It is my belief that Wesnoth is missing out on good terrain simply because potential terrain artists are unable to grasp the complexities of the terrain graphics system.&lt;br /&gt;
&lt;br /&gt;
Nothing that I'm proposing will break the old system. User-made campaigns will still be able to use the old terrain-graphics system and macros. However new content will be able to be added much more easily, and current mainline terrains will become significantly easier to maintain.&lt;br /&gt;
&lt;br /&gt;
== Terrain Macros ==&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
Important terrain macros are currently interspersed between a variety of .cfg files in data/core/terrain-graphics and the _final.cfg file that declares all the terrains.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
Move the macros to data/core/terrain-graphics/macros, and modify data/core/_main.cfg slightly to load all macros in this directory first.&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
* Easier to maintain, as macros are separated from terrain declarations&lt;br /&gt;
* Terrain declarations can be moved to separate .cfg files in stead of all being in _final.cfg&lt;br /&gt;
&lt;br /&gt;
=== Drawbacks ===&lt;br /&gt;
&lt;br /&gt;
none&lt;br /&gt;
&lt;br /&gt;
== Randomly chosen images ==&lt;br /&gt;
&lt;br /&gt;
Randomly chosen images are currently specified using macros which take a probability value and may or may not draw the terrain depending on this probability. For example:&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor2		       20}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor3		       25}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor4		       33}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor5		       50}&lt;br /&gt;
 {TERRAIN_BASE       Uu                  cave/floor6}&lt;br /&gt;
This gives an equal probability of each listen variation appearing on any given hex.&lt;br /&gt;
&lt;br /&gt;
The great thing about this system is that it can be set up so that it still gives equal probabilities even if one or more of the initially specified graphics are missing.&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
All random terrain variations must be explicitly specified and a probability given in _final.cfg.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
In ''new'' macros, add the probability macros for equal probability ''automatically'', using the image stem plus the numbers 1-9 for additional variations.&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
* This naming system follows the current naming system, and the old system of selecting probabilities may still be used.&lt;br /&gt;
* New variations can be dropped in alongside current variations and they will automatically be used, with no editing of WML necessary&lt;br /&gt;
&lt;br /&gt;
=== Drawbacks ===&lt;br /&gt;
&lt;br /&gt;
Checks for the existance of many nonexistant images&lt;br /&gt;
&lt;br /&gt;
== Standard set of terrain graphics macros ==&lt;br /&gt;
&lt;br /&gt;
There is not currently a standard set of macros which can be used to add new terrains. Any artists wishing to add a new terrain must fully learn the complexities of the terrain WML system. Also, adding a new terrain to mainline requires editing macros in many separate places in _final.cfg.&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
Macros are added as necessary.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
The addition of a set of standard macros for common terrain types:&lt;br /&gt;
&lt;br /&gt;
; Base Terrain&lt;br /&gt;
: Normal single-hex flat terrain.&lt;br /&gt;
:; Examples in current terrain: dirt, water, grass, sand&lt;br /&gt;
:; Defining features&lt;br /&gt;
::* Generic transitions are used if present.&lt;br /&gt;
::* Variations are used if present.&lt;br /&gt;
::* Only one base terrain can be used per tile&lt;br /&gt;
::* Only one base transition can be drawn for each edge of the tile&lt;br /&gt;
::* Image dimensions are 72x72&lt;br /&gt;
:; Macro arguments: Terrain_identifier, Dissimilar_terrains, base_image_name, layer&lt;br /&gt;
:; Basic image set: 1 base image, 6 transitions&lt;br /&gt;
&lt;br /&gt;
All terrain types should specify a base terrain.&lt;br /&gt;
&lt;br /&gt;
; Single-Hex Overlay&lt;br /&gt;
: Terrain used as an overlay for a single hex&lt;br /&gt;
:; Examples in current terrain: forest, mushroom grove with lightbeam (double overlay)&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Transitions are not used&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* A &amp;quot;-small&amp;quot; variation should be provided for use next to terrains to avoid overlapping, for example castles, cavewall&lt;br /&gt;
::* Image dimensions are 180x252&lt;br /&gt;
:; Macro arguments: Overlay_identifier, base_overlay_image_name, layer&lt;br /&gt;
:; Basic image set: 1 base overlay, 1 small overlay&lt;br /&gt;
&lt;br /&gt;
; Fence&lt;br /&gt;
: Draws walls along edges of a terrain&lt;br /&gt;
:; Examples in current terrain: castle, keep, cavewall&lt;br /&gt;
:; Defining features&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* Only one fence image can be drawn for each point where 3 tiles meet&lt;br /&gt;
:; Macro arguments: terrain_identifier, base_fence_image_name&lt;br /&gt;
:; Basic image set: 6 concave corners, 6 convex corners&lt;br /&gt;
&lt;br /&gt;
; Path&lt;br /&gt;
: Directional terrain, that only makes sense in lines. Joins to certain terrain types.&lt;br /&gt;
:; Examples in current terrain: bridge&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Not required to make sense in clumps&lt;br /&gt;
::* Only transitions to certain terrain types are used&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* image dimensions are 180x252&lt;br /&gt;
:; Macro arguments: bridge_identifier, joiner_terrain_identifier bridge_overlay_image_name, layer&lt;br /&gt;
:; Basic image set: 1 lone image, 6 end images, 3 across images, 6 bend images&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Mesilliac&amp;diff=23547</id>
		<title>User:Mesilliac</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Mesilliac&amp;diff=23547"/>
		<updated>2008-03-13T06:50:27Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;a.k.a. Yobbo&lt;br /&gt;
&lt;br /&gt;
= Terrain WML Cleanup Proposal =&lt;br /&gt;
&lt;br /&gt;
I've been working a lot recently with the Terrain WML system, and I've spotted many, many things which could be tidied up. I've also been forced to learn first-hand how complicated the system is for adding a new terrain. It is my belief that Wesnoth is missing out on good terrain simply because potential terrain artists are unable to grasp the complexities of the terrain graphics system.&lt;br /&gt;
&lt;br /&gt;
Nothing that I'm proposing will break the old system. User-made campaigns will still be able to use the old terrain-graphics system and macros. However new content will be able to be added much more easily, and current mainline terrains will become significantly easier to maintain.&lt;br /&gt;
&lt;br /&gt;
== Terrain Macros ==&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
Important terrain macros are currently interspersed between a variety of .cfg files in data/core/terrain-graphics and the _final.cfg file that declares all the terrains.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
Move the macros to data/core/terrain-graphics/macros, and modify data/core/_main.cfg slightly to load all macros in this directory first.&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
* Easier to maintain, as macros are separated from terrain declarations&lt;br /&gt;
* Terrain declarations can be moved to separate .cfg files in stead of all being in _final.cfg&lt;br /&gt;
&lt;br /&gt;
=== Drawbacks ===&lt;br /&gt;
&lt;br /&gt;
none&lt;br /&gt;
&lt;br /&gt;
== Randomly chosen images ==&lt;br /&gt;
&lt;br /&gt;
Randomly chosen images are currently specified using macros which take a probability value and may or may not draw the terrain depending on this probability. For example:&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor2		       20}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor3		       25}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor4		       33}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor5		       50}&lt;br /&gt;
 {TERRAIN_BASE       Uu                  cave/floor6}&lt;br /&gt;
This gives an equal probability of each listen variation appearing on any given hex.&lt;br /&gt;
&lt;br /&gt;
The great thing about this system is that it can be set up so that it still gives equal probabilities even if one or more of the initially specified graphics are missing.&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
All random terrain variations must be explicitly specified and a probability given in _final.cfg.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
In ''new'' macros, add the probability macros for equal probability ''automatically'', using the image stem plus the numbers 1-9 for additional variations.&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
* This naming system follows the current naming system, and the old system of selecting probabilities may still be used.&lt;br /&gt;
* New variations can be dropped in alongside current variations and they will automatically be used, with no editing of WML necessary&lt;br /&gt;
&lt;br /&gt;
=== Drawbacks ===&lt;br /&gt;
&lt;br /&gt;
none&lt;br /&gt;
&lt;br /&gt;
== Standard set of terrain graphics macros ==&lt;br /&gt;
&lt;br /&gt;
There is not currently a standard set of macros which can be used to add new terrains. Any artists wishing to add a new terrain must fully learn the complexities of the terrain WML system. Also, adding a new terrain to mainline requires editing macros in many separate places in _final.cfg.&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
Macros are added as necessary.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
The addition of a set of standard macros for common terrain types:&lt;br /&gt;
&lt;br /&gt;
; Base Terrain&lt;br /&gt;
: Normal single-hex flat terrain.&lt;br /&gt;
:; Examples in current terrain: dirt, water, grass, sand&lt;br /&gt;
:; Defining features&lt;br /&gt;
::* Generic transitions are used if present.&lt;br /&gt;
::* Variations are used if present.&lt;br /&gt;
::* Only one base terrain can be used per tile&lt;br /&gt;
::* Only one base transition can be drawn for each edge of the tile&lt;br /&gt;
::* Image dimensions are 72x72&lt;br /&gt;
:; Macro arguments: Terrain_identifier, Dissimilar_terrains, base_image_name, layer&lt;br /&gt;
:; Basic image set: 1 base image, 6 transitions&lt;br /&gt;
&lt;br /&gt;
All terrain types should specify a base terrain.&lt;br /&gt;
&lt;br /&gt;
; Single-Hex Overlay&lt;br /&gt;
: Terrain used as an overlay for a single hex&lt;br /&gt;
:; Examples in current terrain: forest, mushroom grove with lightbeam (double overlay)&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Transitions are not used&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* A &amp;quot;-small&amp;quot; variation should be provided for use next to terrains to avoid overlapping, for example castles, cavewall&lt;br /&gt;
::* Image dimensions are 180x252&lt;br /&gt;
:; Macro arguments: Overlay_identifier, base_overlay_image_name, layer&lt;br /&gt;
:; Basic image set: 1 base overlay, 1 small overlay&lt;br /&gt;
&lt;br /&gt;
; Fence&lt;br /&gt;
: Draws walls along edges of a terrain&lt;br /&gt;
:; Examples in current terrain: castle, keep, cavewall&lt;br /&gt;
:; Defining features&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* Only one fence image can be drawn for each point where 3 tiles meet&lt;br /&gt;
:; Macro arguments: terrain_identifier, base_fence_image_name&lt;br /&gt;
:; Basic image set: 6 concave corners, 6 convex corners&lt;br /&gt;
&lt;br /&gt;
; Path&lt;br /&gt;
: Directional terrain, that only makes sense in lines. Joins to certain terrain types.&lt;br /&gt;
:; Examples in current terrain: bridge&lt;br /&gt;
:; Defining features:&lt;br /&gt;
::* Not required to make sense in clumps&lt;br /&gt;
::* Only transitions to certain terrain types are used&lt;br /&gt;
::* Variations are used if present&lt;br /&gt;
::* image dimensions are 180x252&lt;br /&gt;
:; Macro arguments: bridge_identifier, joiner_terrain_identifier bridge_overlay_image_name, layer&lt;br /&gt;
:; Basic image set: 1 lone image, 6 end images, 3 across images, 6 bend images&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Mesilliac&amp;diff=23546</id>
		<title>User:Mesilliac</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Mesilliac&amp;diff=23546"/>
		<updated>2008-03-13T06:05:52Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;a.k.a. Yobbo&lt;br /&gt;
&lt;br /&gt;
= Terrain WML Cleanup Proposal =&lt;br /&gt;
&lt;br /&gt;
I've been working a lot recently with the Terrain WML system, and I've spotted many, many things which could be tidied up. I've also been forced to learn first-hand how complicated the system is for adding a new terrain. It is my belief that Wesnoth is missing out on good terrain simply because potential terrain artists are unable to grasp the complexities of the terrain graphics system.&lt;br /&gt;
&lt;br /&gt;
Nothing that I'm proposing will break the old system. User-made campaigns will still be able to use the old terrain-graphics system and macros. However new content will be able to be added much more easily, and current mainline terrains will become significantly easier to maintain.&lt;br /&gt;
&lt;br /&gt;
== Terrain Macros ==&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
Important terrain macros are currently interspersed between a variety of .cfg files in data/core/terrain-graphics and the _final.cfg file that declares all the terrains.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
Move the macros to data/core/terrain-graphics/macros, and modify data/core/_main.cfg slightly to load all macros in this directory first.&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
* Easier to maintain, as macros are separated from terrain declarations&lt;br /&gt;
* Terrain declarations can be moved to separate .cfg files in stead of all being in _final.cfg&lt;br /&gt;
&lt;br /&gt;
=== Drawbacks ===&lt;br /&gt;
&lt;br /&gt;
none&lt;br /&gt;
&lt;br /&gt;
== Randomly chosen images ==&lt;br /&gt;
&lt;br /&gt;
Randomly chosen images are currently specified using macros which take a probability value and may or may not draw the terrain depending on this probability. For example:&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor2		       20}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor3		       25}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor4		       33}&lt;br /&gt;
 {TERRAIN_BASE_PROB  Uu                  cave/floor5		       50}&lt;br /&gt;
 {TERRAIN_BASE       Uu                  cave/floor6}&lt;br /&gt;
This gives an equal probability of each listen variation appearing on any given hex.&lt;br /&gt;
&lt;br /&gt;
The great thing about this system is that it can be set up so that it still gives equal probabilities even if one or more of the initially specified graphics are missing.&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
All random terrain variations must be explicitly specified and a probability given in _final.cfg.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
In ''new'' macros, add the probability macros for equal probability ''automatically'', using the image stem plus the numbers 1-9 for additional variations.&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
* This naming system follows the current naming system, and the old system of selecting probabilities may still be used.&lt;br /&gt;
* New variations can be dropped in alongside current variations and they will automatically be used, with no editing of WML necessary&lt;br /&gt;
&lt;br /&gt;
=== Drawbacks ===&lt;br /&gt;
&lt;br /&gt;
none&lt;br /&gt;
&lt;br /&gt;
== Standard set of terrain graphics macros ==&lt;br /&gt;
&lt;br /&gt;
There is not currently a standard set of macros which can be used to add new terrains. Any artists wishing to add a new terrain must fully learn the complexities of the terrain WML system. Also, adding a new terrain to mainline requires editing macros in many separate places in _final.cfg.&lt;br /&gt;
&lt;br /&gt;
=== Current system ===&lt;br /&gt;
&lt;br /&gt;
Macros are added as necessary.&lt;br /&gt;
&lt;br /&gt;
=== Proposed change ===&lt;br /&gt;
&lt;br /&gt;
The addition of a set of standard macros for common terrain types:&lt;br /&gt;
&lt;br /&gt;
; Base Terrain&lt;br /&gt;
: A simple flat terrain.&lt;br /&gt;
:* Transitions are used if present.&lt;br /&gt;
:* Variations are used if present.&lt;br /&gt;
:; macro arguments: Terrain_identifier, base_image_name, layer&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=TerrainGraphicsWML&amp;diff=23357</id>
		<title>TerrainGraphicsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=TerrainGraphicsWML&amp;diff=23357"/>
		<updated>2008-03-09T04:23:24Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* The toplevel [terrain_graphics] tag */ add [image]-&amp;gt;base description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
&lt;br /&gt;
{{Needs update}}&lt;br /&gt;
&lt;br /&gt;
== The toplevel [terrain_graphics] tag ==&lt;br /&gt;
&lt;br /&gt;
For information about the multi-hex tiling system, see [[MultiHexTutorial]]&lt;br /&gt;
&lt;br /&gt;
In terrain graphics, all images are assumed to be .png and relative to images/terrain/.&lt;br /&gt;
For example, writing 'image=grassland' means that the image file is images/terrain/grassland.png.&lt;br /&gt;
&lt;br /&gt;
The multi-hex tiling system adds a new top-level element to WML, [terrain_graphics].&lt;br /&gt;
A building rule is used to specify images to place when terrains are in a certain formation.&lt;br /&gt;
When a building rule is applied to a map, it is applied once to each coordinate on the map;&lt;br /&gt;
when it is applied to a coordinate then that coordinate is considered the ''base''.&lt;br /&gt;
All locations in '''[terrain_graphics]''' are relative to the base.&lt;br /&gt;
&lt;br /&gt;
The following keys/tags are recognized:&lt;br /&gt;
* '''[tile]''': whenever a building rule is applied, each [tile] tag corresponds to a tile on the map. The corresponding tile must match each condition contained in [tile] for the [tile] tag to match. All [tile] tags must match in order for a rule to match. If the rule for a [tile] tag is applied, each action within [tile] will be executed on the tile corresponding to that [tile] tag&lt;br /&gt;
** '''x''','''y''': standard coordinates - the location of the corresponding tile relative to the base.&lt;br /&gt;
** '''pos''': a shortcut to specifying coordinates. Used in combination with ''map''&lt;br /&gt;
** Conditions for [tile]:&lt;br /&gt;
*** '''type''': a comma-separated list of terrain codes (See [[TerrainWML]], data/terrain.cfg). In order for a tile to match this condition, it must be one of the terrains specified. However, if the string is preceded by &amp;quot;!&amp;quot;, the terrain must not be listed in order to match. If the string is '*', or if it is empty, any tile matches.&lt;br /&gt;
*** '''has_flag''': a string. Matches if a flag named after the given string is attached to the corresponding tile. Flags are attached using the ''set_flag'' key.&lt;br /&gt;
*** '''no_flag''': a string. Matches if no flag named after the given string has been attached to the corresponding tile. Flags are attached using the ''set_flag'' key.&lt;br /&gt;
** Actions for [tile]:&lt;br /&gt;
*** '''set_flag''': Followed by a string of characters. Attaches a flag named after the given string to the corresponding tile if the rule matches. The only difference a flag makes is being detected by ''has_flag'' and ''no_flag'' in [tile]. This is determined by the order of the [terrain_graphics] tags; a tag after another one cannot influence it. See also ''has_flag'', ''no_flag''&lt;br /&gt;
*** '''[image]''': images specified as a subtag to '''[tile]''' sets the images for a single tile.&lt;br /&gt;
**** '''layer''': an integer, usually negative. The more negative it is, the earlier it is drawn, and thus the farther &amp;quot;back&amp;quot; it is when compositing the terrain images together.&lt;br /&gt;
**** '''name''': the image to apply on this tile if appropriate&lt;br /&gt;
**** '''base''': specifies the point at which the image is considered to be for layering purposes.  ''base'' is specified as '''x,y''' where x and y indicate distances in pixels from the top-left corner of the '''image'''. This is translated to a certain pixel on the map, and all images with the ''base'' attribute are drawn from top-to-bottom in terms of these specified pixel positions '''on the map'''.&lt;br /&gt;
* '''[image]''': image may also be used directly in the rule, to specify multihex images.&lt;br /&gt;
* '''probability''': the percent probability for each position that if the position matches, then the rule will be applied. Default is 100(%).  See [[Terrain Graphics Probability]] for mathematical complications.&lt;br /&gt;
* '''rotations''': 6 comma(''',''') separated input strings. A rule that contains this key is not actually checked against the terrain; it instead is used as a template to create 6 new rules, each corresponding to a rotated version of the current rule. Whenever a rotated version is applied, instances of @(at-sign)R0, @R1, ... @R6 in attributes in the [terrain_graphics] tag will be adjusted by the corresponding amount and replaced with the letters specified by that numbered rotation in the ''rotations'' list. Each value corresponds to the rotated version that is -Pi/3 (60° clockwise) from the previous version; the first value corresponds to the unrotated version.&amp;lt;br&amp;gt;For example, if '''rotations=n,ne,se,s,sw,nw''' and it is being rotated 120°, then &amp;quot;@R0&amp;quot;-&amp;gt;&amp;quot;@R2&amp;quot;-&amp;gt;&amp;quot;se&amp;quot;, &amp;quot;@R1&amp;quot;-&amp;gt;&amp;quot;@R3&amp;quot;-&amp;gt;&amp;quot;s&amp;quot;, ... &amp;quot;@R6&amp;quot;-&amp;gt;&amp;quot;@R1&amp;quot;-&amp;gt;&amp;quot;ne&amp;quot;.&amp;lt;br&amp;gt;Basically the important thing is that this lets the rule be applied in any of the six hex-directions, allowing you to adjust the name of the image files automatically.&lt;br /&gt;
* '''set_flag''','''has_flag''', '''no_flag''': shortcuts to putting these in the [tile] subtags; unbound attributes will apply to all [tile] subtags.&lt;br /&gt;
* '''map''': a shortcut for defining [tile] tags with ''type'' conditions. Inputs a multi-line string value visually describing the map. The lines are cut into words of 4 characters, which correspond to [tile] tags. The line types alternate between lines corresponding to relatively even-abciss tiles and lines preceded by two spaces corresponding to relatively odd-abciss tiles. Every two lines represent 1 row on the map.&lt;br /&gt;
&lt;br /&gt;
=== Words ===&lt;br /&gt;
&lt;br /&gt;
A ''word'' is a 4-character shortcut to a [tile] tag. There are different types of words:&lt;br /&gt;
* Usually a word is interpreted as being the input to the ''type'' key of the corresponding [tile]. That is, it creates a [tile] with the attribute '''type=''word'''''.&lt;br /&gt;
* A word can also be a digit followed by 3 spaces. In this case, it is a shortcut to the [tile] with the attribute '''pos=''word'''''. This is called ''anchoring''.&lt;br /&gt;
&lt;br /&gt;
In 1.3, the format is basically the same but the following changes are made&lt;br /&gt;
* A ''word'' no longer needs to be 4 characters but is comma separated and spaces and tabs may be used for padding&lt;br /&gt;
* The 2 spaces for odd lines in no longer used, instead a leading comma is used on these lines (before the comma spaces and tabs are allowed for padding)&lt;br /&gt;
* A ''word'' may only be a dot a star or an anchor. The terrain letter format was not used and hard to support in the new engine, so that support is dropped.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
To define a north-south 2-tile mountain, the following syntax can be used:&lt;br /&gt;
&lt;br /&gt;
 [terrain_graphics]&lt;br /&gt;
     [tile]&lt;br /&gt;
         x=0&lt;br /&gt;
         y=0&lt;br /&gt;
         type=Mm&lt;br /&gt;
     [/tile]&lt;br /&gt;
     [tile]&lt;br /&gt;
         x=0&lt;br /&gt;
         y=1&lt;br /&gt;
         type=Mm&lt;br /&gt;
     [/tile]&lt;br /&gt;
     no_flag=&amp;quot;mountain-tile&amp;quot;&lt;br /&gt;
     set_flag=&amp;quot;mountain-tile&amp;quot;&lt;br /&gt;
     image_background=&amp;quot;mountain-n-s&amp;quot;&lt;br /&gt;
 [/terrain_graphics]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This represents a tile T, and its 6 adjacent tiles A, in the map notation.&lt;br /&gt;
&lt;br /&gt;
 .,   .,   .,   .&lt;br /&gt;
 ,  .,   A,   .,   .&lt;br /&gt;
 .,   A,   A,   .&lt;br /&gt;
 ,  .,   T,   .,   .&lt;br /&gt;
 .,   A,   A,   .&lt;br /&gt;
 ,  .,   A,   .,   .&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[MultiHexTutorial]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
* Ayin's [http://www.anathas.org/ayin/wesnoth/doc/terrain_graphics_wml detailed Terrain Graphics document]&lt;br /&gt;
* [[TerrainGraphicsTutorial]] - First half of Ayin's document, wikified&lt;br /&gt;
* [[TerrainGraphicsReference]] - Second (partial) half of Ayin's document, wikified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=22914</id>
		<title>Create Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=22914"/>
		<updated>2008-02-28T05:11:58Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* General Information */ &amp;quot;music&amp;quot; -&amp;gt; &amp;quot;data/core/music&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right; margin-left:1em;&amp;quot;&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
=== General Information ===&lt;br /&gt;
Musicians usually meet on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. This is the best place to discuss new music and potential contributions, as well as to hear what is currently being worked on.&lt;br /&gt;
&lt;br /&gt;
Wesnoth's music is stored in the [http://www.vorbis.com/ Ogg Vorbis] format. This is similar to the MP3 format, only it is [http://www.vorbis.com/faq/#artist completely free]. The current music can be found in the &amp;quot;data/core/music&amp;quot; subdirectory of Wesnoth (see [[EditingWesnoth]] for details on Wesnoth's directory structure).&lt;br /&gt;
&lt;br /&gt;
Music composed for Wesnoth should be orchestral with realistic sounding samples, and 3 to 6 minutes in length. Most of the pieces in the &amp;quot;Core Music&amp;quot; section of [[Available Music]] are good examples of this.&lt;br /&gt;
&lt;br /&gt;
To be included in the Battle for Wesnoth, music must be released under the [http://www.gnu.org/copyleft/gpl.html Gnu General Public License]. Read [http://www.wesnoth.org/forum/viewtopic.php?t=2015 this forum post by Jetryl] for more information on this.&lt;br /&gt;
&lt;br /&gt;
=== Where Should I Start? ===&lt;br /&gt;
The first thing any potential music contributor should do is read the [[Music Contribution FAQ]]. It outlines what Wesnoth's music development team is looking for in terms of contributions, and who is likely to be able to contribute work that will be accepted into the core Wesnoth distribution.&lt;br /&gt;
&lt;br /&gt;
If after reading the [[Music Contribution FAQ|FAQ]] you believe you can contribute something to the project, introduce yourself on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. You will most likely be asked for a sample of your previous work, so if you can provide a link to one in your post it would be very helpful.&lt;br /&gt;
&lt;br /&gt;
== Creating Music for Wesnoth ==&lt;br /&gt;
&lt;br /&gt;
* [[Music Contribution FAQ]] - read this first!&lt;br /&gt;
* [[Tools for Creating Music]] details some of the hardware and software you will need to create music for Wesnoth.&lt;br /&gt;
* [[Music Tutorials]] provides some links to useful tutorials and general advice on creating quality music in the style that Wesnoth's music development team requires.&lt;br /&gt;
&lt;br /&gt;
== Adding music to a Scenario or Campaign ==&lt;br /&gt;
&lt;br /&gt;
* [[Available Music]] lists all the pieces which are already available to use in scenarios and campaigns, as well as providing some links to works in progress.&lt;br /&gt;
* [[MusicListWML]] has information on using the [music] WML tag to add music to a Wesnoth scenario.&lt;br /&gt;
&lt;br /&gt;
[[Category:Create]]&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22913</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22913"/>
		<updated>2008-02-28T04:40:42Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Works in Progress */ named marcus rasseli's track&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
If you find an incorrect link, or see that something is missing from this page or filed incorrectly, please fix it! We need your help to maintain this wiki :).&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign. To listen to them, find the data/core/music subfolder of your Wesnoth folder, and open the files with a player capable of decoding [http://www.vorbis.com/ Ogg Vorbis] files. For information on where to find your Wesnoth directory, see [[EditingWesnoth]]. For information on how to play .ogg files, visit http://www.vorbis.com/.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg) 5'18&amp;quot;&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg) 0'08&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg) 0'14&amp;quot;&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg) 0'26&amp;quot;&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg) 3'25&amp;quot;&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg) 1'24&amp;quot;&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg) 9'17&amp;quot;&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg) 6'49&amp;quot;&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg) 2'43&amp;quot;&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg) 2'59&amp;quot;&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg) 0'48&amp;quot;&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg) 0'51&amp;quot;&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg) 0'39&amp;quot;&lt;br /&gt;
* &amp;quot;Nunc Dimittis&amp;quot; by Jeremy Nicoll (nunc_dimittis.ogg) 3'50&amp;quot;&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg) 1'17&amp;quot;&lt;br /&gt;
* &amp;quot;The City Falls&amp;quot; by Doug Kaufman (the_city_falls.ogg) 4'06&amp;quot;&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg) 3'41&amp;quot;&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg) 1'52&amp;quot;&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg) 6'00&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg) 0'05&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg) 0'21&amp;quot;&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg) 4'22&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread]) 0'32&amp;quot;&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Reminisce&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=17246 forum thread]) 3'45&amp;quot;&lt;br /&gt;
: http://gnexp.com/songs/reminisce.ogg&lt;br /&gt;
&lt;br /&gt;
; (Untitled) by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=17580 forum thread]) 1'14&amp;quot;&lt;br /&gt;
: http://www.box.net/shared/yopoe1hvh2&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;War Song&amp;quot; by hiro hito ([http://www.wesnoth.org/forum/viewtopic.php?t=17379 forum thread]) 6'27&amp;quot;&lt;br /&gt;
: http://download.tuxfamily.org/hirosound/tribal_war_song.mp3&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Sing&amp;quot; by Marcus Rasseli ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22912</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22912"/>
		<updated>2008-02-28T04:31:14Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Available Music for Campaign Authors */ add piece by hiro hito&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
If you find an incorrect link, or see that something is missing from this page or filed incorrectly, please fix it! We need your help to maintain this wiki :).&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign. To listen to them, find the data/core/music subfolder of your Wesnoth folder, and open the files with a player capable of decoding [http://www.vorbis.com/ Ogg Vorbis] files. For information on where to find your Wesnoth directory, see [[EditingWesnoth]]. For information on how to play .ogg files, visit http://www.vorbis.com/.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg) 5'18&amp;quot;&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg) 0'08&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg) 0'14&amp;quot;&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg) 0'26&amp;quot;&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg) 3'25&amp;quot;&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg) 1'24&amp;quot;&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg) 9'17&amp;quot;&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg) 6'49&amp;quot;&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg) 2'43&amp;quot;&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg) 2'59&amp;quot;&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg) 0'48&amp;quot;&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg) 0'51&amp;quot;&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg) 0'39&amp;quot;&lt;br /&gt;
* &amp;quot;Nunc Dimittis&amp;quot; by Jeremy Nicoll (nunc_dimittis.ogg) 3'50&amp;quot;&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg) 1'17&amp;quot;&lt;br /&gt;
* &amp;quot;The City Falls&amp;quot; by Doug Kaufman (the_city_falls.ogg) 4'06&amp;quot;&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg) 3'41&amp;quot;&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg) 1'52&amp;quot;&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg) 6'00&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg) 0'05&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg) 0'21&amp;quot;&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg) 4'22&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread]) 0'32&amp;quot;&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Reminisce&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=17246 forum thread]) 3'45&amp;quot;&lt;br /&gt;
: http://gnexp.com/songs/reminisce.ogg&lt;br /&gt;
&lt;br /&gt;
; (Untitled) by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=17580 forum thread]) 1'14&amp;quot;&lt;br /&gt;
: http://www.box.net/shared/yopoe1hvh2&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;War Song&amp;quot; by hiro hito ([http://www.wesnoth.org/forum/viewtopic.php?t=17379 forum thread]) 6'27&amp;quot;&lt;br /&gt;
: http://download.tuxfamily.org/hirosound/tribal_war_song.mp3&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; marcusvinicus ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22911</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22911"/>
		<updated>2008-02-28T04:17:23Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Core Music */ elaborate on how to play ogg files&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
If you find an incorrect link, or see that something is missing from this page or filed incorrectly, please fix it! We need your help to maintain this wiki :).&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign. To listen to them, find the data/core/music subfolder of your Wesnoth folder, and open the files with a player capable of decoding [http://www.vorbis.com/ Ogg Vorbis] files. For information on where to find your Wesnoth directory, see [[EditingWesnoth]]. For information on how to play .ogg files, visit http://www.vorbis.com/.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg) 5'18&amp;quot;&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg) 0'08&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg) 0'14&amp;quot;&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg) 0'26&amp;quot;&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg) 3'25&amp;quot;&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg) 1'24&amp;quot;&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg) 9'17&amp;quot;&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg) 6'49&amp;quot;&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg) 2'43&amp;quot;&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg) 2'59&amp;quot;&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg) 0'48&amp;quot;&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg) 0'51&amp;quot;&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg) 0'39&amp;quot;&lt;br /&gt;
* &amp;quot;Nunc Dimittis&amp;quot; by Jeremy Nicoll (nunc_dimittis.ogg) 3'50&amp;quot;&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg) 1'17&amp;quot;&lt;br /&gt;
* &amp;quot;The City Falls&amp;quot; by Doug Kaufman (the_city_falls.ogg) 4'06&amp;quot;&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg) 3'41&amp;quot;&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg) 1'52&amp;quot;&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg) 6'00&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg) 0'05&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg) 0'21&amp;quot;&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg) 4'22&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread]) 0'32&amp;quot;&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Reminisce&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=17246 forum thread]) 3'45&amp;quot;&lt;br /&gt;
: http://gnexp.com/songs/reminisce.ogg&lt;br /&gt;
&lt;br /&gt;
; (Untitled) by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=17580 forum thread]) 1'14&amp;quot;&lt;br /&gt;
: http://www.box.net/shared/yopoe1hvh2&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; marcusvinicus ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22910</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22910"/>
		<updated>2008-02-28T04:15:57Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: added some length indications for core tracks, added more info on how to listen to them, added two tracks to &amp;quot;available music for campaign authors&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
If you find an incorrect link, or see that something is missing from this page or filed incorrectly, please fix it! We need your help to maintain this wiki :).&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign. To listen to them, find the data/core/music subfolder of your Wesnoth folder, and open the files with a player capable of decoding [http://www.vorbis.com/ Ogg Vorbis] files. For information on where to find your Wesnoth directory, see [[EditingWesnoth]].&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg) 5'18&amp;quot;&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg) 0'08&amp;quot;&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg) 0'14&amp;quot;&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg) 0'26&amp;quot;&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg) 3'25&amp;quot;&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg) 1'24&amp;quot;&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg) 9'17&amp;quot;&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg) 6'49&amp;quot;&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg) 2'43&amp;quot;&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg) 2'59&amp;quot;&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg) 0'48&amp;quot;&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg) 0'51&amp;quot;&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg) 0'39&amp;quot;&lt;br /&gt;
* &amp;quot;Nunc Dimittis&amp;quot; by Jeremy Nicoll (nunc_dimittis.ogg) 3'50&amp;quot;&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg) 1'17&amp;quot;&lt;br /&gt;
* &amp;quot;The City Falls&amp;quot; by Doug Kaufman (the_city_falls.ogg) 4'06&amp;quot;&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg) 3'41&amp;quot;&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg) 3'35&amp;quot;&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg) 1'52&amp;quot;&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg) 6'00&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg) 0'05&amp;quot;&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg) 0'21&amp;quot;&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg) 4'22&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread]) 0'32&amp;quot;&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Reminisce&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=17246 forum thread]) 3'45&amp;quot;&lt;br /&gt;
: http://gnexp.com/songs/reminisce.ogg&lt;br /&gt;
&lt;br /&gt;
; (Untitled) by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=17580 forum thread]) 1'14&amp;quot;&lt;br /&gt;
: http://www.box.net/shared/yopoe1hvh2&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; marcusvinicus ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22842</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22842"/>
		<updated>2008-02-27T07:57:15Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: added nunc_dimitis.ogg, moved &amp;quot;The City Falls&amp;quot; to core&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
If you find an incorrect link, or see that something is missing from this page or filed incorrectly, please fix it! We need your help to maintain this wiki :).&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg)&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg)&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg)&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg)&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg)&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg)&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg)&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg)&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg)&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg)&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg)&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg)&lt;br /&gt;
* &amp;quot;Nunc Dimittis&amp;quot; by Jeremy Nicoll (nunc_dimittis.ogg)&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg)&lt;br /&gt;
* &amp;quot;The City Falls&amp;quot; by Doug Kaufman (the_city_falls.ogg)&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg)&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg)&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg)&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg)&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg)&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; marcusvinicus ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22759</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22759"/>
		<updated>2008-02-25T22:35:48Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: add quick note at the top indicating that anyone can help make this page better&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
If you find an incorrect link, or see that something is missing from this page or filed incorrectly, please fix it! We need your help to maintain this wiki :).&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg)&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg)&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg)&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg)&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg)&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg)&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg)&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg)&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg)&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg)&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg)&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg)&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg)&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg)&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg)&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg)&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg)&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg)&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; marcusvinicus ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;The City Falls&amp;quot; by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=18775 forum thread])&lt;br /&gt;
: http://www.box.net/shared/5s01e0zd9y COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22758</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22758"/>
		<updated>2008-02-25T22:32:47Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Works in Progress */ remove some &amp;quot;complete&amp;quot; markers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg)&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg)&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg)&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg)&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg)&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg)&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg)&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg)&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg)&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg)&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg)&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg)&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg)&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg)&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg)&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg)&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg)&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg)&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; marcusvinicus ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;The City Falls&amp;quot; by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=18775 forum thread])&lt;br /&gt;
: http://www.box.net/shared/5s01e0zd9y COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22756</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22756"/>
		<updated>2008-02-25T22:30:07Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: move knalgan theme, the king is dead to core&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg)&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg)&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg)&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg)&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg)&lt;br /&gt;
* &amp;quot;Knalgan Theme&amp;quot; by Ryan Reilly (knalgan_theme.ogg)&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg)&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg)&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg)&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg)&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg)&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg)&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg)&lt;br /&gt;
* &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (the_king_is_dead.ogg)&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg)&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg)&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg)&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg)&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3 COMPLETE&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3 COMPLETE&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3 COMPLETE&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3 COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Ryan Reilly (Rain) ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; marcusvinicus ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;The City Falls&amp;quot; by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=18775 forum thread])&lt;br /&gt;
: http://www.box.net/shared/5s01e0zd9y COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaigns&amp;diff=22621</id>
		<title>BuildingCampaigns</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaigns&amp;diff=22621"/>
		<updated>2008-02-25T05:00:52Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: clean up some newlines&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right; margin-left:1em;&amp;quot;&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This page describes how to make your own user campaign for use with Battle for Wesnoth.  Please note that this document is not normative - its author is not a Wesnoth developer.  I'm simply reporting on what works for me, and on what developers have prescribed elsewhere.&lt;br /&gt;
If you see any errors, please fix them.&lt;br /&gt;
&lt;br /&gt;
See also [[DebuggingCampaigns]] if your scenario doesn't load.&lt;br /&gt;
&lt;br /&gt;
There are several steps to building a single player campaign in Wesnoth.  The mechanics are covered in the sections below:&lt;br /&gt;
&lt;br /&gt;
* [[BuildingCampaignsDirectoryStructure]]&lt;br /&gt;
* [[BuildingCampaignsTheCampaignFile]]&lt;br /&gt;
* [[BuildingCampaignsThePBLFile]]&lt;br /&gt;
* [[BuildingCampaignsDistribution]]&lt;br /&gt;
* [[WesCamp]] (How to make your campaign translatable, and get in touch with translators)&lt;br /&gt;
&lt;br /&gt;
What follows is a collection of advice to aspiring campaign designers extracted from the Wesnoth fora.  For a more in-depth treatment including heuristics for scenario and campaign balancing, see the [http://catb.org/~esr/wesnoth/campaign-design-howto.html Campaign Design How-To].&lt;br /&gt;
&lt;br /&gt;
== Start with Something Manageable ==&lt;br /&gt;
&lt;br /&gt;
If you set out to make an epic campaign spanning the whole history of Wesnoth, you'll likely (not necessarily, though)&lt;br /&gt;
become bored or frustrated along the&lt;br /&gt;
way somewhere and give up.  It's much easier to start with a small story and add elements to it than it is to cut an&lt;br /&gt;
epic down to the length of a haiku.&lt;br /&gt;
&lt;br /&gt;
;Shade (author of The Rise of Wesnoth) wrote&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: I started TRoW last April, even after it was scenario complete it was still eating all of my free time (Time not spent sleeping, at school / work, or with loved ones / friends) until mid-November... Even now there is still bugfixing and a couple of things I'd like to add... and keeping it up to date with the game engine and any new happenings on the WML front... so there is still quite a lot to keep you busy after you are done... The forums are littered with half finished epics... Before you commit to an epic think long and hard. I don't want to discourage you too much... But it is a lot of 'work' (&amp;amp; fun)&lt;br /&gt;
&lt;br /&gt;
== Story First ==&lt;br /&gt;
&lt;br /&gt;
What separates a campaign from a single scenario is the ability to tell a story.  Consequently, what keeps people coming back for more is a good, interesting story mixed with good, interesting game play.  If you have a good idea of where the story of your campaign is going when you start, the little&lt;br /&gt;
pieces will fall into place much more easily.  After all, it worked for Pixar!&lt;br /&gt;
&lt;br /&gt;
;Scott (author of Liberty, the outlaw campaign) wrote&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: Here is how I wrote Liberty.&lt;br /&gt;
:# Write a rough story and plot&lt;br /&gt;
:# Decide how many scenarios you want to have&lt;br /&gt;
:# Divide the story between the scenarios so you can decide what will happen in each scenario&lt;br /&gt;
:#* where are you?&lt;br /&gt;
:#* who are you fighting and why?&lt;br /&gt;
:#* what do you have to do in this scenario?&lt;br /&gt;
:#* where does the hero want to go next?&lt;br /&gt;
:# Decide on the &amp;quot;hook&amp;quot; for each scenario. There are a lot of different possible setups for scenarios, and if you want to avoid the boring repetition of &amp;quot;Kill the 2 enemy leaders&amp;quot; you can list interesting combinations of enemies, allies, shroud/fog, day/night effects, recruiting and terrain situations, etc. and pick a good mix to keep the combat interesting and fun.    &lt;br /&gt;
: All of this has happened without doing any WML, but now you have enough to start coding.&lt;br /&gt;
&lt;br /&gt;
== Share Early ==&lt;br /&gt;
&lt;br /&gt;
Don't be shy to post whatever you've created for others to look at.  We all had to learn too, and there are many people on the Scenario and Campaign Development forum (http://www.wesnoth.org/forum/viewforum.php?f=8) who are eager to help people learn.&lt;br /&gt;
&lt;br /&gt;
;Turin (author of Eastern Invasion) wrote&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;    &lt;br /&gt;
: I'm working on a loyalist campaign now. I already have the basic plot. I am wondering if anyone wants to playtest my completed levels (i am done with two).  Thus i want to know if i should just post the new files as attachments, or what. There are two map files, two scenario files, an image file, a unit file, and you have to change the game file to access the campaign from the 'campaign menu. So tell me how i should make them accessable.&lt;br /&gt;
&lt;br /&gt;
== Steal Often ==&lt;br /&gt;
&lt;br /&gt;
There are too many quotations to pick one for this maxim.  The best way to learn how to do something is to copy it from someone else's campaign.  It's polite to ask first, and most Campaign designers are happy to see small bits of their WML living in other campaigns.&lt;br /&gt;
It's generally poor form to copy whole scenarios, maps, and campaigns, though.  And especially poor form to do so without permission.&lt;br /&gt;
&lt;br /&gt;
== Next: ==&lt;br /&gt;
* [[BuildingCampaignsTheCampaignFile]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Create]]&lt;br /&gt;
* [[BuildingScenarios]]&lt;br /&gt;
* [[Using custom themes in campaigns]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
* [[UserScenarios]]&lt;br /&gt;
* [[Abandoned_Campaigns]]&lt;br /&gt;
* [[ExternalUtilities]]&lt;br /&gt;
* [http://www.catb.org/~esr/wesnoth/campaign-design-howto.html Campaign Design How To]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Create}}&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=BuildingCampaigns&amp;diff=22618</id>
		<title>BuildingCampaigns</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=BuildingCampaigns&amp;diff=22618"/>
		<updated>2008-02-25T04:54:47Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: formatting: changed &amp;quot;no formatting&amp;quot; sections into indented blocks. They were impossible to read on small displays. Also float TOC at top-right&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right; margin-left:1em;&amp;quot;&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This page describes how to make your own user campaign for use with Battle for Wesnoth.  Please note that this document is not normative - its author is not a Wesnoth developer.  I'm simply reporting on what works for me, and on what developers have prescribed elsewhere.&lt;br /&gt;
If you see any errors, please fix them.&lt;br /&gt;
&lt;br /&gt;
See also [[DebuggingCampaigns]] if your scenario doesn't load.&lt;br /&gt;
&lt;br /&gt;
There are several steps to building a single player campaign in Wesnoth.  The mechanics are covered in the sections below:&lt;br /&gt;
&lt;br /&gt;
* [[BuildingCampaignsDirectoryStructure]]&lt;br /&gt;
* [[BuildingCampaignsTheCampaignFile]]&lt;br /&gt;
* [[BuildingCampaignsThePBLFile]]&lt;br /&gt;
* [[BuildingCampaignsDistribution]]&lt;br /&gt;
* [[WesCamp]] (How to make your campaign translatable, and get in touch with translators)&lt;br /&gt;
&lt;br /&gt;
What follows is a collection of advice to aspiring campaign designers extracted from the Wesnoth fora.  For a more in-depth treatment including heuristics for scenario and campaign balancing, see the [http://catb.org/~esr/wesnoth/campaign-design-howto.html Campaign Design How-To].&lt;br /&gt;
&lt;br /&gt;
== Start with Something Manageable ==&lt;br /&gt;
&lt;br /&gt;
If you set out to make an epic campaign spanning the whole history of Wesnoth, you'll likely (not necessarily, though)&lt;br /&gt;
become bored or frustrated along the&lt;br /&gt;
way somewhere and give up.  It's much easier to start with a small story and add elements to it than it is to cut an&lt;br /&gt;
epic down to the length of a haiku.&lt;br /&gt;
&lt;br /&gt;
;Shade (author of The Rise of Wesnoth) wrote&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: I started TRoW last April, even after it was scenario complete it was still eating all of my free time (Time not spent sleeping, at school / work, or with loved ones / friends) until mid-November... Even now there is still bugfixing and a couple of things I'd like to add... and keeping it up to date with the game engine and any new happenings on the WML front... so there is still quite a lot to keep you busy after you are done... The forums are littered with half finished epics... Before you commit to an epic think long and hard. I don't want to discourage you too much... But it is a lot of 'work' (&amp;amp; fun)&lt;br /&gt;
&lt;br /&gt;
== Story First ==&lt;br /&gt;
&lt;br /&gt;
What separates a campaign from a single scenario is the ability to tell a story.  Consequently, what keeps people coming back for more is a good, interesting story mixed with good, interesting game play.  If you have a good idea of where the story of your campaign is going when you start, the little&lt;br /&gt;
pieces will fall into place much more easily.  After all, it worked for Pixar!&lt;br /&gt;
&lt;br /&gt;
;Scott (author of Liberty, the outlaw campaign) wrote&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: Here is how I wrote Liberty.&lt;br /&gt;
:# Write a rough story and plot&lt;br /&gt;
:# Decide how many scenarios you want to have&lt;br /&gt;
:# Divide the story between the scenarios so you can decide what will happen in each scenario&lt;br /&gt;
:#* where are you?&lt;br /&gt;
:#* who are you fighting and why?&lt;br /&gt;
:#* what do you have to do in this scenario?&lt;br /&gt;
:#* where does the hero want to go next?&lt;br /&gt;
:# Decide on the &amp;quot;hook&amp;quot; for each scenario. There are a lot of different possible setups for scenarios, and if you want to avoid the boring repetition of &amp;quot;Kill the 2 enemy leaders&amp;quot; you can list interesting combinations of enemies, allies, shroud/fog, day/night effects, recruiting and terrain situations, etc. and pick a good mix to keep the combat interesting and fun.    &lt;br /&gt;
: All of this has happened without doing any WML, but now you have enough to start coding.&lt;br /&gt;
&lt;br /&gt;
== Share Early ==&lt;br /&gt;
&lt;br /&gt;
Don't be shy to post whatever you've created for others to look at.  We all had to learn too, and there are many people on the Scenario and Campaign Development forum (http://www.wesnoth.org/forum/viewforum.php?f=8) who are eager to help people learn.&lt;br /&gt;
&lt;br /&gt;
;Turin (author of Eastern Invasion) wrote&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;    &lt;br /&gt;
: I'm working on a loyalist campaign now. I already have the basic plot. I am wondering if anyone wants to playtest my completed levels (i am done with two).  Thus i want to know if i should just post the new files as attachments, or what. There are two map files, two scenario files, an image file, a unit file, and you have to change the game file to access the campaign from the 'campaign menu. So tell me how i should make them accessable.&lt;br /&gt;
&lt;br /&gt;
== Steal Often ==&lt;br /&gt;
&lt;br /&gt;
There are too many quotations to pick one for this maxim.  The best way to learn how to do something is to copy it from someone else's campaign.  It's polite to ask first, and most Campaign designers are happy to see small bits of their WML living in other campaigns.&lt;br /&gt;
It's generally poor form to copy whole scenarios, maps, and campaigns, though.  And especially poor form to do so without permission.&lt;br /&gt;
&lt;br /&gt;
== Next: ==&lt;br /&gt;
* [[BuildingCampaignsTheCampaignFile]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Create]]&lt;br /&gt;
* [[BuildingScenarios]]&lt;br /&gt;
* [[Using custom themes in campaigns]]&lt;br /&gt;
* [[ReferenceWML]]&lt;br /&gt;
* [[UserScenarios]]&lt;br /&gt;
* [[Abandoned_Campaigns]]&lt;br /&gt;
* [[ExternalUtilities]]&lt;br /&gt;
* [http://www.catb.org/~esr/wesnoth/campaign-design-howto.html Campaign Design How To]&lt;br /&gt;
&lt;br /&gt;
{{Create}}&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=22611</id>
		<title>Create Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=22611"/>
		<updated>2008-02-25T03:57:18Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Creating Music for Wesnoth */ added brief link descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right; margin-left:1em;&amp;quot;&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
=== General Information ===&lt;br /&gt;
Musicians usually meet on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. This is the best place to discuss new music and potential contributions, as well as to hear what is currently being worked on.&lt;br /&gt;
&lt;br /&gt;
Wesnoth's music is stored in the [http://www.vorbis.com/ Ogg Vorbis] format. This is similar to the MP3 format, only it is [http://www.vorbis.com/faq/#artist completely free]. The current music can be found in the &amp;quot;music&amp;quot; subdirectory of Wesnoth (see [[EditingWesnoth]] for details on Wesnoth's directory structure).&lt;br /&gt;
&lt;br /&gt;
Music composed for Wesnoth should be orchestral with realistic sounding samples, and 3 to 6 minutes in length. Most of the pieces in the &amp;quot;Core Music&amp;quot; section of [[Available Music]] are good examples of this.&lt;br /&gt;
&lt;br /&gt;
To be included in the Battle for Wesnoth, music must be released under the [http://www.gnu.org/copyleft/gpl.html Gnu General Public License]. Read [http://www.wesnoth.org/forum/viewtopic.php?t=2015 this forum post by Jetryl] for more information on this.&lt;br /&gt;
&lt;br /&gt;
=== Where Should I Start? ===&lt;br /&gt;
The first thing any potential music contributor should do is read the [[Music Contribution FAQ]]. It outlines what Wesnoth's music development team is looking for in terms of contributions, and who is likely to be able to contribute work that will be accepted into the core Wesnoth distribution.&lt;br /&gt;
&lt;br /&gt;
If after reading the [[Music Contribution FAQ|FAQ]] you believe you can contribute something to the project, introduce yourself on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. You will most likely be asked for a sample of your previous work, so if you can provide a link to one in your post it would be very helpful.&lt;br /&gt;
&lt;br /&gt;
== Creating Music for Wesnoth ==&lt;br /&gt;
&lt;br /&gt;
* [[Music Contribution FAQ]] - read this first!&lt;br /&gt;
* [[Tools for Creating Music]] details some of the hardware and software you will need to create music for Wesnoth.&lt;br /&gt;
* [[Music Tutorials]] provides some links to useful tutorials and general advice on creating quality music in the style that Wesnoth's music development team requires.&lt;br /&gt;
&lt;br /&gt;
== Adding music to a Scenario or Campaign ==&lt;br /&gt;
&lt;br /&gt;
* [[Available Music]] lists all the pieces which are already available to use in scenarios and campaigns, as well as providing some links to works in progress.&lt;br /&gt;
* [[MusicListWML]] has information on using the [music] WML tag to add music to a Wesnoth scenario.&lt;br /&gt;
&lt;br /&gt;
[[Category:Create]]&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=22610</id>
		<title>Create Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=22610"/>
		<updated>2008-02-25T03:51:27Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Adding music to a Scenario or Campaign */ add link to MusicListWML and brief link descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right; margin-left:1em;&amp;quot;&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
=== General Information ===&lt;br /&gt;
Musicians usually meet on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. This is the best place to discuss new music and potential contributions, as well as to hear what is currently being worked on.&lt;br /&gt;
&lt;br /&gt;
Wesnoth's music is stored in the [http://www.vorbis.com/ Ogg Vorbis] format. This is similar to the MP3 format, only it is [http://www.vorbis.com/faq/#artist completely free]. The current music can be found in the &amp;quot;music&amp;quot; subdirectory of Wesnoth (see [[EditingWesnoth]] for details on Wesnoth's directory structure).&lt;br /&gt;
&lt;br /&gt;
Music composed for Wesnoth should be orchestral with realistic sounding samples, and 3 to 6 minutes in length. Most of the pieces in the &amp;quot;Core Music&amp;quot; section of [[Available Music]] are good examples of this.&lt;br /&gt;
&lt;br /&gt;
To be included in the Battle for Wesnoth, music must be released under the [http://www.gnu.org/copyleft/gpl.html Gnu General Public License]. Read [http://www.wesnoth.org/forum/viewtopic.php?t=2015 this forum post by Jetryl] for more information on this.&lt;br /&gt;
&lt;br /&gt;
=== Where Should I Start? ===&lt;br /&gt;
The first thing any potential music contributor should do is read the [[Music Contribution FAQ]]. It outlines what Wesnoth's music development team is looking for in terms of contributions, and who is likely to be able to contribute work that will be accepted into the core Wesnoth distribution.&lt;br /&gt;
&lt;br /&gt;
If after reading the [[Music Contribution FAQ|FAQ]] you believe you can contribute something to the project, introduce yourself on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. You will most likely be asked for a sample of your previous work, so if you can provide a link to one in your post it would be very helpful.&lt;br /&gt;
&lt;br /&gt;
== Creating Music for Wesnoth ==&lt;br /&gt;
&lt;br /&gt;
* [[Music Contribution FAQ]]&lt;br /&gt;
* [[Tools for Creating Music]]&lt;br /&gt;
* [[Music Tutorials]]&lt;br /&gt;
&lt;br /&gt;
== Adding music to a Scenario or Campaign ==&lt;br /&gt;
&lt;br /&gt;
* [[Available Music]] lists all the pieces which are already available to use in scenarios and campaigns, as well as providing some links to works in progress.&lt;br /&gt;
* [[MusicListWML]] has information on using the [music] WML tag to add music to a Wesnoth scenario.&lt;br /&gt;
&lt;br /&gt;
[[Category:Create]]&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=MusicListWML&amp;diff=22604</id>
		<title>MusicListWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=MusicListWML&amp;diff=22604"/>
		<updated>2008-02-24T23:37:52Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: add to Music category, add a link to Available_Music&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== the [music] tag ==&lt;br /&gt;
&lt;br /&gt;
This tag is a subtag of [scenario] and [event] which is used to describe a music track to play.  You can repeat this tag as many times as you like; if you set the ''append'' tag to ''yes'' they will form a playlist from which tracks will be selected at random.&lt;br /&gt;
&lt;br /&gt;
Tags describe the music track:&lt;br /&gt;
* ''name'' specifies the music file, relative to '&amp;quot;music/&amp;quot;'.  This is compulsory.&lt;br /&gt;
* ''append=yes'' specifies this is to be added to the current playlist.  Without this, the current playlist is replaced by this track.&lt;br /&gt;
* ''play_once=yes'' immediately switch to playing this track, but then return to the play list, which is unchanged.&lt;br /&gt;
* ''immediate=yes'' immediately switch to playing this track.  Without this, the song will play when the entire [event] is over or the current song ends.  This exists to force music changes '''during''' dialog exchange or other [event] which take significant time.&lt;br /&gt;
* ''ms_before'' (optional) specifies how many milliseconds to delay before playing this track.  Currently this does not apply when the scenario first starts, or with ''play_once'' or ''immediate''.&lt;br /&gt;
* ''ms_after'' (optional) specifies how many milliseconds to delay after playing this track.&lt;br /&gt;
&lt;br /&gt;
For a list of music tracks you can use in your scenario, see [[Available Music]].&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
This creates a new playlist with three entries in it.  The second track is always preceeded by 1/2 a second of silence.&lt;br /&gt;
  [music]&lt;br /&gt;
     name=background-music-1.ogg&lt;br /&gt;
  [/music]&lt;br /&gt;
  [music]&lt;br /&gt;
     name=background-music-2.ogg&lt;br /&gt;
     ms_before=500&lt;br /&gt;
     append=yes&lt;br /&gt;
  [/music]&lt;br /&gt;
  [music]&lt;br /&gt;
     name=background-music-3.ogg&lt;br /&gt;
     append=yes&lt;br /&gt;
  [/music]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: WML Reference]]&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=22603</id>
		<title>Create Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=22603"/>
		<updated>2008-02-24T23:30:33Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: remove &amp;quot;see also&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right; margin-left:1em;&amp;quot;&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
=== General Information ===&lt;br /&gt;
Musicians usually meet on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. This is the best place to discuss new music and potential contributions, as well as to hear what is currently being worked on.&lt;br /&gt;
&lt;br /&gt;
Wesnoth's music is stored in the [http://www.vorbis.com/ Ogg Vorbis] format. This is similar to the MP3 format, only it is [http://www.vorbis.com/faq/#artist completely free]. The current music can be found in the &amp;quot;music&amp;quot; subdirectory of Wesnoth (see [[EditingWesnoth]] for details on Wesnoth's directory structure).&lt;br /&gt;
&lt;br /&gt;
Music composed for Wesnoth should be orchestral with realistic sounding samples, and 3 to 6 minutes in length. Most of the pieces in the &amp;quot;Core Music&amp;quot; section of [[Available Music]] are good examples of this.&lt;br /&gt;
&lt;br /&gt;
To be included in the Battle for Wesnoth, music must be released under the [http://www.gnu.org/copyleft/gpl.html Gnu General Public License]. Read [http://www.wesnoth.org/forum/viewtopic.php?t=2015 this forum post by Jetryl] for more information on this.&lt;br /&gt;
&lt;br /&gt;
=== Where Should I Start? ===&lt;br /&gt;
The first thing any potential music contributor should do is read the [[Music Contribution FAQ]]. It outlines what Wesnoth's music development team is looking for in terms of contributions, and who is likely to be able to contribute work that will be accepted into the core Wesnoth distribution.&lt;br /&gt;
&lt;br /&gt;
If after reading the [[Music Contribution FAQ|FAQ]] you believe you can contribute something to the project, introduce yourself on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. You will most likely be asked for a sample of your previous work, so if you can provide a link to one in your post it would be very helpful.&lt;br /&gt;
&lt;br /&gt;
== Creating Music for Wesnoth ==&lt;br /&gt;
&lt;br /&gt;
* [[Music Contribution FAQ]]&lt;br /&gt;
* [[Tools for Creating Music]]&lt;br /&gt;
* [[Music Tutorials]]&lt;br /&gt;
&lt;br /&gt;
== Adding music to a Scenario or Campaign ==&lt;br /&gt;
&lt;br /&gt;
* [[Available Music]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Create]]&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Tools_for_Creating_Music&amp;diff=22602</id>
		<title>Tools for Creating Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Tools_for_Creating_Music&amp;diff=22602"/>
		<updated>2008-02-24T23:29:50Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: remove&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware ==&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
=== Non-Free ===&lt;br /&gt;
Pro-grade (thus quite costly) applications:&lt;br /&gt;
* [http://www.steinberg.net/983_1.html Cubase] Mac / Windows&lt;br /&gt;
* [http://www.apple.com/logicstudio/logicpro/ Logic Studio] Mac&lt;br /&gt;
* [http://www.cakewalk.com/Products/SONAR/default.asp Sonar] Windows&lt;br /&gt;
* [http://www.digidesign.com/index.cfm?navid=24&amp;amp;langid=100&amp;amp; ProTools] Mac / Windows&lt;br /&gt;
Less expensive alternatives:&lt;br /&gt;
* [http://www.cockos.com/reaper/ REAPER] Mac / Windows&lt;br /&gt;
* [http://www.flstudio.com/ FL Studio] Windows&lt;br /&gt;
&lt;br /&gt;
=== Free ===&lt;br /&gt;
* [http://ardour.org/ Ardour] Linux&lt;br /&gt;
&lt;br /&gt;
== Samples ==&lt;br /&gt;
=== Non-Free ===&lt;br /&gt;
=== Free ===&lt;br /&gt;
* [http://hosted.filefront.com/gtownsounds G-Town Percussion] Excellent orchestral percussion sounds.&lt;br /&gt;
&lt;br /&gt;
* [http://www.northernsounds.com/forum/showthread.php?t=51293 Celtic Harp] Beautiful 250MB celtic harp soundfont (d/l links are in the thread; there's also a giga version available)&lt;br /&gt;
&lt;br /&gt;
* [http://come.to/bovbjerg Soeren Bovbjerg's Pianos] A few pianos in sf2/gig format. Sound good considering their size.&lt;br /&gt;
&lt;br /&gt;
* Very good clarinet by Mats Helgesson (the site requires registration):&lt;br /&gt;
** [http://www.sf2midi.com/index.php?page=sdet&amp;amp;id=7017 Maestro clarinet Legato]&lt;br /&gt;
** [http://www.sf2midi.com/index.php?page=sdet&amp;amp;id=6675 Maestro clarinet Breath]&lt;br /&gt;
** [http://www.sf2midi.com/index.php?page=sdet&amp;amp;id=6674 Maestro clarinet Staccato]&lt;br /&gt;
&lt;br /&gt;
* [http://lesitedeburnie.free.fr/matshelgesson-maestro-en.html Maestro Concert Grand] 985MB concert grand piano by Mats Helgesson.&lt;br /&gt;
&lt;br /&gt;
* [http://www.sf2midi.com/index.php?page=sdet&amp;amp;id=9337 Alex Glockenspiel] A nice little glockenspiel.&lt;br /&gt;
&lt;br /&gt;
* [http://www.emulatorxone.com/free_emulator_x_sounds/free_emulator_x_sounds.htm EmulatorXone Trumpet] 60 meg solo trumpet in emulatorX format.&lt;br /&gt;
&lt;br /&gt;
* [http://www.sf2midi.com/index.php?page=sdet&amp;amp;id=6050 Douglas Concert Timpani] Very good timpani freebie from Naturalstudio.&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Music_Tutorials&amp;diff=22601</id>
		<title>Music Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Music_Tutorials&amp;diff=22601"/>
		<updated>2008-02-24T23:28:53Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: remove &amp;quot;see also&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== External Tutorials ==&lt;br /&gt;
* [http://northernsounds.com/forum/forumdisplay.php?f=77 Principles of Orchestration] Free online version of Nikolay Rimsky-Korsakov's &amp;quot;orchestration bible&amp;quot; complete with audio examples.&lt;br /&gt;
* [http://www.philharmonia.co.uk/thesoundexchange/the_orchestra/ Philharmonia Orchestra] An invaluable resource. I recommend everyone who wishes to learn more about the orchestra and its instruments to take a look at this site.&lt;br /&gt;
* [http://www.lynnemusic.com/phoenix-article.html Making orchestral music... without an orchestra] An insteresting insight into creating a virtual orchestra by composer Bjorn Lynne.&lt;br /&gt;
* [http://www.garritan.com/Orchestral_Simulation_Tutorial.html Improving Orchestral Simulation through Musical Knowledge] An article about making realistic orchestral simulations by Alan Belkin.&lt;br /&gt;
* [http://www.musique.umontreal.ca/personnel/Belkin/bk.o/index.html Artistic Orchestration] Another great and in-depth piece ny Alan Belkin.&lt;br /&gt;
* [http://www.shopjt3.com/midi_tips.html 10 tips for making your MIDI orchestrations sound real] The title says it all.&lt;br /&gt;
* [http://www.soundonsound.com/sos/dec99/articles/orchestral.htm CREATING REALISTIC SAMPLE-BASED ORCHESTRAL ARRANGEMENTS: PART 1] Old but very informative SOS article about sample-based orchestration.&lt;br /&gt;
* [http://www.paintingbynumbers.com/print/images/html/orchestral_manoeuvres.html ORCHESTRAL MANOEUVRES] Another good SOS article.&lt;br /&gt;
* [http://library.thinkquest.org/22673/orchestra.html The symphony orchestra] Some basic info about seating and instruments.&lt;br /&gt;
* [http://hyperphysics.phy-astr.gsu.edu/hbase/music/orchins.html Instrument data] Some technical data on orchestral instruments.&lt;br /&gt;
* [http://metmagazine.com/mag/sequencestration/index.html Sequence-stration] Another article about getting good results from MIDI orchestration.&lt;br /&gt;
* [http://www.prorec.com/Articles/tabid/109/EntryID/252/Default.aspx Using Advanced Orchestral Libraries] Some tips on... yeah, it's all in the title.&lt;br /&gt;
* [http://www.jerrygerber.com/soniccontrolinterview.htm An interview with Jerry Gerber] Uh... yep.&lt;br /&gt;
* [http://www.jerrygerber.com/unrealorchestra.htm The Unreal Orchestra] Interesting article about moive scoring by Jerry Gerber and Michael Prager&lt;br /&gt;
* [http://www.maartenspruijt.com/digitalorchestration.com/ Digital Orchestration.com] The personal site of composer Maarten Spruijt. A lot of good info on MIDI orchestration and music production.&lt;br /&gt;
* [http://www.classicalworks.com/html/glossary.html Glossary of Musical Terms] Might come in handy.&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22600</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22600"/>
		<updated>2008-02-24T23:27:26Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: remove &amp;quot;see also&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg)&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg)&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg)&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg)&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg)&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg)&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg)&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg)&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg)&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg)&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg)&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg)&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg)&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg)&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg)&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg)&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3 COMPLETE&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3 COMPLETE&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3 COMPLETE&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3 COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Knalgan Theme&amp;quot; by Rain ([http://www.wesnoth.org/forum/viewtopic.php?t=18737 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/KnalganTheme.ogg COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Rain ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; marcusvinicus ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (West) ([http://www.wesnoth.org/forum/viewtopic.php?t=18277 forum thread])&lt;br /&gt;
: http://www.soundclick.com/bands/default.cfm?bandID=754266&amp;amp;content=music (The King is Dead) COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;The City Falls&amp;quot; by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=18775 forum thread])&lt;br /&gt;
: http://www.box.net/shared/5s01e0zd9y COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22501</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22501"/>
		<updated>2008-02-24T12:18:43Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Works in Progress */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg)&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg)&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg)&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg)&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg)&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg)&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg)&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg)&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg)&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg)&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg)&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg)&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg)&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg)&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg)&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg)&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3 COMPLETE&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3 COMPLETE&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3 COMPLETE&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3 COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Knalgan Theme&amp;quot; by Rain ([http://www.wesnoth.org/forum/viewtopic.php?t=18737 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/KnalganTheme.ogg COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Rain ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; marcusvinicus ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (West) ([http://www.wesnoth.org/forum/viewtopic.php?t=18277 forum thread])&lt;br /&gt;
: http://www.soundclick.com/bands/default.cfm?bandID=754266&amp;amp;content=music (The King is Dead) COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;The City Falls&amp;quot; by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=18775 forum thread])&lt;br /&gt;
: http://www.box.net/shared/5s01e0zd9y COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Create Music]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=22500</id>
		<title>Create Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Create_Music&amp;diff=22500"/>
		<updated>2008-02-24T12:16:06Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: /* Creating Music for Wesnoth */ add FAQ link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right; margin-left:1em;&amp;quot;&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
=== General Information ===&lt;br /&gt;
Musicians usually meet on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. This is the best place to discuss new music and potential contributions, as well as to hear what is currently being worked on.&lt;br /&gt;
&lt;br /&gt;
Wesnoth's music is stored in the [http://www.vorbis.com/ Ogg Vorbis] format. This is similar to the MP3 format, only it is [http://www.vorbis.com/faq/#artist completely free]. The current music can be found in the &amp;quot;music&amp;quot; subdirectory of Wesnoth (see [[EditingWesnoth]] for details on Wesnoth's directory structure).&lt;br /&gt;
&lt;br /&gt;
Music composed for Wesnoth should be orchestral with realistic sounding samples, and 3 to 6 minutes in length. Most of the pieces in the &amp;quot;Core Music&amp;quot; section of [[Available Music]] are good examples of this.&lt;br /&gt;
&lt;br /&gt;
To be included in the Battle for Wesnoth, music must be released under the [http://www.gnu.org/copyleft/gpl.html Gnu General Public License]. Read [http://www.wesnoth.org/forum/viewtopic.php?t=2015 this forum post by Jetryl] for more information on this.&lt;br /&gt;
&lt;br /&gt;
=== Where Should I Start? ===&lt;br /&gt;
The first thing any potential music contributor should do is read the [[Music Contribution FAQ]]. It outlines what Wesnoth's music development team is looking for in terms of contributions, and who is likely to be able to contribute work that will be accepted into the core Wesnoth distribution.&lt;br /&gt;
&lt;br /&gt;
If after reading the [[Music Contribution FAQ|FAQ]] you believe you can contribute something to the project, introduce yourself on the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]. You will most likely be asked for a sample of your previous work, so if you can provide a link to one in your post it would be very helpful.&lt;br /&gt;
&lt;br /&gt;
== Creating Music for Wesnoth ==&lt;br /&gt;
&lt;br /&gt;
* [[Music Contribution FAQ]]&lt;br /&gt;
* [[Tools for Creating Music]]&lt;br /&gt;
* [[Music Tutorials]]&lt;br /&gt;
&lt;br /&gt;
== Adding music to a Scenario or Campaign ==&lt;br /&gt;
&lt;br /&gt;
* [[Available Music]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Create]]&lt;br /&gt;
* [[Project]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Create]]&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22498</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22498"/>
		<updated>2008-02-24T11:56:11Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: my head hurts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg)&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg)&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg)&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg)&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg)&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg)&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg)&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg)&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg)&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg)&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg)&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg)&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg)&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg)&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg)&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg)&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Burin the Lost Theme&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19605 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/lzce/Burin-the-Lost&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
; bluerc ([http://www.wesnoth.org/forum/viewtopic.php?t=19136 forum thread])&lt;br /&gt;
: http://neuron.fei.tuke.sk/~rockai/mp3/DruhaPiesenPreKatarinu.mp3&lt;br /&gt;
&lt;br /&gt;
; jeanbrut ([http://www.wesnoth.org/forum/viewtopic.php?t=18835 forum thread])&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert1.mp3&lt;br /&gt;
: http://o.militon.free.fr/Morceaux/DragonVert2.mp3&lt;br /&gt;
&lt;br /&gt;
; Tlogner ([http://www.wesnoth.org/forum/viewtopic.php?t=18364 forum thread])&lt;br /&gt;
: http://benyates.info/high%20seas%20for%20wesnoth.mp3&lt;br /&gt;
: http://benyates.info/forgottenwoods.mp3&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread]) &lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3 COMPLETE&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3 COMPLETE&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3 COMPLETE&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3 COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Knalgan Theme&amp;quot; by Rain ([http://www.wesnoth.org/forum/viewtopic.php?t=18737 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/KnalganTheme.ogg COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Tragedy&amp;quot; by Rain ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Flight of the Drakes&amp;quot; by [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; marcusvinicus ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;The King is Dead&amp;quot; by Mattias Westlund (West) ([http://www.wesnoth.org/forum/viewtopic.php?t=18277 forum thread])&lt;br /&gt;
: http://www.soundclick.com/bands/default.cfm?bandID=754266&amp;amp;content=music (The King is Dead) COMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;The City Falls&amp;quot; by Doug Kaufman ([http://www.wesnoth.org/forum/viewtopic.php?t=18775 forum thread])&lt;br /&gt;
: http://www.box.net/shared/5s01e0zd9y CVOMPLETE&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Snowfall&amp;quot; by Jeremy Nicoll ([http://www.wesnoth.org/forum/viewtopic.php?t=18311 forum thread])&lt;br /&gt;
: http://www.gnexp.com/songs/snowfall.mp3&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Orc Theme&amp;quot; by Aleksi Aubry-Carlson ([http://www.wesnoth.org/forum/viewtopic.php?t=6162 forum thread])&lt;br /&gt;
: http://aleksi.free.fr/Wesnoth/Gameplay%2006.ogg&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Create Music]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22497</id>
		<title>Available Music</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Available_Music&amp;diff=22497"/>
		<updated>2008-02-24T11:06:26Z</updated>

		<summary type="html">&lt;p&gt;Mesilliac: starting to link music from the forums&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of music tracks written for the Battle for Wesnoth.&lt;br /&gt;
&lt;br /&gt;
== Core Music ==&lt;br /&gt;
&lt;br /&gt;
These tracks are included in the official Battle for Wesnoth distribution, and are automatically available to any user-made scenario or campaign.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- NEED LINKS... I was going to link to SVN, but it's not simple to have the link point automatically to the most current version. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Battle Music&amp;quot; by Aleksi-Aubry-Carlson (battle.ogg)&lt;br /&gt;
* &amp;quot;Breaking the Chains&amp;quot; by Mattias Westlund (breaking_the_chains.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Timothy Pinkham (defeat.ogg)&lt;br /&gt;
* &amp;quot;Defeat&amp;quot; by Ryan Reilly (defeat2.ogg)&lt;br /&gt;
* &amp;quot;Elf Land&amp;quot; by aleksi-Aubry-Carlson (elf-land.ogg)&lt;br /&gt;
* &amp;quot;Elvish Theme&amp;quot; by Doug Kaufman (elvish-theme.ogg)&lt;br /&gt;
* &amp;quot;Frantic&amp;quot; by Aleksi-Aubry-Carlson (frantic.ogg)&lt;br /&gt;
* &amp;quot;The Knolls of Doldesh&amp;quot; by Timothy Pinkham (knolls.ogg)&lt;br /&gt;
* &amp;quot;Legends of the North&amp;quot; by Mattias Westlund (legends_of_the_north.ogg)&lt;br /&gt;
* &amp;quot;Loyalists&amp;quot; by Joseph G. Toscano (Zhaytee) (loyalists.ogg)&lt;br /&gt;
* &amp;quot;Main Menu&amp;quot; by Aleksi Aubry-Carlson (main_menu.ogg)&lt;br /&gt;
* &amp;quot;Main Theme&amp;quot; by Aleksi Aubry-Carlson (main_menu_new.ogg)&lt;br /&gt;
* &amp;quot;Northerners&amp;quot; by Aleksi Aubry-Carlson (northerners.ogg)&lt;br /&gt;
* &amp;quot;Revelation&amp;quot; by Joseph G. Toscano (Zhaytee) (revelation.ogg)&lt;br /&gt;
* &amp;quot;Traveling Minstrels&amp;quot; by Mattias Westlund (traveling_minstrels.ogg)&lt;br /&gt;
* &amp;quot;Underground&amp;quot; by Aleksi Aubry-Carlson (underground.ogg)&lt;br /&gt;
* &amp;quot;Vengeful Pursuit&amp;quot; by Jeremy Nicoll (vengeful.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Timothy Pinkham (victory.ogg)&lt;br /&gt;
* &amp;quot;Victory&amp;quot; by Ryan Reilly (victory2.ogg)&lt;br /&gt;
* &amp;quot;Still Another Wanderer&amp;quot; by Timothy Pinkham (wanderer.ogg)&lt;br /&gt;
&lt;br /&gt;
== Available Music for Campaign Authors ==&lt;br /&gt;
&lt;br /&gt;
These tracks have not been accepted for mainline inclusion, but campaign authors are free to include them in their campaigns. As they are not part of the official Battle for Wesnoth distribution, campaign authors will need to include the .ogg files in their campaign package.&lt;br /&gt;
&lt;br /&gt;
(need to search the forums a bit to populate this)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Contributions ==&lt;br /&gt;
&lt;br /&gt;
These were indicated by the author to be potential contributions to the Battle for Wesnoth, but their use has not been explicitly allowed and they have not yet been released under the GPL. The authors of these pieces may agree to release them under the GPL if someone has a use for them. In this case, try to contact the author directly.&lt;br /&gt;
&lt;br /&gt;
; barisium ([http://www.wesnoth.org/forum/viewtopic.php?t=19536 forum thread]) : http://www.tindeck.com/audio/my/urih/Maabad16&lt;br /&gt;
&lt;br /&gt;
== Works in Progress ==&lt;br /&gt;
&lt;br /&gt;
These pieces are still being worked on, or have not been declared as finished. The author may welcome constructive criticism and would most likely welcome encouragement or praise. If you intend to use these in a campaign, it would be polite to let the author know of your intention, as they might not wish for their work to be used until it is complete.&lt;br /&gt;
&lt;br /&gt;
This list is unlikely to be regularly updated. The best place to check out the music that is currently being developed for Wesnoth is the [http://www.wesnoth.org/forum/viewforum.php?f=14 Music development forum]&lt;br /&gt;
&lt;br /&gt;
; Joseph G. Toscano (Zhaytee) ([http://www.wesnoth.org/forum/viewtopic.php?t=16105 forum thread])&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_fanfare.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_lovetheme.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_newtruths.mp3&lt;br /&gt;
: http://zhaymusic.com/music/mp3/gpl/zhaytee-wesnoth_tragedy.mp3&lt;br /&gt;
&lt;br /&gt;
; Rain ([http://www.wesnoth.org/forum/viewtopic.php?t=18737 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/KnalganTheme.ogg&lt;br /&gt;
&lt;br /&gt;
; Rain ([http://www.wesnoth.org/forum/viewtopic.php?t=19600 forum thread])&lt;br /&gt;
: http://www.allacrost.org/staff/user/rain/WesnothTragedy5.mp3&lt;br /&gt;
&lt;br /&gt;
; [PA]NotUncleDave ([http://www.wesnoth.org/forum/viewtopic.php?t=19362 forum thread])&lt;br /&gt;
: http://www.tindeck.com/audio/my/azxe/Flight-of-the-Drakes&lt;br /&gt;
&lt;br /&gt;
; marcusvinicus ([http://www.wesnoth.org/forum/viewtopic.php?t=20002 forum thread])&lt;br /&gt;
: http://www.4shared.com/file/38438486/d3ac5c39/sinf1.html&lt;br /&gt;
&lt;br /&gt;
; Mattias Westlund (West) ([http://www.wesnoth.org/forum/viewtopic.php?t=18277 forum thread])&lt;br /&gt;
: http://www.soundclick.com/bands/default.cfm?bandID=754266&amp;amp;content=music (The King is Dead)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Create Music]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>Mesilliac</name></author>
		
	</entry>
</feed>