<?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=Grzywacz</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=Grzywacz"/>
	<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/Special:Contributions/Grzywacz"/>
	<updated>2026-04-10T23:52:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Fosdem2010&amp;diff=33254</id>
		<title>Fosdem2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Fosdem2010&amp;diff=33254"/>
		<updated>2009-12-03T22:35:14Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Schedule/Plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General information ==&lt;br /&gt;
This page is meant to somehow coordinate the small Wesconf taking place at FOSDEM 2009. That is everyone attending should please list him/herself in the list of arrivals and stuff like this. FOSDEM 2010 will take place at the first weekend in Febuary 2009, on Saturday 6th and Sunday 7th.&lt;br /&gt;
&lt;br /&gt;
* Fosdem - http://fosdem.org/2010/&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewtopic.php?p=283311#283311 List with phone numbers] (forum moderators only)&lt;br /&gt;
&lt;br /&gt;
== Schedule/Plans ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! (nick)name(s)&lt;br /&gt;
! Arrival&lt;br /&gt;
! Departure&lt;br /&gt;
! Accomodation&lt;br /&gt;
|-&lt;br /&gt;
| Ivanovic&lt;br /&gt;
| Fri, 5th&lt;br /&gt;
| Sun, 7th&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| Crab&lt;br /&gt;
| Fri, 5th&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| grzywacz&lt;br /&gt;
| Fri, 5th (?)&lt;br /&gt;
| Mon, 8th (?)&lt;br /&gt;
| unknown&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For accomodations please keep in mind that parking in the center of Brussels is really problematic. It might make sense to drive to the University where FOSDEM takes place, park there and take the bus into the town center (where some of the hotels/hostels are).&lt;br /&gt;
&lt;br /&gt;
Possible hostels that we at least contacted over the last years (some of them might already be booked out by now!):&lt;br /&gt;
* [http://www.chab.be/ CHAB]&lt;br /&gt;
* [http://www.2go4.be/ 2go4] Note: groups bigger 6 are not allowed, so we can (officially) not form a complete Wesnoth group at this hostel, got to meet somewhere in town/at the university...&lt;br /&gt;
* [http://www.jeugdherbergen.be/brusselE.htm Bruegel YH]&lt;br /&gt;
&lt;br /&gt;
On the official FOSDEM page [http://fosdem.org/2010/practical/accomodation some more possible hotels/hostels] are listed.&lt;br /&gt;
&lt;br /&gt;
== Maps ==&lt;br /&gt;
* [http://tinyurl.com/3a65gr Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/35br9c Brussels Central (Train Station) → Bruegel YH]&lt;br /&gt;
* [http://tinyurl.com/37d9v4 Bruegel YH → Brussels Central (Train Station) → Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/2mzns6 Novotel Grand Place]&lt;br /&gt;
* [http://tinyurl.com/3dggg3 CrownePlaza (Europa)]&lt;br /&gt;
* [http://tinyurl.com/36epxj FOSDEM]&lt;br /&gt;
* [http://tinyurl.com/2w4bms Novotel Grand Place -&amp;gt; FOSDEM]&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
Information about how to reach the FOSDEM is listed at the [http://fosdem.org/2010/practical/transportation official transportation subpage].&lt;br /&gt;
&lt;br /&gt;
Short version of how to get there for those that reside in Bruegel YH and Novotel Grand Place (basically town center):&lt;br /&gt;
&lt;br /&gt;
* Enter Bus 71 (Debrouckere - Central Station (&amp;quot;Gare Centrale&amp;quot;) - Delta) somewhere at 'Central Station'&lt;br /&gt;
* Leave the bus at &amp;quot;ULB&amp;quot; (crossroads Ave. Adolphe Buyl - Sq. Deveze)&lt;br /&gt;
* Walk down Ave. Paul Heger on your right hand.&lt;br /&gt;
&lt;br /&gt;
== Wesnoth Hacking Room ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth will not have a room of its own. Instead we will use one of the &amp;quot;general hacking rooms&amp;quot;. So far it is not sure which room it will be, if we do it like the last two years, it will be room number 115 in the building AW1. Last year this was the smaller of the two hacking rooms and we had no real problem with conquering (and holding) the first row in this room. There were not too many power outlets, so this year at least Ivanovic will bring one multi-outlet power strip plus some extension cable (5m or something like this). There is no wired network, everything wireless (and sometimes rather/very unstable!). Beside this you should bring laptops since there are no computers available for hacking.&lt;br /&gt;
&lt;br /&gt;
Short version:&lt;br /&gt;
 AW1 - Room 115&lt;br /&gt;
&lt;br /&gt;
== Planned discussion ==&lt;br /&gt;
We usually discuss all sorts of things at FOSDEM, this section is here to have a small bullet list of things that we actively want to discuss at FOSDEM.&lt;br /&gt;
* GSOC 2010: finding mentors, organizing the submission etc..&lt;br /&gt;
* FOSDEM 2011 : trying to get a dev room with other games ?&lt;br /&gt;
* [wanted: discussion topics!]&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2009 ==&lt;br /&gt;
We were already at FOSDEM 2009, here something as reference:&lt;br /&gt;
&lt;br /&gt;
* [http://www.wesnoth.org/wiki/Fosdem2009 FOSDEM 2009 wiki page]&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2008 ==&lt;br /&gt;
We were already at FOSDEM 2008, here something as reference:&lt;br /&gt;
&lt;br /&gt;
* [http://www.wesnoth.org/forum/viewtopic.php?p=283649#p283649 Forum topic (with group photo)]&lt;br /&gt;
* [http://www.wesnoth.org/wiki/Fosdem2008 2008 wiki page]&lt;br /&gt;
* [https://mail.gna.org/public/wesnoth-dev/2008-02/msg00078.html Summary of FOSDEM 2008 results]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Wesconf]]&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=28895</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=28895"/>
		<updated>2009-03-21T00:23:43Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I was maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects have begun to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part and broken hardware... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to the unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB more can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on a MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt; - creates a sound source&lt;br /&gt;
&lt;br /&gt;
''Available parameters:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=string&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of 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;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
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 anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[remove_sound_source]&amp;lt;/tt&amp;gt; - removes a sound source&lt;br /&gt;
&lt;br /&gt;
''Available parameters:'' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=string&amp;lt;/tt&amp;gt; - id of the sound source to be removed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The current state of the volume calculation algorithm looks like:&lt;br /&gt;
&lt;br /&gt;
:http://kolos.math.uni.lodz.pl/~grzywacz/current.png&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=28894</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=28894"/>
		<updated>2009-03-21T00:19:34Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Tags implemented in trunk (for testing purposes only): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I was maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects have begun to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part and broken hardware... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to the unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB more can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on a MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt; - creates a sound source&lt;br /&gt;
&lt;br /&gt;
''Available parameters:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=string&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of 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;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
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 anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[remove_sound_source]&amp;lt;/tt&amp;gt; - removes a sound source&lt;br /&gt;
&lt;br /&gt;
''Available parameters:'' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=string&amp;lt;/tt&amp;gt; - id of the sound source to be removed&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SoC_People_to_bug_on_IRC&amp;diff=28848</id>
		<title>SoC People to bug on IRC</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SoC_People_to_bug_on_IRC&amp;diff=28848"/>
		<updated>2009-03-19T19:29:58Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Karol Nowak (grzywacz) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== People to bug on IRC ==&lt;br /&gt;
We have prepared a list of people with their &amp;quot;area of competence&amp;quot;. This is to give you an idea on which areas those people can be of help for you. Of course you should always just ask in the IRC chan, but those are the most likely ones to answer questions in the respective area. And here is the list:&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;
=== Daniel Franke (dfranke) ===&lt;br /&gt;
Daniel is the devteam's most recent addition, and has been primarily concerned with security auditing.  Bug him &amp;lt;i&amp;gt;privately&amp;lt;/i&amp;gt; if you think you've found a security issue.&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;
=== ilor ===&lt;br /&gt;
2008 GSoC student, worked on and maintains the new map editor in Wesnoth 1.5/1.6. Has some fairly recent experience with getting &amp;quot;in&amp;quot; the Wesnoth codebase.&lt;br /&gt;
&lt;br /&gt;
=== Karol Nowak (grzywacz) ===&lt;br /&gt;
Two years he participated at GSoC as a student, so he will understand the situation of GSoC students. Beside this he is our top expert on Wesnoth for embedded devices as he worked 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. Mordante is currently busy rewriting the old gui engine, 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;
=== Sapient ===&lt;br /&gt;
This developer started working on the GUI and widgets, but recently he focused more on improving the internal mechanics of the WML engine such as variable look-ups and filtering. Sapient is not very active anymore but he does come one IRC in the evenings (U.S.A.). He has touched-up many areas of the code in small ways over time, thus he has a good general knowledge of the C++ code and also has worked a little on some python maintenance scripts. He keeps an eye on the quality of incoming C++... especially if you plan on making any changes to GUI or WML, Sapient will be reviewing it closely and with a critical eye.&lt;br /&gt;
&lt;br /&gt;
=== Shadow Master/ShikadiLord ===&lt;br /&gt;
He joined the development team very recently, but has enough knowledge to help newcomers with trivial questions about the code and/or the C++ language. His primary focuses are the various WML handlers, such as game events code. His knowledge of the WML language itself is also enough to answer most questions and solve most problems, but only if they are not related to multiplayer games. He also has some basic knowledge of the autotools machinery we use to configure Wesnoth for foreign computers.&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;
=== See also ===&lt;br /&gt;
[[SummerOfCodeIdeas|Summer of Code Ideas]] - The root where all information regarding SoC is (or better should be) linked from.&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&amp;diff=23689</id>
		<title>InterfaceActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&amp;diff=23689"/>
		<updated>2008-03-16T14:00:05Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Documented fade_range= attribute of [sound_source]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Interface actions ==&lt;br /&gt;
&lt;br /&gt;
Interface actions are actions that do not have an 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;
== [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. 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 description 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;
* '''side_for''': (default: all sides) comma-separated list of sides for who message is shown.&lt;br /&gt;
* '''image''': (default: profile image of speaker) the image to display next to the message.&lt;br /&gt;
* '''caption''': (default: name of speaker) the caption to display beside the image. Name to be displayed.&lt;br /&gt;
* '''duration''': (default: 10) the minimum number of frames for this message to be displayed. (A frame lasts about 30 milliseconds.) During this time any dialog decisions will be disregarded.&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;
* '''[option]''': zero or more '''[option]''' elements may be present. If '''[option]''' elements are present, then each option will be displayed in a menu for the user to select one option.&lt;br /&gt;
** ''message'' (translatable) the text displayed for the option (see [[DescriptionWML]])&lt;br /&gt;
** '''[show_if]''': if present then this option will only be displayed if the conditional statement in this tag is passed (see [[InternalActionsWML]])&lt;br /&gt;
** '''[command]''': an element containing actions which are executed if the option is selected.&lt;br /&gt;
* '''[text_input]''': there can be only one [text_input] tag. this adds a text input field to the message.&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_chars''': 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;
* note that '''[option]''' and '''[text_input]''' can only be used in moveto events in MP, otherwise they cause OOS&lt;br /&gt;
&lt;br /&gt;
Text formatting options for '''[message]'''. These can also be used in unit names (user_description), objectives, and such.&lt;br /&gt;
* A tilde (~) as the first character causes the line to be boldfaced.&lt;br /&gt;
* An at symbol (@) as the first character causes the line to be green, as done with victory conditions.&lt;br /&gt;
* A pound symbol (#) as the first character causes the line to be red, as done with defeat conditions.&lt;br /&gt;
* An asterisk (*) as the first character causes the line to be bigger.&lt;br /&gt;
* A backquote (`) as the first character causes the line to be smaller.&lt;br /&gt;
* If used, the caption key text is boldfaced.&lt;br /&gt;
* An RGB colour code in the beginning causes the line to be the given colour. This can still be preceded by the above characters. Example: ''message=_&amp;quot;&amp;lt;255,0,0&amp;gt;Red!&amp;quot;''&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;
This tag renders the ''objectives'' attribute of [scenario] obsolete (see ''objectives'', [[ScenarioWML]]).&lt;br /&gt;
Instead of using ''objectives'', use '''[objectives]''' to set scenario objectives inside a prestart event.&lt;br /&gt;
It can also be used to overwrite the starting objectives mid-scenario.&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.&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.&lt;br /&gt;
* '''defeat_string''': Default ' _ &amp;quot;Defeat:&amp;quot;', this text precedes the defeat objectives.&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;
&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;
** '''description''': text for the specific win or loss condition.&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;
&lt;br /&gt;
=== Macros ===&lt;br /&gt;
There are a few predefined macros for Objectives that you can use to shorten the code. '''{SET_OBJECTIVES}''', '''{VICTORY_CONDITION}''' and '''{DEFEAT_CONDITION}'''. There are all used together. For more information look [http://www.wesnoth.org/misc/macro-reference.xhtml here]&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.&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 false.&lt;br /&gt;
* '''[show_if]''': If present, the menu item will only be available if the conditional statement (see [[InternalActionsWML]]) 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;
* '''[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;
&lt;br /&gt;
== Other interface tags ==&lt;br /&gt;
&lt;br /&gt;
The following tags are also action tags:&lt;br /&gt;
* '''[item]''': 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 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.&lt;br /&gt;
** '''image''': the image (in ''images/'' as .png) to place on the hex.&lt;br /&gt;
** '''halo''': an image to place centered on the hex. Use this instead of ''image'' if the image is bigger than the hex.&lt;br /&gt;
* '''[removeitem]''': removes any graphical items on a given hex&lt;br /&gt;
** '''x''', '''y''': the hex to remove items off&lt;br /&gt;
* '''[print]''': displays a message across the screen. The message will disappear after a certain time.&lt;br /&gt;
** '''text''': (translatable) the text to display.&lt;br /&gt;
** '''size''': (default=12) the pointsize of the font to use&lt;br /&gt;
** '''duration''': (default=50) the length of time to display the text for. This is measured in the number of 'frames'. A frame in Wesnoth is usually displayed for around 30ms.&lt;br /&gt;
** '''red''', '''green''', '''blue''': (default=0,0,0) the color to display the text in. Values vary from 0-255.&lt;br /&gt;
* '''[move_unit_fake]''': 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;
* '''[hide_unit]''': makes the given unit become invisible. Useful in conjunction with '''[move_unit_fake]''': to move a leader unit into position on-screen. Only one unit may be hidden at a time.&lt;br /&gt;
** '''x''', '''y''': location of the unit to be hidden. (NOT a standard unit filter! Just x and y.)&lt;br /&gt;
* '''[unhide_unit]''': stops the currently hidden unit from being hidden.&lt;br /&gt;
* '''[scroll]''': 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;
* '''[scroll_to]''': Scroll to a given hex&lt;br /&gt;
** '''x''', '''y''': the hex to scroll to&lt;br /&gt;
** '''check_fogged''': whether to scroll even to locations covered in fog or shroud. Possible values ''true'' (don't scroll to fog) and ''false'' (scroll even to fog), with ''false'' as the default.&lt;br /&gt;
* '''[scroll_to_unit]''' 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 ''true'' (don't scroll to fog) and ''false'' (scroll even to fog), with ''false'' as the default.&lt;br /&gt;
* '''[sound]''': Plays a sound&lt;br /&gt;
** '''name''': the filename of the sound to play (in ''sounds/'' as .wav or .ogg)&lt;br /&gt;
** '''repeat''': repeats the sound for a specified additional number of times (default=0)&lt;br /&gt;
* '''[sound_source]''': 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 &amp;quot;true&amp;quot; and &amp;quot;false&amp;quot; - if true the source will not play if its locations are fogged/shrouded&lt;br /&gt;
** '''loop''': number of times a sound sample should be looped if it stays visible. -1 means infinite (~65000) {{DevFeature}}&lt;br /&gt;
** '''full_range''': distance in hexes that determines a &amp;quot;circular&amp;quot; area where source plays with full volume, relative to screen center {{DevFeature}}&lt;br /&gt;
** '''fade_range''': 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; by default equals to '''full_range''' {{DevFeature}}&lt;br /&gt;
** '''x,y''': a [[StandardLocationFilter]] for the locations associated with the sound source&lt;br /&gt;
* '''[remove_sound_source]''': Removes a previously defined sound source.&lt;br /&gt;
** '''id''': the identification key of the sound source to remove&lt;br /&gt;
* '''[music]''': 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;
* '''[colour_adjust]''': tints the colour of the screen.&lt;br /&gt;
** '''red''', '''green''', '''blue''': values from -255 to 255, the amount to tint by for each colour&lt;br /&gt;
* '''[delay]''': pauses the game&lt;br /&gt;
** '''time''': the time to pause in milliseconds&lt;br /&gt;
* '''[redraw]''': 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;
** '''side''': if used, recalculates fog and shroud for that side. 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;
* '''[unit_overlay]''': sets an image that will be drawn over a particular unit, and follow it around&lt;br /&gt;
** '''x''', '''y''': the location of the unit to overlay on&lt;br /&gt;
** '''image''': the image to place on the unit&lt;br /&gt;
* '''[remove_unit_overlay]''': removes a particular overlayed image from a unit&lt;br /&gt;
** '''x''', '''y''': the location of the unit to remove an overlay from&lt;br /&gt;
** '''image''': the image to remove from the unit&lt;br /&gt;
* '''[animate_unit]''': uses the custom 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 good custom animation in the unit description see the '''[extra_anim]''' description in [[AnimationWML]] Standar anims can be triggered with the following keywors ''leading recruited standing idling levelin levelout healing healed poisoned movement defend attack death victory pre_teleport post_teleport''&lt;br /&gt;
** '''[filter]''': a [[StandardUnitFilter]] 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&lt;br /&gt;
** '''[secondary_attack]''': same for the second attack&lt;br /&gt;
** '''hit''': the hit type to filter unit on&lt;br /&gt;
** '''text''': a text to hover during the animation&lt;br /&gt;
** '''text_color''': r,g,b value for the text color&lt;br /&gt;
** '''with_bars''': whether to display the status bars or not.&lt;br /&gt;
* '''[label]''' places a label on the map.&lt;br /&gt;
** '''x''', '''y''': the location of the label&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;
* '''[deprecated_message]''' 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;
* '''[debug_message]''': 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.&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;
== 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/misc/macro-reference.xhtml here].&lt;br /&gt;
* '''{FLOATING_TEXT}''' Float some text over a unit similar to the damage numbers.&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;
* '''{TREMOR}''' Creates a tremor like screenshake&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&amp;diff=23672</id>
		<title>InterfaceActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&amp;diff=23672"/>
		<updated>2008-03-16T10:36:10Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Documented the full_range= attribute of [sound_source]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Interface actions ==&lt;br /&gt;
&lt;br /&gt;
Interface actions are actions that do not have an 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;
== [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. 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 description 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;
* '''side_for''': (default: all sides) comma-separated list of sides for who message is shown.&lt;br /&gt;
* '''image''': (default: profile image of speaker) the image to display next to the message.&lt;br /&gt;
* '''caption''': (default: name of speaker) the caption to display beside the image. Name to be displayed.&lt;br /&gt;
* '''duration''': (default: 10) the minimum number of frames for this message to be displayed. (A frame lasts about 30 milliseconds.) During this time any dialog decisions will be disregarded.&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;
* '''[option]''': zero or more '''[option]''' elements may be present. If '''[option]''' elements are present, then each option will be displayed in a menu for the user to select one option.&lt;br /&gt;
** ''message'' (translatable) the text displayed for the option (see [[DescriptionWML]])&lt;br /&gt;
** '''[show_if]''': if present then this option will only be displayed if the conditional statement in this tag is passed (see [[InternalActionsWML]])&lt;br /&gt;
** '''[command]''': an element containing actions which are executed if the option is selected.&lt;br /&gt;
* '''[text_input]''': there can be only one [text_input] tag. this adds a text input field to the message.&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_chars''': 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;
* note that '''[option]''' and '''[text_input]''' can only be used in moveto events in MP, otherwise they cause OOS&lt;br /&gt;
&lt;br /&gt;
Text formatting options for '''[message]'''. These can also be used in unit names (user_description), objectives, and such.&lt;br /&gt;
* A tilde (~) as the first character causes the line to be boldfaced.&lt;br /&gt;
* An at symbol (@) as the first character causes the line to be green, as done with victory conditions.&lt;br /&gt;
* A pound symbol (#) as the first character causes the line to be red, as done with defeat conditions.&lt;br /&gt;
* An asterisk (*) as the first character causes the line to be bigger.&lt;br /&gt;
* A backquote (`) as the first character causes the line to be smaller.&lt;br /&gt;
* If used, the caption key text is boldfaced.&lt;br /&gt;
* An RGB colour code in the beginning causes the line to be the given colour. This can still be preceded by the above characters. Example: ''message=_&amp;quot;&amp;lt;255,0,0&amp;gt;Red!&amp;quot;''&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;
This tag renders the ''objectives'' attribute of [scenario] obsolete (see ''objectives'', [[ScenarioWML]]).&lt;br /&gt;
Instead of using ''objectives'', use '''[objectives]''' to set scenario objectives inside a prestart event.&lt;br /&gt;
It can also be used to overwrite the starting objectives mid-scenario.&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.&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.&lt;br /&gt;
* '''defeat_string''': Default ' _ &amp;quot;Defeat:&amp;quot;', this text precedes the defeat objectives.&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;
&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;
** '''description''': text for the specific win or loss condition.&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;
&lt;br /&gt;
=== Macros ===&lt;br /&gt;
There are a few predefined macros for Objectives that you can use to shorten the code. '''{SET_OBJECTIVES}''', '''{VICTORY_CONDITION}''' and '''{DEFEAT_CONDITION}'''. There are all used together. For more information look [http://www.wesnoth.org/misc/macro-reference.xhtml here]&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.&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 false.&lt;br /&gt;
* '''[show_if]''': If present, the menu item will only be available if the conditional statement (see [[InternalActionsWML]]) 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;
* '''[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;
&lt;br /&gt;
== Other interface tags ==&lt;br /&gt;
&lt;br /&gt;
The following tags are also action tags:&lt;br /&gt;
* '''[item]''': 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 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.&lt;br /&gt;
** '''image''': the image (in ''images/'' as .png) to place on the hex.&lt;br /&gt;
** '''halo''': an image to place centered on the hex. Use this instead of ''image'' if the image is bigger than the hex.&lt;br /&gt;
* '''[removeitem]''': removes any graphical items on a given hex&lt;br /&gt;
** '''x''', '''y''': the hex to remove items off&lt;br /&gt;
* '''[print]''': displays a message across the screen. The message will disappear after a certain time.&lt;br /&gt;
** '''text''': (translatable) the text to display.&lt;br /&gt;
** '''size''': (default=12) the pointsize of the font to use&lt;br /&gt;
** '''duration''': (default=50) the length of time to display the text for. This is measured in the number of 'frames'. A frame in Wesnoth is usually displayed for around 30ms.&lt;br /&gt;
** '''red''', '''green''', '''blue''': (default=0,0,0) the color to display the text in. Values vary from 0-255.&lt;br /&gt;
* '''[move_unit_fake]''': 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;
* '''[hide_unit]''': makes the given unit become invisible. Useful in conjunction with '''[move_unit_fake]''': to move a leader unit into position on-screen. Only one unit may be hidden at a time.&lt;br /&gt;
** '''x''', '''y''': location of the unit to be hidden. (NOT a standard unit filter! Just x and y.)&lt;br /&gt;
* '''[unhide_unit]''': stops the currently hidden unit from being hidden.&lt;br /&gt;
* '''[scroll]''': 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;
* '''[scroll_to]''': Scroll to a given hex&lt;br /&gt;
** '''x''', '''y''': the hex to scroll to&lt;br /&gt;
** '''check_fogged''': whether to scroll even to locations covered in fog or shroud. Possible values ''true'' (don't scroll to fog) and ''false'' (scroll even to fog), with ''false'' as the default.&lt;br /&gt;
* '''[scroll_to_unit]''' 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 ''true'' (don't scroll to fog) and ''false'' (scroll even to fog), with ''false'' as the default.&lt;br /&gt;
* '''[sound]''': Plays a sound&lt;br /&gt;
** '''name''': the filename of the sound to play (in ''sounds/'' as .wav or .ogg)&lt;br /&gt;
** '''repeat''': repeats the sound for a specified additional number of times (default=0)&lt;br /&gt;
* '''[sound_source]''': 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 &amp;quot;true&amp;quot; and &amp;quot;false&amp;quot; - if true the source will not play if its locations are fogged/shrouded&lt;br /&gt;
** '''loop''': number of times a sound sample should be looped if it stays visible. -1 means infinite (~65000) {{DevFeature}}&lt;br /&gt;
** '''full_range''': distance in hexes that determines the &amp;quot;circular&amp;quot; area where source plays with full volume, relative to screen center {{DevFeature}}&lt;br /&gt;
** '''x,y''': a [[StandardLocationFilter]] for the locations associated with the sound source&lt;br /&gt;
* '''[remove_sound_source]''': Removes a previously defined sound source.&lt;br /&gt;
** '''id''': the identification key of the sound source to remove&lt;br /&gt;
* '''[music]''': 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;
* '''[colour_adjust]''': tints the colour of the screen.&lt;br /&gt;
** '''red''', '''green''', '''blue''': values from -255 to 255, the amount to tint by for each colour&lt;br /&gt;
* '''[delay]''': pauses the game&lt;br /&gt;
** '''time''': the time to pause in milliseconds&lt;br /&gt;
* '''[redraw]''': 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;
** '''side''': if used, recalculates fog and shroud for that side. 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;
* '''[unit_overlay]''': sets an image that will be drawn over a particular unit, and follow it around&lt;br /&gt;
** '''x''', '''y''': the location of the unit to overlay on&lt;br /&gt;
** '''image''': the image to place on the unit&lt;br /&gt;
* '''[remove_unit_overlay]''': removes a particular overlayed image from a unit&lt;br /&gt;
** '''x''', '''y''': the location of the unit to remove an overlay from&lt;br /&gt;
** '''image''': the image to remove from the unit&lt;br /&gt;
* '''[animate_unit]''': uses the custom 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 good custom animation in the unit description see the '''[extra_anim]''' description in [[AnimationWML]] Standar anims can be triggered with the following keywors ''leading recruited standing idling levelin levelout healing healed poisoned movement defend attack death victory pre_teleport post_teleport''&lt;br /&gt;
** '''[filter]''': a [[StandardUnitFilter]] 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&lt;br /&gt;
** '''[secondary_attack]''': same for the second attack&lt;br /&gt;
** '''hit''': the hit type to filter unit on&lt;br /&gt;
** '''text''': a text to hover during the animation&lt;br /&gt;
** '''text_color''': r,g,b value for the text color&lt;br /&gt;
** '''with_bars''': whether to display the status bars or not.&lt;br /&gt;
* '''[label]''' places a label on the map.&lt;br /&gt;
** '''x''', '''y''': the location of the label&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;
* '''[deprecated_message]''' 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;
* '''[debug_message]''': 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.&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;
== 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/misc/macro-reference.xhtml here].&lt;br /&gt;
* '''{FLOATING_TEXT}''' Float some text over a unit similar to the damage numbers.&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;
* '''{TREMOR}''' Creates a tremor like screenshake&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&amp;diff=23568</id>
		<title>InterfaceActionsWML</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=InterfaceActionsWML&amp;diff=23568"/>
		<updated>2008-03-13T20:01:28Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Documented the loop property of sound_source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WML Tags}}&lt;br /&gt;
== Interface actions ==&lt;br /&gt;
&lt;br /&gt;
Interface actions are actions that do not have an 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;
== [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. 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 description 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;
* '''side_for''': (default: all sides) comma-separated list of sides for who message is shown.&lt;br /&gt;
* '''image''': (default: profile image of speaker) the image to display next to the message.&lt;br /&gt;
* '''caption''': (default: name of speaker) the caption to display beside the image. Name to be displayed.&lt;br /&gt;
* '''duration''': (default: 10) the minimum number of frames for this message to be displayed. (A frame lasts about 30 milliseconds.) During this time any dialog decisions will be disregarded.&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;
* '''[option]''': zero or more '''[option]''' elements may be present. If '''[option]''' elements are present, then each option will be displayed in a menu for the user to select one option.&lt;br /&gt;
** ''message'' (translatable) the text displayed for the option (see [[DescriptionWML]])&lt;br /&gt;
** '''[show_if]''': if present then this option will only be displayed if the conditional statement in this tag is passed (see [[InternalActionsWML]])&lt;br /&gt;
** '''[command]''': an element containing actions which are executed if the option is selected.&lt;br /&gt;
* '''[text_input]''': there can be only one [text_input] tag. this adds a text input field to the message.&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_chars''': 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;
* note that '''[option]''' and '''[text_input]''' can only be used in moveto events in MP, otherwise they cause OOS&lt;br /&gt;
&lt;br /&gt;
Text formatting options for '''[message]'''. These can also be used in unit names (user_description), objectives, and such.&lt;br /&gt;
* A tilde (~) as the first character causes the line to be boldfaced.&lt;br /&gt;
* An at symbol (@) as the first character causes the line to be green, as done with victory conditions.&lt;br /&gt;
* A pound symbol (#) as the first character causes the line to be red, as done with defeat conditions.&lt;br /&gt;
* An asterisk (*) as the first character causes the line to be bigger.&lt;br /&gt;
* A backquote (`) as the first character causes the line to be smaller.&lt;br /&gt;
* If used, the caption key text is boldfaced.&lt;br /&gt;
* An RGB colour code in the beginning causes the line to be the given colour. This can still be preceded by the above characters. Example: ''message=_&amp;quot;&amp;lt;255,0,0&amp;gt;Red!&amp;quot;''&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;
This tag renders the ''objectives'' attribute of [scenario] obsolete (see ''objectives'', [[ScenarioWML]]).&lt;br /&gt;
Instead of using ''objectives'', use '''[objectives]''' to set scenario objectives inside a prestart event.&lt;br /&gt;
It can also be used to overwrite the starting objectives mid-scenario.&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.&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.&lt;br /&gt;
* '''defeat_string''': Default ' _ &amp;quot;Defeat:&amp;quot;', this text precedes the defeat objectives.&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;
&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;
** '''description''': text for the specific win or loss condition.&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;
&lt;br /&gt;
=== Macros ===&lt;br /&gt;
There are a few predefined macros for Objectives that you can use to shorten the code. '''{SET_OBJECTIVES}''', '''{VICTORY_CONDITION}''' and '''{DEFEAT_CONDITION}'''. There are all used together. For more information look [http://www.wesnoth.org/misc/macro-reference.xhtml here]&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.&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 false.&lt;br /&gt;
* '''[show_if]''': If present, the menu item will only be available if the conditional statement (see [[InternalActionsWML]]) 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;
* '''[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;
&lt;br /&gt;
== Other interface tags ==&lt;br /&gt;
&lt;br /&gt;
The following tags are also action tags:&lt;br /&gt;
* '''[item]''': 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 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.&lt;br /&gt;
** '''image''': the image (in ''images/'' as .png) to place on the hex.&lt;br /&gt;
** '''halo''': an image to place centered on the hex. Use this instead of ''image'' if the image is bigger than the hex.&lt;br /&gt;
* '''[removeitem]''': removes any graphical items on a given hex&lt;br /&gt;
** '''x''', '''y''': the hex to remove items off&lt;br /&gt;
* '''[print]''': displays a message across the screen. The message will disappear after a certain time.&lt;br /&gt;
** '''text''': (translatable) the text to display.&lt;br /&gt;
** '''size''': (default=12) the pointsize of the font to use&lt;br /&gt;
** '''duration''': (default=50) the length of time to display the text for. This is measured in the number of 'frames'. A frame in Wesnoth is usually displayed for around 30ms.&lt;br /&gt;
** '''red''', '''green''', '''blue''': (default=0,0,0) the color to display the text in. Values vary from 0-255.&lt;br /&gt;
* '''[move_unit_fake]''': 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;
* '''[hide_unit]''': makes the given unit become invisible. Useful in conjunction with '''[move_unit_fake]''': to move a leader unit into position on-screen. Only one unit may be hidden at a time.&lt;br /&gt;
** '''x''', '''y''': location of the unit to be hidden. (NOT a standard unit filter! Just x and y.)&lt;br /&gt;
* '''[unhide_unit]''': stops the currently hidden unit from being hidden.&lt;br /&gt;
* '''[scroll]''': 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;
* '''[scroll_to]''': Scroll to a given hex&lt;br /&gt;
** '''x''', '''y''': the hex to scroll to&lt;br /&gt;
** '''check_fogged''': whether to scroll even to locations covered in fog or shroud. Possible values ''true'' (don't scroll to fog) and ''false'' (scroll even to fog), with ''false'' as the default.&lt;br /&gt;
* '''[scroll_to_unit]''' 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 ''true'' (don't scroll to fog) and ''false'' (scroll even to fog), with ''false'' as the default.&lt;br /&gt;
* '''[sound]''': Plays a sound&lt;br /&gt;
** '''name''': the filename of the sound to play (in ''sounds/'' as .wav or .ogg)&lt;br /&gt;
** '''repeat''': repeats the sound for a specified additional number of times (default=0)&lt;br /&gt;
* '''[sound_source]''': 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 &amp;quot;true&amp;quot; and &amp;quot;false&amp;quot; - if true the source will not play if its locations are fogged/shrouded&lt;br /&gt;
** '''loop''': number of times a sound sample should be looped if it stays visible. -1 means infinite (~65000). {{DevFeature}}&lt;br /&gt;
** '''x,y''': a [[StandardLocationFilter]] for the locations associated with the sound source&lt;br /&gt;
* '''[remove_sound_source]''': Removes a previously defined sound source.&lt;br /&gt;
** '''id''': the identification key of the sound source to remove&lt;br /&gt;
* '''[music]''': 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;
* '''[colour_adjust]''': tints the colour of the screen.&lt;br /&gt;
** '''red''', '''green''', '''blue''': values from -255 to 255, the amount to tint by for each colour&lt;br /&gt;
* '''[delay]''': pauses the game&lt;br /&gt;
** '''time''': the time to pause in milliseconds&lt;br /&gt;
* '''[redraw]''': 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;
** '''side''': if used, recalculates fog and shroud for that side. 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;
* '''[unit_overlay]''': sets an image that will be drawn over a particular unit, and follow it around&lt;br /&gt;
** '''x''', '''y''': the location of the unit to overlay on&lt;br /&gt;
** '''image''': the image to place on the unit&lt;br /&gt;
* '''[remove_unit_overlay]''': removes a particular overlayed image from a unit&lt;br /&gt;
** '''x''', '''y''': the location of the unit to remove an overlay from&lt;br /&gt;
** '''image''': the image to remove from the unit&lt;br /&gt;
* '''[animate_unit]''': uses the custom 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 good custom animation in the unit description see the '''[extra_anim]''' description in [[AnimationWML]] Standar anims can be triggered with the following keywors ''leading recruited standing idling levelin levelout healing healed poisoned movement defend attack death victory pre_teleport post_teleport''&lt;br /&gt;
** '''[filter]''': a [[StandardUnitFilter]] 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&lt;br /&gt;
** '''[secondary_attack]''': same for the second attack&lt;br /&gt;
** '''hit''': the hit type to filter unit on&lt;br /&gt;
** '''text''': a text to hover during the animation&lt;br /&gt;
** '''text_color''': r,g,b value for the text color&lt;br /&gt;
** '''with_bars''': whether to display the status bars or not.&lt;br /&gt;
* '''[label]''' places a label on the map.&lt;br /&gt;
** '''x''', '''y''': the location of the label&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;
* '''[deprecated_message]''' 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;
* '''[debug_message]''': 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.&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;
== 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/misc/macro-reference.xhtml here].&lt;br /&gt;
* '''{FLOATING_TEXT}''' Float some text over a unit similar to the damage numbers.&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;
* '''{TREMOR}''' Creates a tremor like screenshake&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22902</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22902"/>
		<updated>2008-02-27T20:57:30Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &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 it is also one of the most neglected piece of code and a place where a lot of research and 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 behaviour of the enemy on a given scenario (aggressiveness, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours 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 behaviour desired.&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the development team met at FOSDEM, we had our multiplayer community, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&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 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;
&lt;br /&gt;
The scalability of the project, both in term of number of players, and in term of the possibility for players and developers to extend the concept will be a valued criteria&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 might be an interesting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 interesting areas in which they work. Though they are efficient in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone up to date with that particular area, efficient, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 domain 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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 right.&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;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22901</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22901"/>
		<updated>2008-02-27T20:56:37Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 behaviour of the enemy on a given scenario (aggressiveness, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours 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 behaviour desired.&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the development team met at FOSDEM, we had our multiplayer community, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&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 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;
&lt;br /&gt;
The scalability of the project, both in term of number of players, and in term of the possibility for players and developers to extend the concept will be a valued criteria&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 might be an interesting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 interesting areas in which they work. Though they are efficient in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone up to date with that particular area, efficient, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 domain 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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 right.&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;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22900</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22900"/>
		<updated>2008-02-27T20:55:34Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours 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 behaviour desired.&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the development team met at FOSDEM, we had our multiplayer community, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&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 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;
&lt;br /&gt;
The scalability of the project, both in term of number of players, and in term of the possibility for players and developers to extend the concept will be a valued criteria&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 might be an interesting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 interesting areas in which they work. Though they are efficient in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone up to date with that particular area, efficient, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 domain 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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 right.&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;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22899</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22899"/>
		<updated>2008-02-27T20:55:05Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours 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 behaviour desired.&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the development team met at FOSDEM, we had our multiplayer community, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&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 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;
&lt;br /&gt;
The scalability of the project, both in term of number of players, and in term of the possibility for players and developers to extend the concept will be a valued criteria&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 might be an interesting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 interesting areas in which they work. Though they are efficient in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone up to date with that particular area, efficient, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 domain 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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 right.&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;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22898</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22898"/>
		<updated>2008-02-27T20:54:32Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 the 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours should also be delivered. The AI does not need to be as efficiant with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the development team met at FOSDEM, we had our multiplayer community, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&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 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;
&lt;br /&gt;
The scalability of the project, both in term of number of players, and in term of the possibility for players and developers to extend the concept will be a valued criteria&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 might be an interesting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 interesting areas in which they work. Though they are efficient in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone up to date with that particular area, efficient, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 domain 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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 right.&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;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22897</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22897"/>
		<updated>2008-02-27T20:53:50Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 the 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours should also be delivered. The AI does not need to be as efficiant with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the developement team met at FOSDEM, we had our multiplayer commuinty, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&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 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;
&lt;br /&gt;
The scalability of the project, both in term of number of players, and in term of the possibility for players and developers to extend the concept will be a valued criteria&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 might be an interesting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 interesting areas in which they work. Though they are efficient in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone up to date with that particular area, efficient, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 domain 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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 right.&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;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22895</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22895"/>
		<updated>2008-02-27T20:49:38Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 the 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours should also be delivered. The AI does not need to be as efficiant with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the developement team met at FOSDEM, we had our multiplayer commuinty, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 authentificate 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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criterias you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not 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;
&lt;br /&gt;
The scalablity of the project, both in term of number of players, and in term of the possibility for players and developpers to extend the concept will be a valued criteria&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 might be an interseting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 interesting areas in which they work. Though they are efficient in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone up to date with that particular area, efficient, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 domain 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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 right.&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;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22894</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22894"/>
		<updated>2008-02-27T20:48:25Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 the 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours should also be delivered. The AI does not need to be as efficiant with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the developement team met at FOSDEM, we had our multiplayer commuinty, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 authentificate 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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criterias you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not 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;
&lt;br /&gt;
The scalablity of the project, both in term of number of players, and in term of the possibility for players and developpers to extend the concept will be a valued criteria&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 might be an interseting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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 unformal 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 developement release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 interesting areas in which they work. Though they are efficient in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone up to date with that particular area, efficient, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 domain 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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 right.&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;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22893</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22893"/>
		<updated>2008-02-27T20:46:44Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 the 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours should also be delivered. The AI does not need to be as efficiant with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the developement team met at FOSDEM, we had our multiplayer commuinty, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 authentificate 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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criterias you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not 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;
&lt;br /&gt;
The scalablity of the project, both in term of number of players, and in term of the possibility for players and developpers to extend the concept will be a valued criteria&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 might be an interseting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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 unformal 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 developement release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 developpers have interesting areas in which they work. Though they are efficiant in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone upto date with that particualr area, efficiant, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 domain 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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 right.&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;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22892</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22892"/>
		<updated>2008-02-27T20:45:47Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 the 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours should also be delivered. The AI does not need to be as efficiant with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the developement team met at FOSDEM, we had our multiplayer commuinty, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 authentificate 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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criterias you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not 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;
&lt;br /&gt;
The scalablity of the project, both in term of number of players, and in term of the possibility for players and developpers to extend the concept will be a valued criteria&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 might be an interseting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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 unformal 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 developement release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 developpers have interesting areas in which they work. Though they are efficiant in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone upto date with that particualr area, efficiant, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 developement 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 domain of interes&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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 right.&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;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22891</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22891"/>
		<updated>2008-02-27T20:45:28Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 the 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours should also be delivered. The AI does not need to be as efficiant with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the developement team met at FOSDEM, we had our multiplayer commuinty, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 authentificate 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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criterias you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not 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;
&lt;br /&gt;
The scalablity of the project, both in term of number of players, and in term of the possibility for players and developpers to extend the concept will be a valued criteria&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 might be an interseting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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 unformal 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 developement release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 developpers have interesting areas in which they work. Though they are efficiant in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone upto date with that particualr area, efficiant, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 developement 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 domain of interes&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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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 developement 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;
* What type of gamer are you? What type of games? What type of opponent? Are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices? Do you receive advice well? Are you good at sorting useful criticism from useless ones?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 right.&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;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22890</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22890"/>
		<updated>2008-02-27T20:40:36Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 the 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours should also be delivered. The AI does not need to be as efficiant with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the developement team met at FOSDEM, we had our multiplayer commuinty, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 authentificate 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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criterias you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not 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;
&lt;br /&gt;
The scalablity of the project, both in term of number of players, and in term of the possibility for players and developpers to extend the concept will be a valued criteria&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 might be an interseting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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 unformal 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 developement release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 developpers have interesting areas in which they work. Though they are efficiant in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone upto date with that particualr area, efficiant, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 developement 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 domain of interes&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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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 developement 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 wesnothspecific and are worth pondering for any student, even if we don't need a formal answer&lt;br /&gt;
&lt;br /&gt;
* What type of gamer are you ? What type of games ? what type of oponents ? are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices ? Do you receive advice well ? are you good at sorting usefull criticism from useless ones ?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 right.&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;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22889</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22889"/>
		<updated>2008-02-27T20:38:06Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Typo fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 the 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours should also be delivered. The AI does not need to be as efficiant with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the developement team met at FOSDEM, we had our multiplayer commuinty, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 authentificate 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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criterias you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not 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;
&lt;br /&gt;
The scalablity of the project, both in term of number of players, and in term of the possibility for players and developpers to extend the concept will be a valued criteria&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 might be an interseting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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 unformal 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 developement release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 developpers have interesting areas in which they work. Though they are efficiant in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone upto date with that particualr area, efficiant, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 developement 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 domain of interes&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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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 developement 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 wesnothspecific and are worth pondering for any student, even if we don't need a formal answer&lt;br /&gt;
&lt;br /&gt;
* What type of gamer are you ? What type of games ? what type of oponents ? are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices ? Do you receive advice well ? are you good at sorting usefull criticism from useless ones ?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 commutnity, 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 right.&lt;br /&gt;
&lt;br /&gt;
We have a developer responsible for applying patches and guiding new developpers 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 goback and fortha 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 thecoder has 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 usefull results.&lt;br /&gt;
&lt;br /&gt;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-developers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22888</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22888"/>
		<updated>2008-02-27T20:27:09Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Added elias' real name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 the 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours should also be delivered. The AI does not need to be as efficiant with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the developement team met at FOSDEM, we had our multiplayer commuinty, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 authentificate 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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criterias you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not 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;
&lt;br /&gt;
The scalablity of the project, both in term of number of players, and in term of the possibility for players and developpers to extend the concept will be a valued criteria&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 might be an interseting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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 unformal 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 developement release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 developpers have interesting areas in which they work. Though they are efficiant in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone upto date with that particualr area, efficiant, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 developement 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 domain of interes&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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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 developement 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 wesnothspecific and are worth pondering for any student, even if we don't need a formal answer&lt;br /&gt;
&lt;br /&gt;
* What type of gamer are you ? What type of games ? what type of oponents ? are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices ? Do you receive advice well ? are you good at sorting usefull criticism from useless ones ?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 commutnity, 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 right.&lt;br /&gt;
&lt;br /&gt;
We have a developer responsible for applying patches and guiding new developpers 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 goback and fortha 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 thecoder has 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 usefull results.&lt;br /&gt;
&lt;br /&gt;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== Elias Pscherning (elias) ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-devlopers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22887</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22887"/>
		<updated>2008-02-27T20:26:14Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Added cycholka's real name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 the 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours should also be delivered. The AI does not need to be as efficiant with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the developement team met at FOSDEM, we had our multiplayer commuinty, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 authentificate 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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criterias you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not 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;
&lt;br /&gt;
The scalablity of the project, both in term of number of players, and in term of the possibility for players and developpers to extend the concept will be a valued criteria&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 might be an interseting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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 unformal 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 developement release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 developpers have interesting areas in which they work. Though they are efficiant in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone upto date with that particualr area, efficiant, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 developement 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 domain of interes&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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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 developement 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 wesnothspecific and are worth pondering for any student, even if we don't need a formal answer&lt;br /&gt;
&lt;br /&gt;
* What type of gamer are you ? What type of games ? what type of oponents ? are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices ? Do you receive advice well ? are you good at sorting usefull criticism from useless ones ?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 commutnity, 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 right.&lt;br /&gt;
&lt;br /&gt;
We have a developer responsible for applying patches and guiding new developpers 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 goback and fortha 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 thecoder has 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 usefull results.&lt;br /&gt;
&lt;br /&gt;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== elias ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-devlopers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22886</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22886"/>
		<updated>2008-02-27T20:25:27Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Added my real name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
== List of Ideas for the Project ==&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 ''link to formula AI page here'' &lt;br /&gt;
&lt;br /&gt;
The wesnoth AI is used as an oponent in most campaigns, and as such is an important piece of code for the wesnoth project. Unfortunately it is also one of the most neglected piece of code and a place where a lot of research and 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 (sceneario 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 behaviour of the ennemy on a given scenario (agressivity, intrepidity...)&lt;br /&gt;
* ''specific behaviours :'' there are some typical behaviours that are not smart to win the scenario but are needed, such as guarding a given unit, a given position, wandering aimlessly, attacking randomly, always fleeing. The AI should implement such behaviours, and allow easy addition of new behaviours&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 developper community is used to handle people that are familiar with coding but not C++, however the Forumla 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 game pattern used by human players. This requires huge interaction with the player community. Our Gameplay Developpers are open and can give some good starting points, but a big game experience and good interaction with the player community will greatly help in the study of the design&lt;br /&gt;
&lt;br /&gt;
==== Milestones and deliverables ====&lt;br /&gt;
&lt;br /&gt;
It is hard to give 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 the 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 behaviour they need&lt;br /&gt;
* ''Main AI delivery :'' This milestone's aim 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 behaviour 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 behaviours should also be delivered. The AI does not need to be as efficiant with all scenario tweaking, but should act correctly with regard to the particular behaviour desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
When the developement team met at FOSDEM, we had our multiplayer commuinty, though it is strong and healthy, had its growth restrained by 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 present some ideas of evolutions both in interface and functionalities of our multiplayer interface to allow it to scale to a much larger community&lt;br /&gt;
* To present some well constructed thought on our MP community and how that interface would develop it&lt;br /&gt;
* Of course to implement those changes :)&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 authentificate 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 on IRC&lt;br /&gt;
* Having some way to find the type of games you are interested in.&lt;br /&gt;
** game type&lt;br /&gt;
** number of free slots/players&lt;br /&gt;
** any other criterias you might find interesting&lt;br /&gt;
&lt;br /&gt;
Other ideas we are not 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;
&lt;br /&gt;
The scalablity of the project, both in term of number of players, and in term of the possibility for players and developpers to extend the concept will be a valued criteria&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 might be an interseting field to expand to&lt;br /&gt;
&lt;br /&gt;
==== Required knowledge and talent ====&lt;br /&gt;
&lt;br /&gt;
* A fair amount of experience on 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;
* Various 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 unformal 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 developement release&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Other ideas to be fleshed out ===&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other info to provide for GSoC ==&lt;br /&gt;
==== Describe your organization. ====&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 developpers have interesting areas in which they work. Though they are efficiant in their areas, there are areas that are interesting but have a high barrier of entry.&lt;br /&gt;
&lt;br /&gt;
By having a student dedicated to any of these areas, we could quickly get someone upto date with that particualr area, efficiant, and responsible of this area.&lt;br /&gt;
&lt;br /&gt;
Basically, by getting new people in and making them 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 projects applies 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 projects applies 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 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  pages 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 developement 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 domain of interes&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 |ATTT| gna.org&amp;quot;. Beside this some work happens at http://www.wesnoth.org/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 developement 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 wesnothspecific and are worth pondering for any student, even if we don't need a formal answer&lt;br /&gt;
&lt;br /&gt;
* What type of gamer are you ? What type of games ? what type of oponents ? are you more interested in story or gameplay ? &lt;br /&gt;
* Are you good at interacting with other players ? Our developer community is quite nice, but the player community can be a bit rough.&lt;br /&gt;
* Do you give constructive advices ? Do you receive advice well ? are you good at sorting usefull criticism from useless ones ?&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;
&lt;br /&gt;
Jeremy Rosen alias Boucman&lt;br /&gt;
&lt;br /&gt;
boucman2@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Who will your mentors be? Please include Google Account information.====&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;
==== What is your plan for dealing with disappearing students?====&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors?====&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 commutnity, 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 right.&lt;br /&gt;
&lt;br /&gt;
We have a developer responsible for applying patches and guiding new developpers 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 goback and fortha 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 thecoder has 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 usefull results.&lt;br /&gt;
&lt;br /&gt;
'''to be completed'''&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;
&lt;br /&gt;
&lt;br /&gt;
=== People to bug on IRC, possible mentors ===&lt;br /&gt;
Everybody feel free to edit/correct his entry!&lt;br /&gt;
&lt;br /&gt;
==== Dave alias Sirp ====&lt;br /&gt;
&lt;br /&gt;
Sirp started Wesnoth and is our lead developper. 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;
==== Mordante ====&lt;br /&gt;
Many of the possible projects do at least partly go into the area of code where he knows most of. Plus many of the possible projects currently listed on the ideas page do require GUI parts to work, too. So if Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as he already is our expert for the terrain engine (cf. editor / scenario editor works).&lt;br /&gt;
&lt;br /&gt;
==== elias ====&lt;br /&gt;
He has written 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 make his knowledge really helpful.&lt;br /&gt;
&lt;br /&gt;
==== Karol Nowak (grzywacz) ====&lt;br /&gt;
Last year he was participating at GSoC as a student, so he knows at least this side of the medal. Beside this he is our top expert regarding embedded devices support since he is actively working on the gp2x support.&lt;br /&gt;
&lt;br /&gt;
==== boucman ====&lt;br /&gt;
As our &amp;quot;patch monkey&amp;quot; he has valuable knowledge in comments and critics for patches of every kind. Beside this he knows many areas of the game due to working on applying patches. He is particularly used to answer question from new coders, and doesn't mind explaining trivial stuff.&lt;br /&gt;
&lt;br /&gt;
If you want to have a feeling of the developer spirit, it is recommended to go to our [[EasyCoding]] page.&lt;br /&gt;
&lt;br /&gt;
==== Soliton ====&lt;br /&gt;
He does know our mp server setup best. Beside this he already has done a lot of work on the mp server himself, too. So he probably has most knowledge about it and due to being one of our mp-devlopers might provide important help from the perspective of mp-community and what is needed there.&lt;br /&gt;
&lt;br /&gt;
==== zookeeper or Mythological or Rhuaven ====&lt;br /&gt;
As our leading WML expert it would be good to have him in the list when it comes to WML specific problems. That is for work on the scenario editor he probably knows best what should be implemented in it and what is a usable way for things.&lt;br /&gt;
&lt;br /&gt;
==== YogiHH or 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;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22810</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=22810"/>
		<updated>2008-02-26T22:12:29Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideas for Google Summer of Code projects ==&lt;br /&gt;
&lt;br /&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;
* Writing an AI based on the formula AI&lt;br /&gt;
* Working on the GUI engine (needs to be defined more precisely)&lt;br /&gt;
* Extend the multiplayer server to provide accounts and room&lt;br /&gt;
* Rewrite of the campaign (add-on) server&lt;br /&gt;
* The editor can use quite a revamp&lt;br /&gt;
* A good scenario editor. We have campgen but it hasn't been updated for a while.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Fosdem2008&amp;diff=20331</id>
		<title>Fosdem2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Fosdem2008&amp;diff=20331"/>
		<updated>2007-12-27T18:03:38Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Schedule/Plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General information ==&lt;br /&gt;
* Fosdem - http://fosdem.org/2008/&lt;br /&gt;
* Dave's talk (not scheduled yet) - http://fosdem.org/2008/schedule/events/240&lt;br /&gt;
&lt;br /&gt;
== Schedule/Plans ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Arrival&lt;br /&gt;
! Departure&lt;br /&gt;
! Accomodation&lt;br /&gt;
|-&lt;br /&gt;
| grzywacz&lt;br /&gt;
| 22, 20:35 (CHA)&lt;br /&gt;
| 24, 20:50 (CHA)&lt;br /&gt;
| Bruegel YH&lt;br /&gt;
|-&lt;br /&gt;
| ettin&lt;br /&gt;
| 22, 9:15 (BRU)&lt;br /&gt;
| 24, 15:25 (BRU)&lt;br /&gt;
| Bruegel YH or CHAB&lt;br /&gt;
|-&lt;br /&gt;
| Ivanovic&lt;br /&gt;
| 22, lunchtime&lt;br /&gt;
| 25, lunchtime&lt;br /&gt;
| CHAB or *whatever*&lt;br /&gt;
|-&lt;br /&gt;
| David &amp;amp; Lisa&lt;br /&gt;
| 18, morning&lt;br /&gt;
| 25, morning&lt;br /&gt;
| Novotel Grand Place&lt;br /&gt;
|-&lt;br /&gt;
| Mist &lt;br /&gt;
| 22, lunchtime&lt;br /&gt;
| 25, lunchtime&lt;br /&gt;
| CrownePlaza (Europa)&lt;br /&gt;
|-&lt;br /&gt;
| Noyga (or maybe the 24)&lt;br /&gt;
| 23, morning&lt;br /&gt;
| 23, evening&lt;br /&gt;
| At home, near Paris ;)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Fosdem2008&amp;diff=20330</id>
		<title>Fosdem2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Fosdem2008&amp;diff=20330"/>
		<updated>2007-12-27T17:41:10Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Schedule/Plans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General information ==&lt;br /&gt;
* Fosdem - http://fosdem.org/2008/&lt;br /&gt;
* Dave's talk (not scheduled yet) - http://fosdem.org/2008/schedule/events/240&lt;br /&gt;
&lt;br /&gt;
== Schedule/Plans ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! Arrival&lt;br /&gt;
! Departure&lt;br /&gt;
! Accomodation&lt;br /&gt;
|-&lt;br /&gt;
| grzywacz&lt;br /&gt;
| 22, 20:35 (CHA)&lt;br /&gt;
| 24, not yet determined (CHA)&lt;br /&gt;
| Bruegel YH&lt;br /&gt;
|-&lt;br /&gt;
| ettin&lt;br /&gt;
| 22, 9:15 (BRU)&lt;br /&gt;
| 24, 15:25 (BRU)&lt;br /&gt;
| Bruegel YH or CHAB&lt;br /&gt;
|-&lt;br /&gt;
| Ivanovic&lt;br /&gt;
| 22, lunchtime&lt;br /&gt;
| 25, lunchtime&lt;br /&gt;
| CHAB or *whatever*&lt;br /&gt;
|-&lt;br /&gt;
| David &amp;amp; Lisa&lt;br /&gt;
| 18, morning&lt;br /&gt;
| 25, morning&lt;br /&gt;
| Novotel Grand Place&lt;br /&gt;
|-&lt;br /&gt;
| Mist &lt;br /&gt;
| 22, lunchtime&lt;br /&gt;
| 25, lunchtime&lt;br /&gt;
| CrownePlaza (Europa)&lt;br /&gt;
|-&lt;br /&gt;
| Noyga (or maybe the 24)&lt;br /&gt;
| 23, morning&lt;br /&gt;
| 23, evening&lt;br /&gt;
| At home, near Paris ;)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=14385</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=14385"/>
		<updated>2007-03-20T16:31:43Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Tags implemented in trunk (for testing purposes only): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I was maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects have begun to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part and broken hardware... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to the unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB more can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on a MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
===== Tags implemented in trunk (for testing purposes only): =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt; - creates a sound source&lt;br /&gt;
&lt;br /&gt;
''Available parameters:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=string&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of 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;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
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 anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[remove_sound_source]&amp;lt;/tt&amp;gt; - removes a sound source&lt;br /&gt;
&lt;br /&gt;
''Available parameters:'' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=string&amp;lt;/tt&amp;gt; - id of the sound source to be removed&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=14384</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=14384"/>
		<updated>2007-03-20T16:31:14Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Tags implemented in trunk (for testing purposes only): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I was maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects have begun to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part and broken hardware... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to the unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB more can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on a MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
===== Tags implemented in trunk (for testing purposes only): =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt; - creates a sound source&lt;br /&gt;
&lt;br /&gt;
''Available parameters:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=string&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of 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;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
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 anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt; - removes a sound source&lt;br /&gt;
&lt;br /&gt;
''Available parameters:'' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=string&amp;lt;/tt&amp;gt; - id of the sound source to be removed&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=14383</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=14383"/>
		<updated>2007-03-20T16:29:18Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Tags implemented in trunk (for testing purposes only): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I was maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects have begun to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part and broken hardware... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to the unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB more can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on a MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
===== Tags implemented in trunk (for testing purposes only): =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt; - creates a sound source&lt;br /&gt;
&lt;br /&gt;
''Available parameters:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=numerical value&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of 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;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
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 anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt; - removes a sound source&lt;br /&gt;
&lt;br /&gt;
''Available parameters:'' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=numerical value&amp;lt;/tt&amp;gt; - id of the sound source to be removed&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Description&amp;diff=14079</id>
		<title>Description</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Description&amp;diff=14079"/>
		<updated>2007-02-26T17:23:35Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Update screenshots from 0.8...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is Battle for Wesnoth? ==&lt;br /&gt;
&lt;br /&gt;
The Battle for Wesnoth is a turn-based strategy game with a fantasy theme.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb tright&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
[http://www.wesnoth.org/images/sshots/wesnoth-1.2-b.jpg http://www.wesnoth.org/images/sshots/wesnoth-1.2-b-175.jpg]&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;A magical lightning strikes&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Build up a great army, gradually turning raw recruits into hardened veterans. In later games, recall your toughest warriors and form a deadly host against whom none can stand! Choose units from a large pool of specialists, and hand-pick a force with the right strengths to fight well on different terrains against all manner of opposition.&lt;br /&gt;
&lt;br /&gt;
Wesnoth has many different sagas waiting to be played out.  Fight to regain the throne of Wesnoth, of which you are the legitimate heir...  step into the boots of a young officer sent to guard a not-so-sleepy frontier outpost...  vanquish a horde of undead warriors unleashed by a foul necromancer, who also happens to have taken your brother hostage...  guide a band of elvish survivors in an epic quest to find a new home.&lt;br /&gt;
&lt;br /&gt;
200+ unit types.  16 races.  6 major factions.  Hundreds of years of history.  The world of Wesnoth is absolutely huge and limited only by your creativity - make your own custom units, compose your own maps, and write your own scenarios or even full-blown campaigns.  You can also challenge up to 8 friends - or strangers - and fight in epic ''multi-player'' fantasy battles.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb tright&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
[http://www.wesnoth.org/images/sshots/wesnoth-1.2-e.jpg http://www.wesnoth.org/images/sshots/wesnoth-1.2-e-175.jpg]&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;Heir to The Throne&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Build up a formidable fighting force, starting from a single leader and a small amount of gold.&lt;br /&gt;
* Over 200 unit types in six major factions, all with distinctive abilities, weapons and spells.&lt;br /&gt;
* Experienced units gain powerful new abilities as they advance.&lt;br /&gt;
* Several multi-player options available, including internet play.&lt;br /&gt;
* Scores of different custom-designed maps, and unlimited random maps.&lt;br /&gt;
* Hundreds of campaign scenarios available for download via a simple in-game procedure.&lt;br /&gt;
* 'Fog of war' feature available for a true test of generalship.&lt;br /&gt;
* Sophisticated mark-up language lets advanced users make their own maps, factions or campaigns.&lt;br /&gt;
* Excellent language support &amp;amp;ndash; 35 different languages currently available.&lt;br /&gt;
* GNU/Linux, Windows, MacOSX, BeOS, Solaris, FreeBSD, OpenBSD, NetBSD, AmigaOS4, OS/2 &amp;amp; eComStation compatible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Play}}&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Description&amp;diff=14077</id>
		<title>Description</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Description&amp;diff=14077"/>
		<updated>2007-02-26T17:04:14Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Update screenshot for great justice!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is Battle for Wesnoth? ==&lt;br /&gt;
&lt;br /&gt;
The Battle for Wesnoth is a turn-based strategy game with a fantasy theme.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb tright&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
[http://www.wesnoth.org/images/sshots/wesnoth-1.2-b.jpg http://www.wesnoth.org/images/sshots/wesnoth-1.2-b-175.jpg]&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;A magical lightning strikes&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Build up a great army, gradually turning raw recruits into hardened veterans. In later games, recall your toughest warriors and form a deadly host against whom none can stand! Choose units from a large pool of specialists, and hand-pick a force with the right strengths to fight well on different terrains against all manner of opposition.&lt;br /&gt;
&lt;br /&gt;
Wesnoth has many different sagas waiting to be played out.  Fight to regain the throne of Wesnoth, of which you are the legitimate heir...  step into the boots of a young officer sent to guard a not-so-sleepy frontier outpost...  vanquish a horde of undead warriors unleashed by a foul necromancer, who also happens to have taken your brother hostage...  guide a band of elvish survivors in an epic quest to find a new home.&lt;br /&gt;
&lt;br /&gt;
200+ unit types.  16 races.  6 major factions.  Hundreds of years of history.  The world of Wesnoth is absolutely huge and limited only by your creativity - make your own custom units, compose your own maps, and write your own scenarios or even full-blown campaigns.  You can also challenge up to 8 friends - or strangers - and fight in epic ''multi-player'' fantasy battles.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb tright&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
[http://www.wesnoth.org/images/sshots/wesnoth-0.8.4-burningsuns.png http://www.wesnoth.org/images/sshots/wesnoth-0.8.4-burningsuns-175.jpg]&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;Under the Burning Suns&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Build up a formidable fighting force, starting from a single leader and a small amount of gold.&lt;br /&gt;
* Over 200 unit types in six major factions, all with distinctive abilities, weapons and spells.&lt;br /&gt;
* Experienced units gain powerful new abilities as they advance.&lt;br /&gt;
* Several multi-player options available, including internet play.&lt;br /&gt;
* Scores of different custom-designed maps, and unlimited random maps.&lt;br /&gt;
* Hundreds of campaign scenarios available for download via a simple in-game procedure.&lt;br /&gt;
* 'Fog of war' feature available for a true test of generalship.&lt;br /&gt;
* Sophisticated mark-up language lets advanced users make their own maps, factions or campaigns.&lt;br /&gt;
* Excellent language support &amp;amp;ndash; 35 different languages currently available.&lt;br /&gt;
* GNU/Linux, Windows, MacOSX, BeOS, Solaris, FreeBSD, OpenBSD, NetBSD, AmigaOS4, OS/2 &amp;amp; eComStation compatible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Play}}&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13880</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13880"/>
		<updated>2007-02-16T21:35:00Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* GP2X port */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I was maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects have begun to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part and broken hardware... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to the unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB more can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on a MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
===== Tags implemented in trunk (for testing purposes only): =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Available parameters:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=numerical value&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of 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;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
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 anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As for now, these are usable only for testing purposes. A richer implementation as discussed with zookeper is on the way.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13879</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13879"/>
		<updated>2007-02-16T21:32:27Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* GP2X port */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I was maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects have begun to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part and broken hardware... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on a MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
===== Tags implemented in trunk (for testing purposes only): =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Available parameters:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=numerical value&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of 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;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
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 anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As for now, these are usable only for testing purposes. A richer implementation as discussed with zookeper is on the way.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13878</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13878"/>
		<updated>2007-02-16T21:26:14Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Tags implemented in trunk (for testing purposes only): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I was maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects have begun to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part and broken hardware... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
===== Tags implemented in trunk (for testing purposes only): =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Available parameters:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=numerical value&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of 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;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
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 anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As for now, these are usable only for testing purposes. A richer implementation as discussed with zookeper is on the way.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13877</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13877"/>
		<updated>2007-02-16T21:23:40Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* GP2X port */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I was maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects have begun to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part and broken hardware... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
===== Tags implemented in trunk (for testing purposes only): =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Available parameters:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=numerical value&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of source's sound&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
acticvated every second (note that it cannot play more than once at the same time anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As for now, these are usable only for testing purposes. A richer implementation as discussed with zookeper is on the way.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13629</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13629"/>
		<updated>2007-02-02T21:21:46Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Developement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I was maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects have begun to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
===== Tags implemented in trunk (for testing purposes only): =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Available parameters:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=numerical value&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of source's sound&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
acticvated every second (note that it cannot play more than once at the same time anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As for now, these are usable only for testing purposes. A richer implementation as discussed with zookeper is on the way.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13628</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13628"/>
		<updated>2007-02-02T21:21:12Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Translation &amp;amp; internationalisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I was maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects began to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
===== Tags implemented in trunk (for testing purposes only): =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Available parameters:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=numerical value&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of source's sound&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
acticvated every second (note that it cannot play more than once at the same time anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As for now, these are usable only for testing purposes. A richer implementation as discussed with zookeper is on the way.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13627</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13627"/>
		<updated>2007-02-02T21:20:21Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I've been maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects began to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
===== Tags implemented in trunk (for testing purposes only): =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Available parameters:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=numerical value&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of source's sound&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
acticvated every second (note that it cannot play more than once at the same time anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As for now, these are usable only for testing purposes. A richer implementation as discussed with zookeper is on the way.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13626</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13626"/>
		<updated>2007-02-02T21:18:15Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I've been maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects began to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
Tags implemented in trunk (for testing purposes only):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;[sound_source]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;sounds=list,of,comma,seperated,sounds&amp;lt;/tt&amp;gt; - list of sounds associated with this source, played randomly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;id=numerical value&amp;lt;/tt&amp;gt; - internal id used to manipulate this source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;delay=numerical value&amp;lt;/tt&amp;gt; - mininal delay (in ms) between two playbacks of source's sound&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;chance=numerical value&amp;lt;/tt&amp;gt; - a number from [0, 100] range, describing what's the chance of source being &lt;br /&gt;
acticvated every second (note that it cannot play more than once at the same time anyway)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;check_fogged=boolean value&amp;lt;/tt&amp;gt; = true or false; if true the source won't play if its location is fogged/shrouded&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;x=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of x coordinates associated with this sound source (must match y list)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;y=list,of,numerical,values&amp;lt;/tt&amp;gt; a list of y coordinates associated with this sound source (must match x list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As for now, these are usable only for testing purposes. A richer implementation as discussed with zookeper is on the way.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13625</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13625"/>
		<updated>2007-02-02T21:06:28Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in the &amp;quot;Battle for Wesnoth&amp;quot; developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I've been maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects began to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
My pet-project waiting for some free time. 8)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sound sources&amp;quot; is a general name for a mechanism, which makes it possible for map elements to emit sounds according to some rules, where &amp;quot;map elements&amp;quot; can be specific locations or terrain patches. One has complete control over them with the WML. &lt;br /&gt;
&lt;br /&gt;
Currently implemented tags (for testing purposes only):&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13624</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13624"/>
		<updated>2007-02-02T21:03:00Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* GP2X port */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in Wesnoth developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I've been maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects began to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; &lt;br /&gt;
   GP2X has only 32 megs of OS-available RAM, about 24MB can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; &lt;br /&gt;
   maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
Lorem...&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13623</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13623"/>
		<updated>2007-02-02T21:02:33Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* GP2X port */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in Wesnoth developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I've been maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects began to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; GP2X has only 32 megs of OS-available RAM. About 24MB can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on MMSP2 SoC, which has two ARM cores available; &lt;br /&gt;
   possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
Lorem...&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13622</id>
		<title>User:Grzywacz</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Grzywacz&amp;diff=13622"/>
		<updated>2007-02-02T21:01:46Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why hello there! This site describes my involvement in Wesnoth developement so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translation &amp;amp; internationalisation ==&lt;br /&gt;
&lt;br /&gt;
I've been maintaining the Polish translation of &amp;quot;Battle for Wesnoth&amp;quot; for more than 1.5 year, starting spring 2005. In that time, with enormous help of a few people (mentioned in credits), we managed to complete the translation of all the mainline strings for 1.0.2 and 1.2 releases. We've started with basically nothing (barely ~5% completed at the beginning makes me wonder why previous translators even appear in the credits).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Developement ==&lt;br /&gt;
&lt;br /&gt;
I've started my developement with a few patches, mainly bugfixes. Later on, 2 medium-size projects began to evolve:&lt;br /&gt;
&lt;br /&gt;
=== GP2X port ===&lt;br /&gt;
&lt;br /&gt;
A port of BfW to Gamepark Holding's GP2X handheld console. The project is currently stalled due to lack of interest on my part... The game basically runs, but there still a few problems to solve.&lt;br /&gt;
&lt;br /&gt;
What's been accomplished involves: &lt;br /&gt;
 * fixes to unmaintained tinygui interface, to make the game playable in 320x240 resolution; &lt;br /&gt;
 * one-time caching without revalidation to greatly improve startup times&lt;br /&gt;
 * sound-cache limiting to save on memory&lt;br /&gt;
 * joystick mouse support, to move mouse cursor using GP2X's stick&lt;br /&gt;
 * fixed image resize script, used to downscale BfW graphics on install (saves memory and cpu cycles)&lt;br /&gt;
&lt;br /&gt;
What's left:&lt;br /&gt;
 * memory usage problems which make the game unplayable; GP2X has only 32 megs of OS-available RAM. About 24MB can be accessed with paeryn's hardware SDL lib&lt;br /&gt;
 * drawing speed - using doublebuffering and hardware blitter don't go well with Wesnoth's display model; maybe the OpenGL branch is a better base for this port?!&lt;br /&gt;
 * second CPU core usage - GP2X is based on MMSP2 SoC, which has two ARM cores available; possibly off-load music decoding or some AI routines to the 940 core?&lt;br /&gt;
&lt;br /&gt;
=== Sound sources support ===&lt;br /&gt;
&lt;br /&gt;
Lorem...&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=PolishTranslation&amp;diff=12256</id>
		<title>PolishTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=PolishTranslation&amp;diff=12256"/>
		<updated>2006-10-31T16:47:44Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Polish Translation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Polish Translation ==&lt;br /&gt;
&lt;br /&gt;
'' '''Aktualnie działający tłumacze / Currently active translators:''' ''&lt;br /&gt;
&lt;br /&gt;
* maintainer: None&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'' ''' Główny wkład w tłumaczenie wnieśli ponadto / Main contributors:  ''' ''&lt;br /&gt;
* Arkadiusz &amp;quot;szopen&amp;quot; Danilecki - [mailto:adanileckiATcsDOTputDOTpoznanDOTpl]&lt;br /&gt;
* Bartek &amp;quot;Dragonking&amp;quot; Waresiak - mailto:dragonkingATo2DOTpl&lt;br /&gt;
* Karol &amp;quot;grzywacz&amp;quot; Nowak - [mailto:grzywaczATsulDOTuniD0TlodzDOTpl]&lt;br /&gt;
* Michał &amp;quot;Artanis&amp;quot; Jedynak - [mailto:artanisATpocztaDOTfm]&lt;br /&gt;
* Michał &amp;quot;misiorysio&amp;quot; Ligowski&lt;br /&gt;
* pozostali wymienieni są [[About|tutaj]]&lt;br /&gt;
&lt;br /&gt;
Jeżeli używasz Wesnoth pod Windows, i masz problem z polskimi znakami, zajrzyj do&lt;br /&gt;
http://www.wesnoth.org/forum/viewtopic.php?t=4136&lt;br /&gt;
&lt;br /&gt;
Postęp prac można zobaczyć [http://gettext.wesnoth.org tutaj].&lt;br /&gt;
&lt;br /&gt;
==  Tłumaczenie polskie  ==&lt;br /&gt;
&lt;br /&gt;
Komentarze dotyczące tłumaczenia prosimy umieszczać na odpowiednim forum (&amp;quot;Translation and Internationalization&amp;quot;, wątek &amp;quot;Polish translation&amp;quot;). Można też przesyłać je emailem do koordynatora tłumaczenia (adres powyżej).&lt;br /&gt;
&lt;br /&gt;
W sieci FreeNode istnieje polski kanał o Wesnoth: #wesnoth-pl, na którym siedzą Polacy bliżej związani z rozwojem tłumaczenia, czy gry w ogóle. Zapraszamy! Tam też można przekazywać swoje uwagi lub zgłaszać się do pomocy w tłumaczeniu.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=12255</id>
		<title>WesnothTranslations</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothTranslations&amp;diff=12255"/>
		<updated>2006-10-31T16:46:17Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Translations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Translations  ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth is currently being translated into the following languages. Instructions on how to contribute are found here:&lt;br /&gt;
[[WesnothTranslationsHowTo]].&lt;br /&gt;
* [[AfrikaansTranslation|Afrikaans]] - maintainer: Nico Oliver - [mailto:wesnothafATgmailDOTcom]&lt;br /&gt;
* [[BasqueTranslation|Basque]] - maintainer: Alfredo Beaumont (ziberpunk) - [mailto:alfredo.beaumontATgmailDOTcom]&lt;br /&gt;
* [[BulgarianTranslation|Bulgarian]] maintainer: Georgi Dimitrov (oblak) - [mailto:oblakATgbgDOTbg]&lt;br /&gt;
* [[CatalanTranslation|Catalan]] - maintainer: Jordà Polo (ettin) - [mailto:jordaATettinDOTorg]&lt;br /&gt;
* [[ChineseTranslation|Chinese]] - maintainer: Firen, [mailto:qhy@hotmail.co.uk] (email address not working)&lt;br /&gt;
* [[CzechTranslation|Czech]] - maintainer: Oto Buchta (tapik) - [mailto:tapikATbuchtoviDOTcz]&lt;br /&gt;
* [[DanishTranslation|Danish]] maintainer: Anders K. Madsen (madsen) - [mailto:madsenATlillesvinDOTnet]&lt;br /&gt;
* [[DutchTranslation|Dutch]] - maintainer: Maarten Albrecht (bloom) - [mailto:maartenalbrechtATgmailDOTcom]&lt;br /&gt;
* [[EnglishTranslation|English (US)]] ''(this is the default)'' - maintainer: Sirp - [mailto:davidnwhiteATcomcastDOTnet]&lt;br /&gt;
* [[EnglishGBTranslation|English (GB)]] - maintainer: pjr - [mailto:wesnoth@pjr.britishlibrary.net]&lt;br /&gt;
* [[EstonianTranslation|Estonian]] - maintainer: Mart Tõnso (rinjin) - [mailto:tmATrinjinDOTpriDOTee]&lt;br /&gt;
* [[FilipinoTranslation|Filipino]] - maintainer: Joset Zamora (sophie^) - [mailto:sophieUNDERSCOREgeekATyahooDOTca]&lt;br /&gt;
* [[FinnishTranslation|Finnish]] - maintainer: Jussi Rautio (jgrr) - [mailto:jussiDOTrautioAThutDOTfi]&lt;br /&gt;
* [[FrenchTranslation|French]] - maintainer: Guillaume Massart (Piou2fois) - [mailto:massartDOTguillaumeATwanadooDOTfr]&lt;br /&gt;
* [[GalicianTranslation|Galician]] - maintainer: Jacobo Fernandez (Xacobe) - [mailto:xacobe_gzAThotmailDOTcom] (email address not working)&lt;br /&gt;
* [[GermanTranslation|German]] - maintainer: Christoph Berg (chrber) - [mailto:ChristophDOTBergATkpm-sportDOTde]&lt;br /&gt;
* [[GreekTranslation|Greek]] - maintainer: Nobody, currently&lt;br /&gt;
* [[HebrewTranslation|Hebrew]] maintainer: Oron Peled - [mailto:oronATactcomDOTcoDOTil]&lt;br /&gt;
* [[HungarianTranslation|Hungarian]] - maintainer: Széll Tamás (TomJoad) - [mailto:tomiATdigiflexDOThu]&lt;br /&gt;
* [[ItalianTranslation|Italian]] - maintainer: Americo Iacovizzi (DarkAmex) - [mailto:americo_iacovizziATliberoDOTit]&lt;br /&gt;
* [[JapaneseTranslation|Japanese]] - maintainer: Nobuhito Okada - [mailto:okyadaATgmailDOTcom]&lt;br /&gt;
* [[KoreanTranslation|Korean]] - maintainer: Kim Woong - [mailto:jojowarezAThotmailDOTcom] (email address not working)&lt;br /&gt;
* [[LatinTranslation|Latin]] - maintainer: Marc Polo ([http://www.wesnoth.org/forum/privmsg.php?mode=post&amp;amp;u=571 mpolo]) - No mail address specified&lt;br /&gt;
* [[NorwegianTranslation|Norwegian]] - maintainer: Gaute Jao (Gauteamus) - [mailto:gauteamusATgmailDOTcom]&lt;br /&gt;
* [[OccitanTranslation|Occitan]] - maintainer: Nobody, currently&lt;br /&gt;
* [[PolishTranslation|Polish]] - maintainer: none&lt;br /&gt;
* [[PortugueseTranslation|Portuguese Brazilian]] - maintainer: Claus Aranha (caranha) - [mailto:caranhaATgmailDOTcom]&lt;br /&gt;
* [[RussianTranslation|Russian]] - maintainer: Azamat H. Hackimov [mailto:azamatDOThackimovATgmailDOTcom]&amp;lt;!--Alexandr Menovchicov - [mailto:vamATkypiDOTru]--&amp;gt;&lt;br /&gt;
* [[SerbianTranslation|Serbian]] - maintainer: Srecko Toroman (freecraft)- [mailto:freecraftATgmailDOTcom]&lt;br /&gt;
* [[(sk) Preklad|Slovak]] - maintainer: Viliam Bur - [mailto:viliamATburDOTsk]; wiki: [[(sk) Návod]]&lt;br /&gt;
* [[SlovenianTranslation|Slovenian]] - maintainer: Jaka Kranjc (lynx) - [mailto:lynxlupodianAThotmailDOTcom]&lt;br /&gt;
* [[SpanishTranslation|Spanish]]  - maintainer: David Martinez (ender/Jo-Con-El) - [mailto:enderATdebianDOTorg]&lt;br /&gt;
* [[SwedishTranslation|Swedish]] - maintainer: Stefan Bergström (tephlon) - [mailto:stefanDOTbergstromATgmailDOTcom]&lt;br /&gt;
* [[TurkishTranslation|Turkish]] - currently Unmaintained&lt;br /&gt;
* [[ValencianTranslation|Valencian]] - maintainer: Mario (Mavorte) - [mailto:mavorte1ATyahooDOTes]; wiki: [[MavorteValencia]]&lt;br /&gt;
* [[VietnameseTranslation|Vietnamese]] - maintainer: Do Hong Minh - [mailto:minhdhAThutticDOTcom]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other ideas (remember, these are just ideas):&lt;br /&gt;
* Translations into Asian languages &lt;br /&gt;
** Asian languages are already supported. See [[WesnothAsianLanguages]].&lt;br /&gt;
&lt;br /&gt;
==  See also  ==&lt;br /&gt;
&lt;br /&gt;
* [[WesnothTranslationsHowTo]]&lt;br /&gt;
* [[GetText]]&lt;br /&gt;
* [http://gettext.wesnoth.org Translations statistics (svn)]&lt;br /&gt;
* [[WesCamp| Translating User made Campaigns (featuring WesCamp-i18n)]]&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=PolishTranslation&amp;diff=11112</id>
		<title>PolishTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=PolishTranslation&amp;diff=11112"/>
		<updated>2006-08-09T20:36:14Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Polish Translation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Polish Translation ==&lt;br /&gt;
&lt;br /&gt;
'' '''Aktualnie działający tłumacze / Currently active translators:''' ''&lt;br /&gt;
&lt;br /&gt;
* maintainer: Karol &amp;quot;grzywacz&amp;quot; Nowak - [mailto:grzywaczATsulDOTuniD0TlodzDOTpl]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'' ''' Główny wkład w tłumaczenie wnieśli ponadto / Main contributors:  ''' ''&lt;br /&gt;
* Arkadiusz &amp;quot;szopen&amp;quot; Danilecki - [mailto:adanileckiATcsDOTputDOTpoznanDOTpl]&lt;br /&gt;
* Bartek &amp;quot;Dragonking&amp;quot; Waresiak - mailto:dragonkingATo2DOTpl&lt;br /&gt;
* Michał &amp;quot;Artanis&amp;quot; Jedynak - [mailto:artanisATpocztaDOTfm]&lt;br /&gt;
* Michał &amp;quot;misiorysio&amp;quot; Ligowski&lt;br /&gt;
* pozostali wymienieni są [[About|tutaj]]&lt;br /&gt;
&lt;br /&gt;
Jeżeli używasz Wesnoth pod Windows, i masz problem z polskimi znakami, zajrzyj do&lt;br /&gt;
http://www.wesnoth.org/forum/viewtopic.php?t=4136&lt;br /&gt;
&lt;br /&gt;
Postęp prac można zobaczyć [http://gettext.wesnoth.org tutaj].&lt;br /&gt;
&lt;br /&gt;
==  Tłumaczenie polskie  ==&lt;br /&gt;
&lt;br /&gt;
Komentarze dotyczące tłumaczenia prosimy umieszczać na odpowiednim forum (&amp;quot;Translation and Internationalization&amp;quot;, wątek &amp;quot;Polish translation&amp;quot;). Można też przesyłać je emailem do koordynatora tłumaczenia (adres powyżej).&lt;br /&gt;
&lt;br /&gt;
W sieci FreeNode istnieje polski kanał o Wesnoth: #wesnoth-pl, na którym siedzą Polacy bliżej związani z rozwojem tłumaczenia, czy gry w ogóle. Zapraszamy! Tam też można przekazywać swoje uwagi lub zgłaszać się do pomocy w tłumaczeniu.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=PolishTranslation&amp;diff=11111</id>
		<title>PolishTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=PolishTranslation&amp;diff=11111"/>
		<updated>2006-08-09T20:34:55Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Polish Translation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Polish Translation ==&lt;br /&gt;
&lt;br /&gt;
'' '''Aktualnie działający tłumacze / Currently active translators:''' ''&lt;br /&gt;
&lt;br /&gt;
* maintainer: Karol &amp;quot;grzywacz&amp;quot; Nowak - [mailto:REMOV[[EgrzywaczATsulDOTuniD]]0TlodzDOTpl]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'' ''' Główny wkład w tłumaczenie wnieśli ponadto / Main contributors:  ''' ''&lt;br /&gt;
* Arkadiusz &amp;quot;szopen&amp;quot; Danilecki - [mailto:adanileckiATcsDOTputDOTpoznanDOTpl]&lt;br /&gt;
* Bartek &amp;quot;Dragonking&amp;quot; Waresiak - mailto:dragonkingATo2DOTpl&lt;br /&gt;
* Michał &amp;quot;Artanis&amp;quot; Jedynak - [mailto:artanisATpocztaDOTfm]&lt;br /&gt;
* Michał &amp;quot;misiorysio&amp;quot; Ligowski&lt;br /&gt;
* pozostali wymienieni są [[About|tutaj]]&lt;br /&gt;
&lt;br /&gt;
Jeżeli używasz Wesnoth pod Windows, i masz problem z polskimi znakami, zajrzyj do&lt;br /&gt;
http://www.wesnoth.org/forum/viewtopic.php?t=4136&lt;br /&gt;
&lt;br /&gt;
Postęp prac można zobaczyć [http://gettext.wesnoth.org tutaj].&lt;br /&gt;
&lt;br /&gt;
==  Tłumaczenie polskie  ==&lt;br /&gt;
&lt;br /&gt;
Komentarze dotyczące tłumaczenia prosimy umieszczać na odpowiednim forum (&amp;quot;Translation and Internationalization&amp;quot;, wątek &amp;quot;Polish translation&amp;quot;). Można też przesyłać je emailem do koordynatora tłumaczenia (adres powyżej).&lt;br /&gt;
&lt;br /&gt;
W sieci FreeNode istnieje polski kanał o Wesnoth: #wesnoth-pl, na którym siedzą Polacy bliżej związani z rozwojem tłumaczenia, czy gry w ogóle. Zapraszamy! Tam też można przekazywać swoje uwagi lub zgłaszać się do pomocy w tłumaczeniu.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Credits&amp;diff=11018</id>
		<title>Credits</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Credits&amp;diff=11018"/>
		<updated>2006-08-03T16:11:39Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Translators */&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;
In July 2003, '''David White''' released the first version of Wesnoth. Since then, many people have joined the project, contributing in very different ways.&lt;br /&gt;
&lt;br /&gt;
== Developers ==&lt;br /&gt;
====Coders, (minor and major)====&lt;br /&gt;
* Alfredo Beaumont (ziberpunk) - autotools&lt;br /&gt;
* András Salamon ([[User:Ott|ott]]) - QA, bug fixing, subediting, game mechanics&lt;br /&gt;
* Benoît Timbert (Noyga) - coder&lt;br /&gt;
* Bram Ridder (Morloth) - editor improvements&lt;br /&gt;
* [[User:bruno|Bruno Wolff III]] - Campaign web interface, [[MainlineScenarios#The_Dark_Hordes|The Dark Hordes]] maintainer, bug fixing, minor coder&lt;br /&gt;
* Cédric Duval - coder, internationalization manager&lt;br /&gt;
* David Philippi (Torangan) - internationalization manager, wescamp&lt;br /&gt;
* [mailto:davidnwhite_AT_verizon.net David White] (Sirp) - founder, lead developer, scenario designer&lt;br /&gt;
* Dominic Bolin (Xan) - programmer&lt;br /&gt;
* Guillaume Melquiond (silene) - coding, bug fixes&lt;br /&gt;
* Jérémy Rosen (Boucman) - coder&lt;br /&gt;
* Jörg Hinrichs (Yogi Bear/YogiHH) - coder&lt;br /&gt;
* Jon Daniel (forcemstr) - coder, bug fixes&lt;br /&gt;
* [mailto:mcnabb_AT_gravity.psu.edu J.W.C. McNabb] (Darth Fool) - coder, graphics&lt;br /&gt;
* Justin Zaun (jzaun) - coder, scenario designer&lt;br /&gt;
* [mailto:erl_AT_erl.se Kristoffer Erlandsson] (erl) - help system, editor&lt;br /&gt;
* Nicolas Weeger (ryo) - Python API&lt;br /&gt;
* [mailto:patrick_x99(AT).hotmail.com Patrick Parker] ([[User:Sapient|Sapient]]) - misc. gui changes, orphaned-idea adopter&lt;br /&gt;
* [mailto:philippe.plantier_AT_naema.org Philippe Plantier] ([[User:Ayin|Ayin]]) - several parts of the code, notably terrain graphics code&lt;br /&gt;
* [mailto:ydirson_AT_altern.org Yann Dirson] - gettext support, tinygui&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
* Benjamin Drieu (benj) - campaign writer (wrote &amp;quot;Son of the Black Eye&amp;quot;)&lt;br /&gt;
* [mailto:dragonking_AT_o2.pl Bartek Waresiak] (Dragonking) - multiplayer balancing&lt;br /&gt;
* Crossbow/Miyo - administrator, release manager&lt;br /&gt;
* Francisco Muñoz (fmunoz) - artwork manager, many images, scenario designer (also listed below)&lt;br /&gt;
* Hogne Håskjold (frame) - terrain designer (also listed below)&lt;br /&gt;
* [mailto:isaac_AT_sindominio.net Isaac Clerencia] - administrator, release manager&lt;br /&gt;
* James Spencer (Shade) - campaign writer (wrote &amp;quot;The Rise of Wesnoth&amp;quot;)&lt;br /&gt;
* Joseph Simmons (Turin) - campaign writer, some graphics (wrote &amp;quot;The Eastern Invasion,&amp;quot; and others)&lt;br /&gt;
* Mark Michelsen (skovbaer) - internationalization manager&lt;br /&gt;
* Mike Quiñones (Doc Paterson) - multiplayer balancing, multiplayer maps&lt;br /&gt;
* [mailto:Crazy-Ivanovic_AT_gmx.net Nils Kneuper] (Ivanovic) - internationalization manager, campaign maintainer (Two Brothers)&lt;br /&gt;
* Richard Kettering (Jetryl) - artwork manager, many images (also listed below)&lt;br /&gt;
* Richard S. (Noy) - multiplayer balancing&lt;br /&gt;
* Scott Klempner - campaign maintainer (Heir to the Throne, The Rise of Wesnoth)&lt;br /&gt;
* Soliton - multiplayer balancing&lt;br /&gt;
* Susanna Björverud (sanna) - internationalization manager&lt;br /&gt;
&lt;br /&gt;
====Unclassified====&lt;br /&gt;
* Jan Zvánovec (jaz)&lt;br /&gt;
* John B. Messerly (jbm)&lt;br /&gt;
* [mailto:jorda_AT_ettin.org Jordà Polo] (ettin)&lt;br /&gt;
* J.R. Blain (Cowboy)&lt;br /&gt;
* Maksim Orlovich (SadEagle)&lt;br /&gt;
* Zas&lt;br /&gt;
&lt;br /&gt;
== Artists ==&lt;br /&gt;
==== Major Contributors ====&lt;br /&gt;
* Francisco Muñoz (fmunoz) - Founding Artist and former lead artist, worked consistently on all aspects till around v0.7-0.9.&lt;br /&gt;
* Richard Kettering (Jetryl) - Current art director/slave, major focus on sprites, portraits, buildings, and icons&lt;br /&gt;
* Hogne Håskjold (frame/freim) - Current director of terrain art, made much of the current terrains (esp. mountains)&lt;br /&gt;
* J.W. Bjerk [http://www.wesnoth.org/wiki/User:Eleazar (Eleazar)] - terrain (esp Chasm, Cave, Water), sprite animations, many general graphics tasks&lt;br /&gt;
* James Woo (Pickslide) - portraits (major focus on orcs and campaigns)&lt;br /&gt;
* Jason Lutes - portraits (major focus on humans, some campaign portraits)&lt;br /&gt;
* ?? (Neoriceisgood) - sprite creator and animator (major focus on drakes, dwarves, saurians)&lt;br /&gt;
* Peter Geinitz (Shadow/Wayfarer) - sprite creator and animator&lt;br /&gt;
&lt;br /&gt;
==== Moderate Contributors ====&lt;br /&gt;
* Alex Jarocha-Ernst (Jormungandr) - portraits&lt;br /&gt;
* Eli Dupree (Elvish Pillager) - sprites and animations&lt;br /&gt;
* Pekka Aikio (pekka) - tiles, esp. castles, and attack icons&lt;br /&gt;
* Michael Gil de Muro (grp21) - portraits (for the campaign &amp;quot;The Rise of Wesnoth&amp;quot;)&lt;br /&gt;
* Robert Bolin (Zebulon) - tiles, sprite editing and animations&lt;br /&gt;
* Christophe Anjard (Christophe33) - made many of the old (c. v0.6) terrains, and some sprites for the dwarves&lt;br /&gt;
* Johann de Venecia (Johann) - drew the new campaign story art for HttT&lt;br /&gt;
&lt;br /&gt;
==== Minor Contributors ====&lt;br /&gt;
* Gerald Clears (Smok'em Jags) - sprite animator&lt;br /&gt;
* Jesse Holland (Kestenvarn) - map illustrator, designed the current map for HttT&lt;br /&gt;
* Mark Goodenough (Ranger M) - Sprite animator&lt;br /&gt;
* ?? (Zhukov) - Sprite animator&lt;br /&gt;
* Mikko Kraft (Deserter) - Sprite animator&lt;br /&gt;
* Michael Mielewczik (Mille) - Sprite animator&lt;br /&gt;
* Stephen Stone (Disto) - Sprite animator&lt;br /&gt;
* Andrew James Patterson (Kamahawk) - sprites&lt;br /&gt;
* Diego Brea (Cobretti) - sprite creator/animator&lt;br /&gt;
* ?? (antwerpz) - sprite creator/animator for old saurian units&lt;br /&gt;
* Moritz Göbelbecker (mog) - improved encampment&lt;br /&gt;
* Gareth Miller (Gafgarion) - made some early sprites/tiles&lt;br /&gt;
* James Barton (Sangel) - sprites&lt;br /&gt;
* John Muccigrosso (Eponymous Archon) - made some early sprites, such as the human bowmen&lt;br /&gt;
* ?? (Slainte) - made sprites for c. v0.6 mages, also made many of the old attack icons&lt;br /&gt;
* ?? (Svetac) - made many of the old attack icons&lt;br /&gt;
* Johanna Manninen (lohari) - edited tiles, ported freeciv tiles used in very early versions of wesnoth&lt;br /&gt;
&lt;br /&gt;
==== Very Minor Contributors ====&lt;br /&gt;
* Gideon Chia (Deonjo) - new &amp;quot;units&amp;quot; icon for general status bar&lt;br /&gt;
* John-Robert Funck (XJaPaN) - sprite animator&lt;br /&gt;
* Jonatan Alamà (tin) - made red logo used until before v1.0&lt;br /&gt;
* Jimmy Olsson (Azlan) - made old icons for windows version&lt;br /&gt;
* Randall Walls (slightcrazed) - sprite animator&lt;br /&gt;
* Jason Frailey (Valdroni) - made scorpion portrait&lt;br /&gt;
* Nicholas Kerpan (Thrawn) - made human theif portrait&lt;br /&gt;
* ?? (Highhole) - revised storm trident&lt;br /&gt;
* Irwin Ismail (Swordy) - original projectile/attack icon for chakram&lt;br /&gt;
* Evan Crook (Flametrooper) - Sprite animator (TC conversion)&lt;br /&gt;
&lt;br /&gt;
== Musicians ==&lt;br /&gt;
* Aleksi Aubry-Carlson (Aleksi) - music coordinator/composer&lt;br /&gt;
* Joseph Toscano (zhaymusic.com) - music&lt;br /&gt;
* Pau Congost - music&lt;br /&gt;
* Fredrik Lindroth - music&lt;br /&gt;
* Timothy Pinkham (TimothyP)&lt;br /&gt;
&lt;br /&gt;
== Translators ==&lt;br /&gt;
* adson - hungarian translation&lt;br /&gt;
* İhsan Akın - turkish translation&lt;br /&gt;
* Agata Chmiel - polish translation&lt;br /&gt;
* Aleksej Korgenkov (Grimpanto) - esperanto translation&lt;br /&gt;
* Alessio D'Ascanio (otaku) - italian translation&lt;br /&gt;
* Alexander Alexiou (Santi) - greek translation&lt;br /&gt;
* Alexander Kjäll (capitol) - swedish translation&lt;br /&gt;
* Alexandr Menovchicov - russian translation&lt;br /&gt;
* Alfredo Beaumont (ziberpunk) - basque translation&lt;br /&gt;
* Ambra Viviani Loos - brazilian portuguese translation&lt;br /&gt;
* Americo Iacovizzi (DarkAmex) - italian translation&lt;br /&gt;
* Anders K. Madsen (madsen) - danish translation&lt;br /&gt;
* András Salamon ([[User:Ott|ott]]) - afrikaans, english and hungarian translation&lt;br /&gt;
* Andre Schmidt (schmidta) - german translation&lt;br /&gt;
* Anežka Bubeníčková (Bubu) - czech translation&lt;br /&gt;
* Ankka - finnish translation&lt;br /&gt;
* Anton Tsigularov (Atilla) - bulgarian translation&lt;br /&gt;
* Arkadiusz Danilecki (szopen) - polish translation&lt;br /&gt;
* Arnaud Garoux (La vie en wose) - french translation&lt;br /&gt;
* Arne Deprez - dutch translation&lt;br /&gt;
* Artur R. Czechowski - polish translation&lt;br /&gt;
* Åse Petersson (tintin) - swedish translation&lt;br /&gt;
* Aurélien Brevers (Breversa) - french translation&lt;br /&gt;
* Azamat Hackimov - russian translation&lt;br /&gt;
* Bartek Waresiak (Dragonking) - polish translation&lt;br /&gt;
* Beer (Eddi) - hungarian translation&lt;br /&gt;
* Benoit Astruc - french translation&lt;br /&gt;
* Benoît Timbert (Noyga) - french translation&lt;br /&gt;
* Bjarke Sørensen (basher) - danish translation&lt;br /&gt;
* BlueStar - japanese translation&lt;br /&gt;
* Boris Stumm (quijote_) - german translation&lt;br /&gt;
* BOrsuk - polish translation&lt;br /&gt;
* Cédric Duval - french translation&lt;br /&gt;
* Carles Company (brrr) - catalan translation&lt;br /&gt;
* Celso Goya - brazilian portuguese translation&lt;br /&gt;
* Christoph Berg (chrber) - german translation&lt;br /&gt;
* [mailto:cbterra_AT_gmail.com Claudio Terra] - brazilian portuguese translation&lt;br /&gt;
* Claus Aranha - brazilian portuguese translation&lt;br /&gt;
* crys0000 - italian translation&lt;br /&gt;
* Dan Rosàs Garcia (focks) - catalan translation&lt;br /&gt;
* Daniel López (Azazelo) - catalan translation&lt;br /&gt;
* DaringTremayne - french translation&lt;br /&gt;
* David Martínez Moreno - spanish translation&lt;br /&gt;
* David Nečas (Yeti) - czech translation&lt;br /&gt;
* dentro - hungarian translation&lt;br /&gt;
* Enes Akın (yekialem) - turkish translation&lt;br /&gt;
* Erik J. Mesoy (Circon) - norwegian translation&lt;br /&gt;
* Eugenio Favalli (ElvenProgrammer) - italian translation&lt;br /&gt;
* Federico Tomassetti - italian translation&lt;br /&gt;
* Flamma - spanish translation&lt;br /&gt;
* Franciso Muñoz (fmunoz) - spanish translation&lt;br /&gt;
* François Orieux - french translation&lt;br /&gt;
* Gabriel Rodríguez (Chewie) - spanish translation&lt;br /&gt;
* Gaute Jao (Bombadil) - norwegian translation&lt;br /&gt;
* Georgi Dimitrov (oblak)- bulgarian translation&lt;br /&gt;
* Gerfried Fuchs (Alfie) - german translation&lt;br /&gt;
* Gilluin - hungarian translation&lt;br /&gt;
* Guillaume Duwelz-Rebert - french translation&lt;br /&gt;
* [mailto:massart.guillaume_AT_wanadoo.fr Guillaume Massart (Piou2fois)] - french translation&lt;br /&gt;
* Guillaume Melquiond (silene) - french translation&lt;br /&gt;
* Hallvard Norheim Bø (Lysander) - norwegian translation&lt;br /&gt;
* Håvard Korsvoll - norwegian translation&lt;br /&gt;
* Huang huan (unicon) - chinese translation&lt;br /&gt;
* Hugo Gerlach (Entrimo) - swedish translation&lt;br /&gt;
* Ilya Kaznacheev - russian translation&lt;br /&gt;
* Ivan Kovacs - slovak translation&lt;br /&gt;
* isazi - italian translation&lt;br /&gt;
* Iván Herrero (navitux) - spanish translator&lt;br /&gt;
* Jaka Kranjc (lynx) - slovenian translation&lt;br /&gt;
* Jan Greve (Jan) - german translation&lt;br /&gt;
* Jan-Heiner Laberenz (jan-heiner) - german translation&lt;br /&gt;
* Jean Privat (Tout) - french translation&lt;br /&gt;
* Jean-Luc Richard (Le Gnome) - french translation&lt;br /&gt;
* Jehan Hysseo (Jey) - french translation&lt;br /&gt;
* Jérémy Rosen (Boucman) - french translation&lt;br /&gt;
* Jesper Fuglsang Wolff (ulven) - danish translation&lt;br /&gt;
* Joan Queralt - catalan translation&lt;br /&gt;
* Joeri Melis - dutch translation&lt;br /&gt;
* Jonatan Alamà (tin) - catalan translation&lt;br /&gt;
* [mailto:jorda_AT_ettin.org Jordà Polo] (ettin) - catalan translation coordinator&lt;br /&gt;
* Jose Gordillo (kilder) - spanish and catalan translation&lt;br /&gt;
* Jose Manuel Gomez (joseg) - spanish translation&lt;br /&gt;
* Joset Anthony Zamora (sophie^) - filipino translation&lt;br /&gt;
* Julien Moncel - french translation&lt;br /&gt;
* Julien Tailleur - french translation&lt;br /&gt;
* Julen Landa (genars) - basque translation&lt;br /&gt;
* Jussi Rautio (jgrr) - finnish translation&lt;br /&gt;
* Kai Ensenbach (Pingu) - german translation&lt;br /&gt;
* Kékkői László (BlackEvil) - hungarian translation&lt;br /&gt;
* Karol Nowak (grzywacz) - polish translation&lt;br /&gt;
* Katerina Sykioti - greek translation&lt;br /&gt;
* Kertész Csaba - hungarian translation&lt;br /&gt;
* Khiraly - hungarian translation&lt;br /&gt;
* Kim Woong (Kazya) - korean translation&lt;br /&gt;
* kko - finnish translation&lt;br /&gt;
* Konstantinos Karasavvas - greek translation&lt;br /&gt;
* Kosif -  turkish translation&lt;br /&gt;
* Kovács Dániel - hungarian translation&lt;br /&gt;
* krix - hungarian translation&lt;br /&gt;
* Lala - dutch translation&lt;br /&gt;
* Leo Danielson (Lugo Moll) - swedish translation&lt;br /&gt;
* Luciano Montanaro (Luciano) - italian translation&lt;br /&gt;
* Lukáš Faltýnek - czech translation&lt;br /&gt;
* Ľubo Fajth - esperanto translation&lt;br /&gt;
* Maarten Albrecht - dutch and esperanto translation&lt;br /&gt;
* Mark Michelsen (skovbaer) - danish translation&lt;br /&gt;
* Mark Polo (mpolo) - latin translation&lt;br /&gt;
* Mark Recasens - catalan translation&lt;br /&gt;
* Marko Vasic - serbian translation&lt;br /&gt;
* Mart Tõnso - estonian translation&lt;br /&gt;
* Martin Dzbor - slovak translation&lt;br /&gt;
* Martin Šín - czech translation&lt;br /&gt;
* Mathias Bundgaard Svensson (freaken) - danish translation&lt;br /&gt;
* Matias Parmala - finnish translation&lt;br /&gt;
* methinks - polish translation&lt;br /&gt;
* Michał Jedynak (Artanis) - polish translation&lt;br /&gt;
* Michał Ligowski (misiorysio) - polish translation&lt;br /&gt;
* Michel Loos - brazilian portuguese translation&lt;br /&gt;
* Mikel Olasagasti (Hey_neken) - basque translation&lt;br /&gt;
* Mikko Kraft (deserter) - finnish translation&lt;br /&gt;
* Mintaka - czech translation&lt;br /&gt;
* Naoki Iimura (amatubu) いいむらなおき - japanese translation&lt;br /&gt;
* Nico Oliver - afrikaans translation&lt;br /&gt;
* Nicolas Boudin (Blurgk) - french translation&lt;br /&gt;
* [mailto:Crazy-Ivanovic_AT_gmx.net Nils Kneuper] (Ivanovic) - german translation&lt;br /&gt;
* [mailto:okyada_AT_gmail.com Nobuhito Okada] 岡田信人 - japanese translation&lt;br /&gt;
* [mailto:tapik_AT_buchtovi.cz Oto Buchta] ([[User:Tapik|tapik]]) - czech translation&lt;br /&gt;
* Pau Rul·lan Ferragut - catalan translation&lt;br /&gt;
* Paweł Stradomski - polish translation&lt;br /&gt;
* Paweł Tomak - polish translation&lt;br /&gt;
* paxed - finnish translation&lt;br /&gt;
* Petr Kopač (Ferda) - czech translation&lt;br /&gt;
* Petr Kovár (Juans) - czech translation&lt;br /&gt;
* [mailto:philippe.plantier_AT_naema.org Philippe Plantier] ([[User:Ayin|Ayin]]) - french translation&lt;br /&gt;
* Pieter Vermeylen (Onne) - dutch translation&lt;br /&gt;
* P&amp;amp;#305;nar Yanarda&amp;amp;#287; (moonquelle) - turkish translation&lt;br /&gt;
* Q - japanese translation&lt;br /&gt;
* Rastislav Šarišský (Asto) - esperanto translation&lt;br /&gt;
* Renato Cunha - brazilian portuguese translation&lt;br /&gt;
* Ricardo Sodré Andrade - brazilian portuguese translation&lt;br /&gt;
* Roel Thijs (Roel) - dutch translation&lt;br /&gt;
* RokStar - italian translation&lt;br /&gt;
* Roman Tuchin (Sankt) - russian translation&lt;br /&gt;
* Rudolf Orság - czech translation&lt;br /&gt;
* Ruben Philipp Wickenhäuser (The Very Uhu) - german translation&lt;br /&gt;
* Sébastien Raynaud (Galactic turkey) - french translation&lt;br /&gt;
* Sérgio de Miranda Costa -  brazilian portuguese translation&lt;br /&gt;
* Selim Farsakoğlu -  turkish translation&lt;br /&gt;
* Sofronius - czech translation&lt;br /&gt;
* Spiros, Giorgis - greek translation&lt;br /&gt;
* Srecko Toroman (FreeCraft) - serbian translation&lt;br /&gt;
* Stefan Bergström (tephlon) - swedish translation&lt;br /&gt;
* Stephan Grochtmann (Schattenstephan) - german translation&lt;br /&gt;
* [mailto:susanna.bjorverud_AT_telia.com Susanna Björverud] (sanna) - swedish translation&lt;br /&gt;
* Susanne Mesoy (Rarlgland) - norwegian translation&lt;br /&gt;
* Széll Tamás (TomJoad) - hungarian translation&lt;br /&gt;
* Tiago Souza (Salvador) - brazilian portuguese translation&lt;br /&gt;
* Tobe Deprez - dutch translation&lt;br /&gt;
* Vít Komárek - czech translation&lt;br /&gt;
* Vít Krčál - czech translation&lt;br /&gt;
* [http://www.viliam.bur.sk/ Viliam Búr] - slovak translation&lt;br /&gt;
* Vladimír Slávik - czech translation&lt;br /&gt;
* vonHalenbach - german translation&lt;br /&gt;
* William Dupré&lt;br /&gt;
* wint3r - swedish translation&lt;br /&gt;
* [mailto:ydirson_AT_altern.org Yann Dirson] - french translation&lt;br /&gt;
* Yuji Matsumoto - japanese translation&lt;br /&gt;
* Zas - french translation&lt;br /&gt;
&lt;br /&gt;
== Other Contributions ==&lt;br /&gt;
* ?? (lwa) - Mac OS X packager&lt;br /&gt;
* Ben Anderman (crimson_penguin) - unit list&lt;br /&gt;
* Dacyn - scenario designer&lt;br /&gt;
* Cyril Bouthors (CyrilB) - debian packager, patron&lt;br /&gt;
* Darryl Dixon - packager&lt;br /&gt;
* edge - packager&lt;br /&gt;
* Francesco Gigli (Jaramir) - wiki, wesnoth.slack.it&lt;br /&gt;
* Frédéric Wagner&lt;br /&gt;
* Jay Hopping - packager&lt;br /&gt;
* Jeff Breidenbach (Jab) - Bilinear interpolation&lt;br /&gt;
* Joshua Northey (Becephalus) - multiplayer maps&lt;br /&gt;
* Marcin Konicki (ahwayakchih) - BeOS packager&lt;br /&gt;
* Marcus Phillips (Sithrandel) - Mac OS X packager (for v1.0 and before)&lt;br /&gt;
* Mark Michelsen (skovbaer) - slackware packager&lt;br /&gt;
* Peter Groen (pg) - multiplayer maps&lt;br /&gt;
* Ruben Philipp Wickenhäuser (The Very Uhu) - multiplayer maps&lt;br /&gt;
* Tom Chance (telex4) - multiplayer maps, scenario balancing&lt;br /&gt;
* Sam Phillips (dark172) - creation of campains and multiplayer maps&lt;br /&gt;
&lt;br /&gt;
{{Home}}&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=Credits&amp;diff=10063</id>
		<title>Credits</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=Credits&amp;diff=10063"/>
		<updated>2006-06-15T08:15:30Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: Added a new polish translator&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;
In July 2003, '''David White''' released the first version of Wesnoth. Since then, many people have joined the project, contributing in very different ways.&lt;br /&gt;
&lt;br /&gt;
== Developers ==&lt;br /&gt;
====Coders, (minor and major)====&lt;br /&gt;
* Alfredo Beaumont (ziberpunk) - autotools&lt;br /&gt;
* András Salamon ([[User:Ott|ott]]) - QA, bug fixing, subediting, game mechanics&lt;br /&gt;
* Benoît Timbert (Noyga) - coder&lt;br /&gt;
* Bram Ridder (Morloth) - editor improvements&lt;br /&gt;
* [[User:bruno|Bruno Wolff III]] - Campaign web interface, [[MainlineScenarios#The_Dark_Hordes|The Dark Hordes]] maintainer, bug fixing, minor coder&lt;br /&gt;
* Cédric Duval - coder, internationalization manager&lt;br /&gt;
* David Philippi (Torangan) - internationalization manager, wescamp&lt;br /&gt;
* [mailto:davidnwhite_AT_verizon.net David White] (Sirp) - founder, lead developer, scenario designer&lt;br /&gt;
* Dominic Bolin (Xan) - programmer&lt;br /&gt;
* Guillaume Melquiond (silene) - coding, bug fixes&lt;br /&gt;
* Jérémy Rosen (Boucman) - coder&lt;br /&gt;
* Jörg Hinrichs (Yogi Bear/YogiHH) - coder&lt;br /&gt;
* Jon Daniel (forcemstr) - coder, bug fixes&lt;br /&gt;
* [mailto:mcnabb_AT_gravity.psu.edu J.W.C. McNabb] (Darth Fool) - coder, graphics&lt;br /&gt;
* Justin Zaun (jzaun) - coder, scenario designer&lt;br /&gt;
* [mailto:erl_AT_erl.se Kristoffer Erlandsson] (erl) - help system, editor&lt;br /&gt;
* Nicolas Weeger (ryo) - Python API&lt;br /&gt;
* [mailto:philippe.plantier_AT_naema.org Philippe Plantier] ([[User:Ayin|Ayin]]) - several parts of the code, notably terrain graphics code&lt;br /&gt;
* [mailto:ydirson_AT_altern.org Yann Dirson] - gettext support, tinygui&lt;br /&gt;
&lt;br /&gt;
====Miscellaneous====&lt;br /&gt;
* Benjamin Drieu (benj) - campaign writer (wrote &amp;quot;Son of the Black Eye&amp;quot;)&lt;br /&gt;
* [mailto:dragonking_AT_o2.pl Bartek Waresiak] (Dragonking) - multiplayer balancing&lt;br /&gt;
* Crossbow/Miyo - administrator, release manager&lt;br /&gt;
* Francisco Muñoz (fmunoz) - artwork manager, many images, scenario designer (also listed below)&lt;br /&gt;
* Hogne Håskjold (frame) - terrain designer (also listed below)&lt;br /&gt;
* [mailto:isaac_AT_sindominio.net Isaac Clerencia] - administrator, release manager&lt;br /&gt;
* James Spencer (Shade) - campaign writer (wrote &amp;quot;The Rise of Wesnoth&amp;quot;)&lt;br /&gt;
* Joseph Simmons (Turin) - campaign writer, some graphics (wrote &amp;quot;The Eastern Invasion,&amp;quot; and others)&lt;br /&gt;
* Mark Michelsen (skovbaer) - internationalization manager&lt;br /&gt;
* Mike Quiñones (Doc Paterson) - multiplayer balancing, multiplayer maps&lt;br /&gt;
* [mailto:Crazy-Ivanovic_AT_gmx.net Nils Kneuper] (Ivanovic) - internationalization manager, campaign maintainer (Two Brothers)&lt;br /&gt;
* Richard Kettering (Jetryl) - artwork manager, many images (also listed below)&lt;br /&gt;
* Richard S. (Noy) - multiplayer balancing&lt;br /&gt;
* Scott Klempner - campaign maintainer (Heir to the Throne, The Rise of Wesnoth)&lt;br /&gt;
* Soliton - multiplayer balancing&lt;br /&gt;
* Susanna Björverud (sanna) - internationalization manager&lt;br /&gt;
&lt;br /&gt;
====Unclassified====&lt;br /&gt;
* Jan Zvánovec (jaz)&lt;br /&gt;
* John B. Messerly (jbm)&lt;br /&gt;
* [mailto:jorda_AT_ettin.org Jordà Polo] (ettin)&lt;br /&gt;
* J.R. Blain (Cowboy)&lt;br /&gt;
* Maksim Orlovich (SadEagle)&lt;br /&gt;
* Zas&lt;br /&gt;
&lt;br /&gt;
== Artists ==&lt;br /&gt;
==== Major Contributors ====&lt;br /&gt;
* Francisco Muñoz (fmunoz) - Founding Artist and former lead artist, worked consistently on all aspects till around v0.7-0.9.&lt;br /&gt;
* Richard Kettering (Jetryl) - Current art director/slave, major focus on sprites, portraits, buildings, and icons&lt;br /&gt;
* Hogne Håskjold (frame/freim) - Current director of terrain art, made much of the current terrains (esp. mountains)&lt;br /&gt;
* J.W. Bjerk [http://www.wesnoth.org/wiki/User:Eleazar (Eleazar)] - terrain (esp Chasm, Cave, Water), sprite animations, many general graphics tasks&lt;br /&gt;
* James Woo (Pickslide) - portraits (major focus on orcs and campaigns)&lt;br /&gt;
* Jason Lutes - portraits (major focus on humans, some campaign portraits)&lt;br /&gt;
* ?? (Neoriceisgood) - sprite creator and animator (major focus on drakes, dwarves, saurians)&lt;br /&gt;
* Peter Geinitz (Shadow/Wayfarer) - sprite creator and animator&lt;br /&gt;
&lt;br /&gt;
==== Moderate Contributors ====&lt;br /&gt;
* Alex Jarocha-Ernst (Jormungandr) - portraits&lt;br /&gt;
* Eli Dupree (Elvish Pillager) - sprites and animations&lt;br /&gt;
* Pekka Aikio (pekka) - tiles, esp. castles, and attack icons&lt;br /&gt;
* Michael Gil de Muro (grp21) - portraits (for the campaign &amp;quot;The Rise of Wesnoth&amp;quot;)&lt;br /&gt;
* Robert Bolin (Zebulon) - tiles, sprite editing and animations&lt;br /&gt;
* Christophe Anjard (Christophe33) - made many of the old (c. v0.6) terrains, and some sprites for the dwarves&lt;br /&gt;
* Johann de Venecia (Johann) - drew the new campaign story art for HttT&lt;br /&gt;
&lt;br /&gt;
==== Minor Contributors ====&lt;br /&gt;
* Gerald Clears (Smok'em Jags) - sprite animator&lt;br /&gt;
* Jesse Holland (Kestenvarn) - map illustrator, designed the current map for HttT&lt;br /&gt;
* Mark Goodenough (Ranger M) - Sprite animator&lt;br /&gt;
* Murray Cook (Zhukov) - Sprite animator&lt;br /&gt;
* Stephen Stone (Disto) - Sprite animator&lt;br /&gt;
* Andrew James Patterson (Kamahawk) - sprites&lt;br /&gt;
* Diego Brea (Cobretti) - sprite creator/animator&lt;br /&gt;
* ?? (antwerpz) - sprite creator/animator for old saurian units&lt;br /&gt;
* Moritz Göbelbecker (mog) - improved encampment&lt;br /&gt;
* Gareth Miller (Gafgarion) - made some early sprites/tiles&lt;br /&gt;
* James Barton (Sangel) - sprites&lt;br /&gt;
* John Muccigrosso (Eponymous Archon) - made some early sprites, such as the human bowmen&lt;br /&gt;
* ?? (Slainte) - made sprites for c. v0.6 mages, also made many of the old attack icons&lt;br /&gt;
* ?? (Svetac) - made many of the old attack icons&lt;br /&gt;
* Johanna Manninen (lohari) - edited tiles, ported freeciv tiles used in very early versions of wesnoth&lt;br /&gt;
&lt;br /&gt;
==== Very Minor Contributors ====&lt;br /&gt;
* Gideon Chia (Deonjo) - new &amp;quot;units&amp;quot; icon for general status bar&lt;br /&gt;
* John-Robert Funck (XJaPaN) - sprite animator&lt;br /&gt;
* Jonatan Alamà (tin) - made red logo used until before v1.0&lt;br /&gt;
* Jimmy Olsson (Azlan) - made old icons for windows version&lt;br /&gt;
* Randall Walls (slightcrazed) - sprite animator&lt;br /&gt;
* Jason Frailey (Valdroni) - made scorpion portrait&lt;br /&gt;
* Nicholas Kerpan (Thrawn) - made human theif portrait&lt;br /&gt;
* ?? (Highhole) - revised storm trident&lt;br /&gt;
* Irwin Ismail (Swordy) - original projectile/attack icon for chakram&lt;br /&gt;
&lt;br /&gt;
== Musicians ==&lt;br /&gt;
* Aleksi Aubry-Carlson (Aleksi) - music coordinator/composer&lt;br /&gt;
* Joseph Toscano (zhaymusic.com) - music&lt;br /&gt;
* Pau Congost - music&lt;br /&gt;
* Fredrik Lindroth - music&lt;br /&gt;
* Timothy Pinkham (TimothyP)&lt;br /&gt;
&lt;br /&gt;
== Translators ==&lt;br /&gt;
* adson - hungarian translation&lt;br /&gt;
* İhsan Akın - turkish translation&lt;br /&gt;
* Agata Chmiel - polish translation&lt;br /&gt;
* Alessio D'Ascanio (otaku) - italian translation&lt;br /&gt;
* Alexander Alexiou (Santi) - greek translation&lt;br /&gt;
* Alexander Kjäll (capitol) - swedish translation&lt;br /&gt;
* Alexandr Menovchicov - russian translation&lt;br /&gt;
* Alfredo Beaumont (ziberpunk) - basque translation&lt;br /&gt;
* Ambra Viviani Loos - brazilian portuguese translation&lt;br /&gt;
* Americo Iacovizzi (DarkAmex) - italian translation&lt;br /&gt;
* Anders K. Madsen (madsen) - danish translation&lt;br /&gt;
* András Salamon ([[User:Ott|ott]]) - afrikaans, english and hungarian translation&lt;br /&gt;
* Andre Schmidt (schmidta) - german translation&lt;br /&gt;
* Anežka Bubeníčková (Bubu) - czech translation&lt;br /&gt;
* Ankka - finnish translation&lt;br /&gt;
* Anton Tsigularov (Atilla) - bulgarian translation&lt;br /&gt;
* Arkadiusz Danilecki (szopen) - polish translation&lt;br /&gt;
* Arne Deprez - dutch translation&lt;br /&gt;
* Artur R. Czechowski - polish translation&lt;br /&gt;
* Aurélien Brevers (Breversa) - french translation&lt;br /&gt;
* Azamat Hackimov - russian translation&lt;br /&gt;
* Bartek Waresiak (Dragonking) - polish translation&lt;br /&gt;
* Beer (Eddi) - hungarian translation&lt;br /&gt;
* Benoit Astruc - french translation&lt;br /&gt;
* Benoît Timbert (Noyga) - french translation&lt;br /&gt;
* Bjarke Sørensen (basher) - danish translation&lt;br /&gt;
* Boris Stumm (quijote_) - german translation&lt;br /&gt;
* BOrsuk - polish translation&lt;br /&gt;
* Cédric Duval - french translation&lt;br /&gt;
* Carles Company (brrr) - catalan translation&lt;br /&gt;
* Celso Goya - brazilian portuguese translation&lt;br /&gt;
* Christoph Berg (chrber) - german translation&lt;br /&gt;
* Claudio Terra - brazilian portuguese translation&lt;br /&gt;
* Claus Aranha - brazilian portuguese translation&lt;br /&gt;
* crys0000 - italian translation&lt;br /&gt;
* Dan Rosàs Garcia (focks) - catalan translation&lt;br /&gt;
* Daniel López (Azazelo) - catalan translation&lt;br /&gt;
* DaringTremayne - french translation&lt;br /&gt;
* David Martínez Moreno - spanish translation&lt;br /&gt;
* David Nečas (Yeti) - czech translation&lt;br /&gt;
* dentro - hungarian translation&lt;br /&gt;
* Enes Akın (yekialem) - turkish translation&lt;br /&gt;
* Erik J. Mesoy (Circon) - norwegian translation&lt;br /&gt;
* Eugenio Favalli (ElvenProgrammer) - italian translation&lt;br /&gt;
* Federico Tomassetti - italian translation&lt;br /&gt;
* Flamma - spanish translation&lt;br /&gt;
* Franciso Muñoz (fmunoz) - spanish translation&lt;br /&gt;
* François Orieux - french translation&lt;br /&gt;
* Gabriel Rodríguez (Chewie) - spanish translation&lt;br /&gt;
* Gaute Jao (Bombadil) - norwegian translation&lt;br /&gt;
* Georgi Dimitrov (oblak)- bulgarian translation&lt;br /&gt;
* Gerfried Fuchs (Alfie) - german translation&lt;br /&gt;
* Gilluin - hungarian translation&lt;br /&gt;
* Guillaume Duwelz-Rebert - french translation&lt;br /&gt;
* [mailto:massart.guillaume_AT_wanadoo.fr Guillaume Massart (Piou2fois)] - french translation&lt;br /&gt;
* Guillaume Melquiond (silene) - french translation&lt;br /&gt;
* Hallvard Norheim Bø (Lysander) - norwegian translation&lt;br /&gt;
* Håvard Korsvoll - norwegian translation&lt;br /&gt;
* Huang huan (unicon) - chinese translation&lt;br /&gt;
* Ilya Kaznacheev - russian translation&lt;br /&gt;
* isazi - italian translation&lt;br /&gt;
* Iván Herrero (navitux) - spanish translator&lt;br /&gt;
* Jaka Kranjc (lynx) - slovenian translation&lt;br /&gt;
* Jan Greve (Jan) - german translation&lt;br /&gt;
* Jan-Heiner Laberenz (jan-heiner) - german translation&lt;br /&gt;
* Jean Privat (Tout) - french translation&lt;br /&gt;
* Jean-Luc Richard (Le Gnome) - french translation&lt;br /&gt;
* Jérémy Rosen (Boucman) - french translation&lt;br /&gt;
* Jesper Fuglsang Wolff (ulven) - danish translation&lt;br /&gt;
* Jonatan Alamà (tin) - catalan translation&lt;br /&gt;
* [mailto:jorda_AT_ettin.org Jordà Polo] (ettin) - catalan translation coordinator&lt;br /&gt;
* Jose Gordillo (kilder) - spanish and catalan translation&lt;br /&gt;
* Jose Manuel Gomez (joseg) - spanish translation&lt;br /&gt;
* Joset Anthony Zamora (sophie^) - filipino translation&lt;br /&gt;
* Julien Moncel - french translation&lt;br /&gt;
* Julien Tailleur - french translation&lt;br /&gt;
* Julen Landa (genars) - basque translation&lt;br /&gt;
* Jussi Rautio (jgrr) - finnish translation&lt;br /&gt;
* Kai Ensenbach (Pingu) - german translation&lt;br /&gt;
* Kékkői László (BlackEvil) - hungarian translation&lt;br /&gt;
* Karol Nowak (grzywacz) - polish translation&lt;br /&gt;
* Katerina Sykioti - greek translation&lt;br /&gt;
* Kertész Csaba - hungarian translation&lt;br /&gt;
* Khiraly - hungarian translation&lt;br /&gt;
* Kim Woong (Kazya) - korean translation&lt;br /&gt;
* kko - finnish translation&lt;br /&gt;
* Konstantinos Karasavvas - greek translation&lt;br /&gt;
* Kosif -  turkish translation&lt;br /&gt;
* Kovács Dániel - hungarian translation&lt;br /&gt;
* krix - hungarian translation&lt;br /&gt;
* Lala - dutch translation&lt;br /&gt;
* Leo Danielson (Lugo Moll) - swedish translation&lt;br /&gt;
* Lim Choon Kiat - 林俊杰 - chinese translation&lt;br /&gt;
* Luciano Montanaro (Luciano) - italian translation&lt;br /&gt;
* Lukáš Faltýnek - czech translation&lt;br /&gt;
* Maarten Albrecht - dutch translation&lt;br /&gt;
* Mark Michelsen (skovbaer) - danish translation&lt;br /&gt;
* Mark Polo (mpolo) - latin translation&lt;br /&gt;
* Mark Recasens - catalan translation&lt;br /&gt;
* Mart Tõnso - estonian translation&lt;br /&gt;
* Martin Šín - czech translation&lt;br /&gt;
* Mathias Bundgaard Svensson (freaken) - danish translation&lt;br /&gt;
* Matias Parmala - finnish translation&lt;br /&gt;
* methinks - polish translation&lt;br /&gt;
* Michał Jedynak (Artanis) - polish translation&lt;br /&gt;
* Michel Loos - brazilian portuguese translation&lt;br /&gt;
* Mikel Olasagasti (Hey_neken) - basque translation&lt;br /&gt;
* Mintaka - czech translation&lt;br /&gt;
* Naoki Iimura - japanese translation&lt;br /&gt;
* Nico Oliver - afrikaans translation&lt;br /&gt;
* Nicolas Boudin (Blurgk) - french translation&lt;br /&gt;
* [mailto:Crazy-Ivanovic_AT_gmx.net Nils Kneuper] (Ivanovic) - german translation&lt;br /&gt;
* Nobuhito Okada - japanese translation&lt;br /&gt;
* [mailto:tapik_AT_buchtovi.cz Oto Buchta] ([[User:Tapik|tapik]]) - czech translation&lt;br /&gt;
* Pau Rul·lan Ferragut - catalan translation&lt;br /&gt;
* Paweł Stradomski - polish translation&lt;br /&gt;
* Paweł Tomak - polish translation&lt;br /&gt;
* paxed - finnish translation&lt;br /&gt;
* Petr Kopač (Ferda) - czech translation&lt;br /&gt;
* Petr Kovár (Juans) - czech translation&lt;br /&gt;
* [mailto:philippe.plantier_AT_naema.org Philippe Plantier] ([[User:Ayin|Ayin]]) - french translation&lt;br /&gt;
* Pieter Vermeylen (Onne) - dutch translation&lt;br /&gt;
* P&amp;amp;#305;nar Yanarda&amp;amp;#287; (moonquelle) - turkish translation&lt;br /&gt;
* Renato Cunha - brazilian portuguese translation&lt;br /&gt;
* Roel Thijs (Roel) - dutch translation&lt;br /&gt;
* RokStar - italian translation&lt;br /&gt;
* Roman Tuchin (Sankt) - russian translation&lt;br /&gt;
* Rudolf Orság - czech translation&lt;br /&gt;
* Ruben Philipp Wickenhäuser (The Very Uhu) - german translation&lt;br /&gt;
* Sérgio de Miranda Costa -  brazilian portuguese translation&lt;br /&gt;
* Selim Farsakoğlu -  turkish translation&lt;br /&gt;
* Sofronius - czech translation&lt;br /&gt;
* Spiros, Giorgis - greek translation&lt;br /&gt;
* Srecko Toroman (FreeCraft) - serbian translation&lt;br /&gt;
* Stefan Bergström (tephlon) - swedish translation&lt;br /&gt;
* Stephan Grochtmann (Schattenstephan) - german translation&lt;br /&gt;
* [mailto:susanna.bjorverud_AT_telia.com Susanna Björverud] (sanna) - swedish translation&lt;br /&gt;
* Susanne Mesoy (Rarlgland) - norwegian translation&lt;br /&gt;
* Széll Tamás (TomJoad) - hungarian translation&lt;br /&gt;
* Tiago Souza (Salvador) - brazilian portuguese translation&lt;br /&gt;
* Tobe Deprez - dutch translation&lt;br /&gt;
* Vít Komárek - czech translation&lt;br /&gt;
* Vít Krčál - czech translation&lt;br /&gt;
* Viliam Bur - slovak translation&lt;br /&gt;
* wint3r - swedish translation&lt;br /&gt;
* [mailto:ydirson_AT_altern.org Yann Dirson] - french translation&lt;br /&gt;
* Yuji Matsumoto - japanese translation&lt;br /&gt;
* Zas - french translation&lt;br /&gt;
&lt;br /&gt;
== Other Contributions ==&lt;br /&gt;
* Ben Anderman (crimson_penguin) - unit list&lt;br /&gt;
* Dacyn - scenario designer&lt;br /&gt;
* Cyril Bouthors (CyrilB) - debian packager, patron&lt;br /&gt;
* Darryl Dixon - packager&lt;br /&gt;
* edge - packager&lt;br /&gt;
* Francesco Gigli (Jaramir) - wiki, wesnoth.slack.it&lt;br /&gt;
* Frédéric Wagner&lt;br /&gt;
* Jay Hopping - packager&lt;br /&gt;
* Jeff Breidenbach (Jab) - Bilinear interpolation&lt;br /&gt;
* Joshua Northey (Becephalus) - multiplayer maps&lt;br /&gt;
* Marcin Konicki (ahwayakchih) - BeOS packager&lt;br /&gt;
* Marcus Phillips (Sithrandel) - Mac OS X packager&lt;br /&gt;
* Mark Michelsen (skovbaer) - slackware packager&lt;br /&gt;
* Peter Groen (pg) - multiplayer maps&lt;br /&gt;
* Ruben Philipp Wickenhäuser (The Very Uhu) - multiplayer maps&lt;br /&gt;
* Tom Chance (telex4) - multiplayer maps, scenario balancing&lt;br /&gt;
* Sam Phillips (dark172) - creation of campains and multiplayer maps&lt;br /&gt;
&lt;br /&gt;
{{Home}}&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=PolishTranslation&amp;diff=7377</id>
		<title>PolishTranslation</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=PolishTranslation&amp;diff=7377"/>
		<updated>2006-02-17T01:07:55Z</updated>

		<summary type="html">&lt;p&gt;Grzywacz: /* Polish Translation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Polish Translation ==&lt;br /&gt;
&lt;br /&gt;
'' '''Aktualnie działający tłumacze / Currently active translators:''' ''&lt;br /&gt;
&lt;br /&gt;
* maintainer: Karol &amp;quot;grzywacz&amp;quot; Nowak - [mailto:REMOV[[EgrzywaczATsulDOTuniD]]0TlodzDOTpl]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'' ''' Główny wkład w tłumaczenie wnieśli ponadto / Main contributors:  ''' ''&lt;br /&gt;
* Arkadiusz &amp;quot;szopen&amp;quot; Danilecki - [mailto:adanileckiATcsDOTputDOTpoznanDOTpl]&lt;br /&gt;
* Bartek &amp;quot;Dragonking&amp;quot; Waresiak - mailto:dragonkingATo2DOTpl&lt;br /&gt;
* Michał &amp;quot;Artanis&amp;quot; Jedynak - [mailto:artanisATpocztaDOTfm]&lt;br /&gt;
* pozostali wymienieni są [[About|tutaj]]&lt;br /&gt;
&lt;br /&gt;
Jeżeli używasz Wesnoth pod Windows, i masz problem z polskimi znakami, zajrzyj do&lt;br /&gt;
http://www.wesnoth.org/forum/viewtopic.php?t=4136&lt;br /&gt;
&lt;br /&gt;
Postęp prac można zobaczyć [http://gettext.wesnoth.org tutaj].&lt;br /&gt;
&lt;br /&gt;
==  Tłumaczenie polskie  ==&lt;br /&gt;
&lt;br /&gt;
Komentarze dotyczące tłumaczenia prosimy umieszczać na odpowiednim forum (&amp;quot;Translation and Internationalization&amp;quot;, wątek &amp;quot;Polish translation&amp;quot;). Można też przesyłać je emailem do koordynatora tłumaczenia (adres powyżej).&lt;br /&gt;
&lt;br /&gt;
W sieci FreeNode istnieje polski kanał o Wesnoth: #wesnoth-pl, na którym siedzą Polacy bliżej związani z rozwojem tłumaczenia, czy gry w ogóle. Zapraszamy! Tam też można przekazywać swoje uwagi lub zgłaszać się do pomocy w tłumaczeniu.&lt;/div&gt;</summary>
		<author><name>Grzywacz</name></author>
		
	</entry>
</feed>