Difference between revisions of "SoC Information for Google"

From The Battle for Wesnoth Wiki
(Fixed a reference to 2008)
 
(105 intermediate revisions by 13 users not shown)
Line 1: Line 1:
 +
{{Template:SoC2015}}
 +
 
== SoC Information for Google ==
 
== SoC Information for Google ==
==== Describe your organization. ====
+
This is the information that we submit to google as Application in Summer of Code (current status: 2015). The submitter automatically becomes primary Admin. Most entries are mandatory and have to be filled out before the application can be submitted.
The Battle for Wesnoth, or simply Wesnoth, is a free turn based strategy game with role playing elements designed in June 2003 by David White (Sirp), who currently works at Google.
+
 
 +
=== First page of questions ===
 +
 
 +
==== Organization id* ====
 +
wesnoth
 +
 
 +
==== Organization Name* ====
 +
Battle for Wesnoth
 +
 
 +
==== Description* ====
 +
<code type="html">
 +
<p><em>Battle for Wesnoth</em>, or simply <em>Wesnoth</em>, is a Free, turn-based strategy game with a high-fantasy theme that was designed in June 2003 by David White (Sirp).</p>
 +
<p>Although the core rules are fairly simple and meant to be easily learned[1], they provide interesting gameplay and rich tactical options. A major strength of the project is the Wesnoth Markup Language (WML) for writing scenarios. Programming skills are not required to compose with it, and a large WML-modding community has generated a vast amount of user-maintained content. We polish the best of this content and lift it into our official release tree.</p>
 +
<p>The first stable release (1.0) was on October 2, 2005, and the latest stable release (1.10.7) happened in August 2013. Version 1.10 was released in January 2012, while the current development branch is at version 1.11.9, released at the beginning of February 2014. We are currently working towards another stable release which should be out in Q2 2014.</p>
 +
<p><em>Wesnoth</em> is one of the most successful open-source game projects in existence, with an exceptionally large developer base and user community:
 +
<ul>
 +
<li>We support two multiplayer game servers (stable and development) with a usual minimum load of more than a hundred players</li>
 +
<li>More than a thousand downloads a day</li>
 +
<li>more than 6 million downloads via SourceForge; many more via various mirrors of Linux distributions</li>
 +
<li>Game of the year 2007, 2008, 2009, 2010, 2011 and 2012 at LinuxQuestions.org[2][3]</li>
 +
<li>In general, <em>Wesnoth</em> tends to show up in the first or second position whenever anyone compiles a list of top open-source games</li>
 +
</ul></p>
 +
<p><em>Wesnoth</em>'s most notable features include:
 +
<ul>
 +
<li>A mature project with continuing active development and frequent improvements after 10 years of development</li>
 +
<li>High quality artwork: both original graphics and music</li>
 +
<li>Well&shy;-balanced by a tireless team of playtesters</li>
 +
<li>Fun, unique gameplay</li>
 +
<li>Even after a decade of development and a very solid, fun product already created, there are still plenty of new developers</li>
 +
<li>Strong support of internationalization with many supported languages, thus experience in working with non-native English speakers. In fact, more than half of our developers are not native English speakers.</li>
 +
</ul></p>
 +
<p>For our Ideas page, please have a look at [4]. There you can find all information required to get you started working on Wesnoth.</p>
 +
<p>[1] http://www.wesnoth.org/wiki/WesnothPhilosophy<br />
 +
[2] http://www.linuxquestions.org/questions/linux-news-59/2009-linuxquestions.org-members-choice-award-winners-788028/<br />
 +
[3] http://www.linuxquestions.org/questions/2010-linuxquestions-org-members-choice-awards-93/open-source-game-of-the-year-855937/<br />
 +
[4] http://wiki.wesnoth.org/SummerOfCodeIdeas</p>
 +
</code>
 +
 
 +
==== Tags ====
 +
ai_development, ai, artificial_intelligence, lua, multiplayer, game_development, c++, game_engine, game, games, graphics, server, scripting, extensibility
 +
 
 +
==== Main license* ====
 +
GNU General Public License version 2.0 (GPLv2) [Dropdown box answer!]
 +
 
 +
==== Logo URL ====
 +
https://raw.github.com/wesnoth/wesnoth-old/master/icons/wesnoth-icon.png
 +
 
 +
==== Ideas list* ====
 +
http://wiki.wesnoth.org/SummerOfCodeIdeas
 +
 
 +
==== Mailing list ====
 +
wesnoth-dev@gna.org
 +
 
 +
==== Organization website* ====
 +
http://www.wesnoth.org/
 +
 
 +
==== IRC Channel ====
 +
#wesnoth-dev on irc.freenode.net
  
The game's general [http://www.wesnoth.org/wiki/WesnothPhilosophy philosophy] (both for gameplay and coding) emphases simplicity. The core rules are meant to be easily learned but also provide interesting gameplay and diverse strategies. Strength of the project is reflected in application of  Wesnoth Markup Language (WML), which provides a simple language to easily customize scenarios. It has created a significant modding community that has generated a considerable amount of user content.
+
==== Feed URL ====
 +
[left empty]
  
The first stable release (1.0) was on October 2 2005, with the latest  stable release (1.6) anticipated in the next few weeks. According to Ohloh, a site that collects activity statistics on open-source projects, the Wesnoth development effort is in the top 2% of largest and most active projects.
+
==== Google+ URL ====
 +
[left empty]
  
Wesnoth has grown substantially and is considered one of the largest open source games around.
+
==== Twitter URL ====
* two servers (stable and developement) with a usual minimum load of more than a hundred players
+
[left empty]
* more than two thousands downloads a day
 
* 3 million downloads via sourceforge.net, many more via various mirrors of Linux Distributions
 
* best rated game at the [http://www.happypenguin.org/list?sort=avg_rating linux game tome]
 
* game of the year 2007 and 2008 at [http://www.linuxquestions.org/questions/2007-linuxquestions.org-members-choice-awards-79/open-source-game-of-the-year-610236/ linuxquestions.org]
 
* One of the top 20 rated projects on [http://freshmeat.net/stats/#rating Freshmeat] (currently 14th highest rating, and the highest rated game).
 
  
Wesnoth's most notable features include;
+
==== Blog page ====
* A mature project, but with active development and many improvements
+
[left empty]
* High quality artwork: both graphics and music
 
* Very well­-balanced by a tireless team of playtesters
 
* Fun, unique gameplay
 
* Even after five years of development, and a very solid, fun product has been created, there are still plenty of new developers, and the number of commits to SVN is still increasing
 
* Strong support of internationalization with many supported languages and thus experience in working with not native English speakers (more than half of our developers are not native English speakers)
 
  
==== Why is your organization applying to participate in GSoC 2009? What do you hope to gain by participating?====
+
==== Facebook URL ====
 +
[left empty]
  
Most of our developers have particular areas of interest in which they work. Though they are efficient in their areas, there are other, presently uncovered, areas of the code with a need for improvements but a high barrier to entry for casual contributors.
+
==== Backup administrator* ====
 +
Ivanovic
  
If a student were dedicated to any of these uncovered areas, we believe that person could be brought up to speed relatively quickly and function as a peer of the existing developers.
+
==== Checkboxes ====
 +
===== Veteran organization =====
 +
Checked
  
By bringing new people in and allowing them to be actively responsible for an area of code, we hope to kickstart some areas of the project that have lagged behind
+
===== I hereby declare that the applying organization is not located in any of the countries which are not eligible to participate in the program: Iran, Syria, Cuba, Sudan, North Korea and Myanmar (Burma).* =====
 +
Checked
  
==== Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.====
 
Wesnoth participated in GSoC 2008 with four students. Out of these, two were great success (that is they became full-fledge developers before the actual start of GSoC), did huge improvement during GSoC (A new recruitment algorithm for the AI and the basic structure for a new level editor), and are still active developers in the Wesnoth community.
 
  
Of the two other, one of them was very active for the first half of GSoC and provided some useful infrastructure for AI development that we plan to use this year in GSoC, but was much less active and didn't reach expectations for the second half of GSoC. The lesson we learned is that great students should be left on their own, that's the best way to have them work, but average students should be monitored much more closely than we did. If things seems to start to go wrong, it's important to react very quick, to meet with other mentors and get things back on track early.
+
=== Second page of questions ===
  
Timezone problems were also a serious barrier for student/mentor communication, and we will take that more seriously into account when pairing mentors and students
+
==== Why is your organization applying to participate in Google Summer of Code 2014? What do you hope to gain by participating?* ====
 +
Most of our developers have particular areas of interest in which they work. Though they are efficient in their areas, there are other, presently uncovered, areas of the code with a need for improvements but a high barrier to entry for casual contributors. By bringing new people in and allowing them to be actively responsible for an area of code, we hope to kickstart work in these areas and others that are lagging behind. Our previous SoC experience shows that a motivated, full-time, student can be brought up to date in any area fairly quickly. Our previous experiences has shown us that SoC developers tend to stay after the end of the Summer of Code and become valuable members of our community. Finally, we feel that it is part of our mandate is to provide a platform for motivated contributors to develop their skills in a positive learning environment.
  
For our other students, multiple problems collectively led to failure
+
Overall GSOC has been a win for all parties and we want it to continue in the future.
* We should enforce IRC communication, E-mail is a barrier. This applies both for students and mentors. Both should be on IRC several hours a day, with a huge overlapping of the hours.
 
* We should be more strict about mid-term evaluation. If the student is slightly lacking at mid-term we should get the message clear that he needs to get back on track.
 
  
==== If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?====
+
==== How many potential mentors do you have for this year's program? What criteria did you use to select them?* ====
 +
This year 5 developers stepped up stating they would be willing to mentor. Not all of them will be able to handle a student singlehandedly, but applying some cooperation concepts we will make sure that our students never feel left alone.
  
We only applied and participated in GSoC 2008
+
Our first criterion for mentor selection was that all the people had to be volunteers. According to other open source projects and our experience from the last six years, being a SoC mentor takes a lot of time and the person has to be ready to spend quite some time with the student.
  
==== Who will your organization administrator be? Please include Google Account information.====
+
AI has been a long term contributor and developer who now wants to take responsibility for a student. He is one of our resident lua experts and also handles several tasks reaching over into automated testing and building.
Nils Kneuper (Ivanovic)
 
  
crazy.ivanovic |ATTT| googlemail.com
+
Iurii Chernyi (Crab) has joined the team in 2009, taking part in Google Summer of Code 2009, and staying with the project as a developer after successful completion of GSoC. He's an expert on all aspects of current Wesnoth AI codebase (having fully reorganized it as part of GSoC 2009), and has fixed numerous bugs all over Wesnoth. He was a GSoC mentor 2010, 2011 and 2012. In 2011 he was a GCI mentor and administrator. He is experienced in teaching other people, in areas like programming languages and math.
  
==== What license(s) does your project use?====
+
Mordante is one of the most active developers on our IRC channel. Not only has he done preliminary studies and coding in multiple areas that are candidates for Summer of Code ideas, he also is one of the coders with the best overview of the Wesnoth code. A large part of his work involves refactoring and polishing existing code. Next to that he's very active with fixing bugs which leads him to all areas in the code base. He is currently completing a rewrite of the Wesnoth GUI library, making all windows configurable through WML. This should make it easier to use Wesnoth on different resolutions, from small handheld devices to large 30 inch screens. Mordante has been a GSoC mentor for Wesnoth since 2008.
Our project is entirely GPL.
 
  
All code is GPL.
+
Thunderstruck was a student in GSoC 2013 and stayed around to improve the game. During our regular meeting at FOSDEM he stated that he will try to find time during the summer to help students work on the games backend. Based on his GSoC contribution he has become an expert in our engines internal workings reducing the differences between singleplayer and multiplayer content.
  
All art is GPL, 99% was made for the project, everything else was taken from content that was checked to be GPL.
+
Trademark is another of our GSoC 2013 students who intends to stay an active developer. He wants to push the development of our Add-On server to the next level introducing new concepts and ideas. One of these ideas is the move to C++11 and using some highly specialized libs to create a sound basis for one of the highlights Wesnoth features, the easy availability of user created content.
  
For more information on the licenses for the game and wiki, see [[Wesnoth:Copyrights]].
+
All other developers listed in the ideas page are the leading capacities we do have for the respecting areas. Have a look at our list of "people who to contact" [1] for an easy reference. In general all our developers will mentor all students. That is, questions should just be asked in our IRC channel, where basically every developer who has an idea can and will directly answer.
 +
 
 +
When choosing the mentors, we have kept in mind that most developers can answer most technical questions, and we have chosen people that are well known for interacting with new-comers/external developers and can provide general guidance and design advice, more than people with specific technical knowledge.
  
==== What is the URL for your ideas page?====
+
[3] http://wiki.wesnoth.org/SoC_People_to_bug_on_IRC
Our main summer of code page is located at http://www.wesnoth.org/wiki/SummerOfCodeIdeas
 
  
This page contains various coding ideas and the thought the development team has already given them.
+
==== What is your plan for dealing with disappearing students?* ====
 +
The first thing to do is to avoid this situation altogether. The key is identifying candidates with the right mix of skills and temperament. Wesnoth is a game, and as such has lots of developers that are not coders. In particular, artists are well known in the Wesnoth community for being very sensitive about criticism and our community is used to people being sensitive to critics.  
  
It also contains a list of the developers that are the most active on IRC and their domains of interest.
+
We try to choose students that accept criticism and are able to filter constructive criticism from useless one. The Wesnoth developer community is used to judging people according to these criteria and the special title we are going to give to applicants will allow us to easily spot any such problems and discuss them before they grow out of control.
  
==== What is the main development mailing list or forum for your organization?====
+
If a student disappears, their mentor are in charge of reconnecting the student to see what is going wrong (available time, tension with other developers, with members of the community etc...). Depending on the actual problem, the mentor and the student will have to agree on possible ways to resolve the problem.
Regarding development, the most important discussions are also posted on "wesnoth-dev&#x40;gna.org". Beside this some work happens at http://www.wesnoth.org/forum/. In particular, all art development takes place on the forum.
 
  
Most work and discussions take place in our (logged) IRC channel ''#wesnoth-dev''.
+
If a student disappears completely and there is no way to get back to them, there is little the project can do except salvaging whatever can be salvaged from the code (the students will have repository write access, so most of the work will be committed either to trunk or to a specific branch) and find a core developer to take on the job. This will probably be slower and less effective for the project, but it's the best we can do.
  
==== What is the main IRC channel for your organization?====
+
==== What is your plan for dealing with disappearing mentors?* ====
 +
Most of our mentors are long time developers that volunteered for the job, so we don't expect that to happen. We observed in during the last years the amount of time required to mentor, and our mentors accepted the job knowing the amount of work it involved. Most of this years mentors mentored last year as well, most have contributed since 2008, or been organizational admins.
  
All our IRC channels are on the ''freenode'' network
+
However, should it happen, we would continue to mentor as a developer community the student until we find a new "official" mentor to take on the job.
  
* ''#wesnoth-dev'' is the main development channel, where most discussion takes place and students are required to be in regularly if accepted in our org for SoC
+
==== What steps will you take to encourage students to interact with your project's community before and during the program?* ====
* ''#wesnoth'' is a generic channel for the community
+
Wesnoth has a particularly healthy community, both for developers and for players.
* ''#wesnoth-mp'' is a separate channel for multiplayer games and balancing
 
  
==== Does your organization have an application template you would like to see students use? If so, please provide it now.====
+
Our general policy regarding new coders has always been "two (non trival) patches... you're in". With other words, anybody that is able to get two non-trivial patches applied is offered commit privileges.
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
+
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 [1] (these projects are usually a couple of hours long and hve been chosen to provide easy access to the respective area of code). This year, we also have added some simple coding tasks directly related to our GSoC ideas to be able to test students more specifically on their future project
  
* Basics
+
Usually, patches go back and forth a couple of times, to make sure that all secondary things are in place (indenting, coding style, modified buildfiles 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 keep our project alive.
** Write a small introduction to yourself.
 
** State your preferred email address.
 
** If you have chosen a nick for IRC and Wesnoth forums, what is it?
 
** Why do you want to participate in summer of code?
 
** What are you studying, subject, level and school?
 
  
* Experience
+
If the student is proactive and ready to join IRC, all the developers are usually very welcoming, and good at directing newcomers to quickly give useful results.
** What programs/software have you worked on before?
 
** Have you developed software in a team environment before? (As opposed to hacking on something on your own)
 
** Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?
 
** What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).
 
** Open Source
 
*** Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.
 
** Gaming experience
 
*** Are you a gamer?  If so...
 
*** What type of gamer are you?
 
*** What type of games?
 
*** What type of opponents do you prefer?
 
*** Are you more interested in story or gameplay?
 
*** Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.
 
  
We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.
+
In previous years, all students that were accepted (and a couple more) managed to have commit access before the start of the coding phase. We consider that this policy was successful and we plan to keep it this year.
 +
 
 +
We also plan to give a special forum title to any students. This will allow all forum members to tell them apart from normal users and give them read/write access to the developer only forums. This will also allow us to quickly spot any problem they might have interacting with the player community. We have a very mature developer community, but our player community is made of all sort of people of all age and education, and it can sometimes be rough.
 +
 
 +
Last, our experience from previous years is that students that participate in the community during the evaluation period will stay active in the community after that period. In previous years this has been a discriminating criterias for students of similar level, and overall we never had problems of students working "behind a black wall." Our selection process tend to favor students who participate, and participation hasn't been a problem so far.
 +
 
 +
[1] http://wiki.wesnoth.org/EasyCoding
 +
 
 +
==== What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes?* ====
 +
The steps meant to involve the students in the community are the same steps we use to make it easy and rewarding to stay with the community even after Summer of Code is over. We really try to make students feel part of the community, particularly as equal developers, rather than just students working a summer job. This, we think, make them feel empowered, and want to remain an important part of the community.
 +
 
 +
==== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ====
 +
[left empty]
 +
 
 +
==== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ====
 +
[left empty]
 +
 
 +
Since 2008 we have participated in 5 years of GSOC, with good results. With the exception of our first year, we pass approximately 75% of our students, and usually get some really interesting code from them.
 +
 
 +
2008 results: Wesnoth participated in GSoC 2008 with four students. Out of these, two were great successes (that is they became full-fledge developers before the actual start of GSoC), did huge improvement during GSoC (A new recruitment algorithm for the AI and the basic structure for a new map editor, the student finished this work after the summer), and are still active developers in the Wesnoth community, even after 5 years. Two others eventually failed, but we learned from them that while great students should be left on their own, average students should be monitored much more closely than we did. If things seems to start to go wrong, it's important to react very quick, to meet with other mentors and get things back on track early.
 +
Timezone problems were also a serious barrier for student/mentor communication, and we will take that more into account when pairing mentors and students.
 +
For our other students, multiple problems collectively led to failure:
 +
We should enforce IRC communication, E-mail is a barrier. This applies both for students and mentors. Both should be on IRC several hours a day, with overlapping hours.
 +
We should be more strict about mid-term evaluation. If the student is slightly lacking at mid-term we should give a clear message that he needs to get back on track.
 +
2009 results: In 2009 we mentored 6 students as part of Summer of Code. Out of these 5 projects were a success. From those 5 developers 3 are still part of our core development group and still maintain and improve the work they submitted as part of Summer of Code. One of the students even became the "head" of our AI development department and mentored a student this year. For a summary of the 2009 results have a look at [1].
 +
2010 results: In 2010 we mentored 4 students as part of Summer of Code, all the projects were a success. from those 4 developers, 1 is still part of our code development team and maintains the work he has done as part of Summer of Code.
 +
2011 results: In 2011 we mentored 5 students, with four of those successfully completed their projects. Some continued the work polishing their projects a little further even after GSoC, one continues to actively polish his work and just released a new version of his WML Editor.
 +
2012 results: In 2012 we mentored five students with four of them completing their project successfully. Most were from a set list of ideas provided by the project, which were aimed at fixing or updating parts of the code that never seemed to get fixed.
 +
2013 results: In 2013 we mentored three students, all of them completing their project successfully. The projects centered around unification of singleplayer and multiplayer content, work on recreating the add-on server as well as improvements for our AI to ensure units are recruited smartly.
 +
2014 results: We had three passes, which included a very difficult improvement of AI programming, and moderately difficult SDL2 transition and unifying single and multiplayer code paths. Our failures was a sprite sheet programming and improving the user made content daemon. These two failures showed similar difficulties, where the deliverables were not met according to deadlines, despite very good initial discussions.
 +
 
 +
[1] http://forums.wesnoth.org/viewtopic.php?f=5&t=26955
 +
 
 +
2008: 2/4 2009: 5/6 2010: 4/4 2011: 4/5 2012: 4/5 2013: 3/3 2015: 3/5
 +
 
 +
==== If you are a new organization, have you applied in the past? If so, for what year(s)? ====
 +
[left empty]
 +
 
 +
==== Is there anything else we should know or you'd like to tell us that doesn't fit anywhere else on the application? ====
 +
[left empty]
 +
 
 +
=== Old questions and answers ===
 +
 
 +
== Application template ==
 +
This template is no longer asked for during the initial application. Listing it here so that we can still reference it later on.
 +
 
 +
==== Does your organization have an application template you would like to see students use? ====
 +
 
 +
Students wishing to participate in GSoC should copy the questions below to a new page and fill it with the answers.
 +
 
 +
Please note that we generally plan to meet potential students through our IRC channel. So beside just answering these questions, potential candidates consider visiting us in IRC: #wesnoth-dev on irc.freenode.net. This is where most of our work takes place and participating in IRC is mandatory for GSoC students participating with Wesnoth. Our experience is that this is the easiest way to communicate and solve problems that come up.
 +
 
 +
1) Basics
 +
 
 +
1.1) Write a small introduction to yourself.
 +
 
 +
1.2) State your preferred email address.
  
* Communication skills
+
1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?
** Though most of our developers are not native English speakers, English is the project's working language.  Describe your fluency level in written English.
 
** Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.
 
** Do you give constructive advice?
 
** Do you receive advice well?
 
** Are you good at sorting useful criticisms from useless ones?
 
  
* Project
+
1.4) Why do you want to participate in summer of code?
** Did you select a project from our list? If that is the case, what project did you select?
 
** If you have invented your own project, please describe the project and the scope.
 
** Why did you choose this project?
 
** Include an estimated timeline for your work on the project
 
** Include as much technical detail about your implementation as you can
 
** What do you expect to gain from this project?
 
** What would make you stay in the Wesnoth community after the conclusion of SOC?  
 
  
* Practical considerations
+
1.5) What are you studying, subject, level and school?  
** Are you familiar with any of the following tools?
 
*** Subversion (used for all commits)
 
*** C++ (language used for all the normal source code)
 
*** Python (optional, mainly used for tools)
 
*** build environments (eg cmake/autotools/scons)
 
** Which tools do you normally use for development? Why do you use them?
 
** What programming languages are you fluent in?
 
** What spoken languages are you fluent in?
 
** At what hours are you awake and when will you be able to be in IRC (please specify in UTC)
 
** Would you mind talking with your mentor on telephone / internet phone?  
 
  
* Detailed answer (optional, but writing skill is a good predictor of ability to work on a programming team, so you will improve your chances by responding to this).
+
1.6) What country are you from, at what time are you most likely to be able to join IRC?
** Write a small essay (750-1000 words or more) explaining why you want to participate in a Wesnoth GSoC project. You can use the above questions as guides, but feel free to throw in more information if you feel it is relevant.
 
** What is your perception of 'open source'? Briefly explain what you think of the whole 'open source' concept, how you discovered open source, what you expect to gain/experience by participating in an open-source project. (Answer separately or as part of above mini-essay)
 
** What motivates or inspires you to write programs and develop software?  
 
  
 +
1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.
  
  
 +
2) Experience
  
 +
2.1) What programs/software have you worked on before?
  
''''to be completed''''
+
2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)
  
==== Who will be your backup organization administrator? Please include Google Account information.====
+
2.3) Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?
David White (davewx7@gmail.com) -- Link ID: sirp
 
  
==== Who will your mentors be? Please include Google Account information.====
+
2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.
  
David White (davewx7@gmail.com)
+
2.5) Gaming experience - Are you a gamer?
  
Jeremy Rosen alias Boucman (boucman2|ATTT|gmail.com)
+
2.5.1) What type of gamer are you?
  
Mark de Wever aka Mordante (mordante.wesnoth|ATTT|gmail.com)
+
2.5.2) What type of games?
  
Jörg Hinrichs alias YogiHH (joerghh.hinrichs|ATTT|googlemail.com)
+
2.5.3) What type of opponents do you prefer?
  
Patrick Parker a.k.a. "Sapient" (patrick.x99|ATTT|gmail.com)
+
2.5.4) Are you more interested in story or gameplay?
  
==== What criteria did you use to select these individuals as mentors? Please be as specific as possible.====
+
2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.
  
Our first criterion was that all the people had to be volunteers. According to other open source projects, being a SoC mentor takes a lot of time and the person has to be ready to spend quite some time with the student.
+
We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.
  
Dave is the project leader and one of the most knowledgeable in C++. He has also written the Formula AI code which we plan to develop via the SoC. He is well known in our community for formulating simple but effective explanations for complicated topics, and has good design intuition. The growth of Wesnoth demonstrates his capacity to get other developers to work together and keep them involved in a thriving community.
+
2.6) If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our repository (during the evaluation period or earlier) please state so.
  
Boucman is one of the oldest active developers around. He has rewritten the whole animation engine and made it an easily pluggable system allowing artists to easily specify exactly how they want the units to appear. He also started many community oriented projects like the [http://wiki.wesnoth.org/UnsortedContrib Art Contribution] section of the wiki (now automated) and the [http://wiki.wesnoth.org/ReferenceWML WML Reference Manual]. He is responsible for dispatching and sorting the patches at http://patches.wesnoth.org and has created the new developer process we currently use.
 
  
Mordante is one of the most active developers on our IRC channel. Not only has he done preliminary studies and coding in multiple areas that are candidates for Summer of Code ideas, he also is one of the coders with the best overview of the Wesnoth code. A large part of his work involves refactoring polishing existing code. Next to that he's very active with fixing bugs which leads him to all areas in the code base.
+
3) Communication skills
  
YogiHH has been with the project for more than two years. He did a major refactoring to the gameplay engine and worked quite a bit on the multiplayer code. He also has been a professional trainer for C/C++, Java and C# for many years. Right now he works in a project where he serves as a mentor for a junior developer.
+
3.1) Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.
  
All other developers listed in the ideas page are the leading capacities we do have for the respecting areas. Have a look at our list of people who to contact for which regards. In general all our developers will mentor all students. That is, questions should just be asked in our IRC channel, where basically every developer who has an idea can directly answer.
+
3.2) What spoken languages are you fluent in?
  
When choosing the mentors, we have kept in mind that most developers can answer most technical questions, and we have chosen people that are well known for interacting with new-comers/external developers and can provide general guidance and design advice, more than people with specific technical knowledge.
 
  
==== What is your plan for dealing with disappearing students?====
+
3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.
The first thing to do is to avoid this situation altogether.  
 
  
Wesnoth is a game, and as such has lots of developers that are not coders. In particular, artists are well known in the Wesnoth community for being very sensible about criticism and our community is used to people being sensible to critics.  
+
3.4) Do you give constructive advice?
  
We will try to choose students that accept criticism and are able to filter constructive criticism from useless one. The Wesnoth developer community is used to judging people according to these criteria and the special title we are going to give to applicants will allow us to easily spot any such problems and discuss them before they grow out of control.
+
3.5) Do you receive advice well?
  
If a student disappears, his mentor will be in charge of recontacting him to see what is going wrong (available time, tension with other developers, with members of the community etc...). Depending on the actual problem, the mentor and the student will have to agree on possible ways to defuse the problem.
+
3.6) Are you good at sorting useful criticisms from useless ones?
  
If a student disappears completely and there is no way to get back to him, there is little the project can do except salvaging whatever can be salvaged from the code (the students will have SVN write access, so most of the work will be committed either to trunk or to a specific branch) and find a core developer to take on the job. This will probably be slower and less effective for the project, but it's the best we can do.
+
3.7) How autonomous are you when developing ? Would you rather discuss intensively changes and not start coding until you know what you want to do or would you rather code a proof of concept to "see how it turn out", taking the risk of having it thrown away if it doesn't match what the project want
  
==== What is your plan for dealing with disappearing mentors?====
 
  
All our mentors are long time developers that volunteered for the job, so we don't expect that to happen. We took the time to ask other former GSoC projects about the workload needed to be a mentor, and our mentors accepted the job knowing the amount of work it involved.
+
4) Project
  
However, should it happen, we would continue to mentor as a developer community the student until we find a new "official" mentor to take on the job.
+
4.1) Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?
  
==== What steps will you take to encourage students to interact with your project's community before, during and after the program?====
+
4.2) If you have invented your own project, please describe the project and the scope.
  
Wesnoth has a particularly healthy community, both for developers and for players.  
+
4.3) Why did you choose this project?
  
Our general policy regarding new coders has always been "two patch... you're in" In other word, anybody that is able to get two non-trivial patches applied is offered commit privileges.
+
4.4) Include an estimated timeline for your work on the project. Don't forget to mention special things like "I booked holidays between A and B" and "I got an exam at ABC and won't be doing much then".
  
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)
+
4.5) Include as much technical detail about your implementation as you can
  
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.
+
4.6) What do you expect to gain from this project?
  
If the student is proactive and ready to join IRC, all the developers are usually very welcoming, and good at directing newcomers to quickly give useful results.
+
4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?
  
We also plan to give a special forum title to any students. This will allow all forum members to tell them apart from normal users and give them read/write access to the developer only forums. This will also allow us to quickly spot any problem they might have interacting with the player community. We have a very mature developer community, but our player community is made of all sort of people of all age and education, and it can be rough at time.
 
  
==== What will you do to ensure that your accepted students stick with the project after GSoC concludes?====
+
5) Practical considerations
  
Since our community has a history of having developers easily and quickly join, we expect the student to be a full-fledged developer quite fast (probably a little after the end of the bonding period).
+
5.1) Are you familiar with any of the following tools or languages?
 +
* Git (used for all commits)
 +
* C++ (language used for all the normal source code)
 +
* STL, Boost, Sdl (C++ libraries used by Wesnoth)
 +
* Python (optional, mainly used for tools)
 +
* build environments (eg cmake/scons)
 +
* WML (the wesnoth specific scenario language)
 +
* Lua (used in combination with WML to create scenarios)
  
Thus there will be no "end of GSoC" transition. At the end of the Summer of code we expect the student to be responsible for the part he developed, and to continue taking care of it, just as other developers are responsible for their part.
+
5.2) Which tools do you normally use for development? Why do you use them?
  
 +
5.3) What programming languages are you fluent in?
  
== See also ==
+
5.4) Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of "there is no way to contact you" does arise!
[[SummerOfCodeIdeas|Summer of Code Ideas]] - The root where all information regarding SoC is (or better should be) linked from.
 
  
[[Category:Summer of Code]]
+
In general, students should be as verbose as possible in their answers and feel free to elaborate.

Latest revision as of 19:14, 20 February 2015

Template:SoC2015

Contents

SoC Information for Google

This is the information that we submit to google as Application in Summer of Code (current status: 2015). The submitter automatically becomes primary Admin. Most entries are mandatory and have to be filled out before the application can be submitted.

First page of questions

Organization id*

wesnoth

Organization Name*

Battle for Wesnoth

Description*

Battle for Wesnoth, or simply Wesnoth, is a Free, turn-based strategy game with a high-fantasy theme that was designed in June 2003 by David White (Sirp).

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

The first stable release (1.0) was on October 2, 2005, and the latest stable release (1.10.7) happened in August 2013. Version 1.10 was released in January 2012, while the current development branch is at version 1.11.9, released at the beginning of February 2014. We are currently working towards another stable release which should be out in Q2 2014.

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

  • We support two multiplayer game servers (stable and development) with a usual minimum load of more than a hundred players
  • More than a thousand downloads a day
  • more than 6 million downloads via SourceForge; many more via various mirrors of Linux distributions
  • Game of the year 2007, 2008, 2009, 2010, 2011 and 2012 at LinuxQuestions.org[2][3]
  • In general, Wesnoth tends to show up in the first or second position whenever anyone compiles a list of top open-source games

Wesnoth's most notable features include:

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

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

[1] http://www.wesnoth.org/wiki/WesnothPhilosophy
[2] http://www.linuxquestions.org/questions/linux-news-59/2009-linuxquestions.org-members-choice-award-winners-788028/
[3] http://www.linuxquestions.org/questions/2010-linuxquestions-org-members-choice-awards-93/open-source-game-of-the-year-855937/
[4] http://wiki.wesnoth.org/SummerOfCodeIdeas

Tags

ai_development, ai, artificial_intelligence, lua, multiplayer, game_development, c++, game_engine, game, games, graphics, server, scripting, extensibility

Main license*

GNU General Public License version 2.0 (GPLv2) [Dropdown box answer!]

Logo URL

wesnoth-icon.png

Ideas list*

http://wiki.wesnoth.org/SummerOfCodeIdeas

Mailing list

wesnoth-dev@gna.org

Organization website*

http://www.wesnoth.org/

IRC Channel

#wesnoth-dev on irc.freenode.net

Feed URL

[left empty]

Google+ URL

[left empty]

Twitter URL

[left empty]

Blog page

[left empty]

Facebook URL

[left empty]

Backup administrator*

Ivanovic

Checkboxes

Veteran organization

Checked

I hereby declare that the applying organization is not located in any of the countries which are not eligible to participate in the program: Iran, Syria, Cuba, Sudan, North Korea and Myanmar (Burma).*

Checked


Second page of questions

Why is your organization applying to participate in Google Summer of Code 2014? What do you hope to gain by participating?*

Most of our developers have particular areas of interest in which they work. Though they are efficient in their areas, there are other, presently uncovered, areas of the code with a need for improvements but a high barrier to entry for casual contributors. By bringing new people in and allowing them to be actively responsible for an area of code, we hope to kickstart work in these areas and others that are lagging behind. Our previous SoC experience shows that a motivated, full-time, student can be brought up to date in any area fairly quickly. Our previous experiences has shown us that SoC developers tend to stay after the end of the Summer of Code and become valuable members of our community. Finally, we feel that it is part of our mandate is to provide a platform for motivated contributors to develop their skills in a positive learning environment.

Overall GSOC has been a win for all parties and we want it to continue in the future.

How many potential mentors do you have for this year's program? What criteria did you use to select them?*

This year 5 developers stepped up stating they would be willing to mentor. Not all of them will be able to handle a student singlehandedly, but applying some cooperation concepts we will make sure that our students never feel left alone.

Our first criterion for mentor selection was that all the people had to be volunteers. According to other open source projects and our experience from the last six years, being a SoC mentor takes a lot of time and the person has to be ready to spend quite some time with the student.

AI has been a long term contributor and developer who now wants to take responsibility for a student. He is one of our resident lua experts and also handles several tasks reaching over into automated testing and building.

Iurii Chernyi (Crab) has joined the team in 2009, taking part in Google Summer of Code 2009, and staying with the project as a developer after successful completion of GSoC. He's an expert on all aspects of current Wesnoth AI codebase (having fully reorganized it as part of GSoC 2009), and has fixed numerous bugs all over Wesnoth. He was a GSoC mentor 2010, 2011 and 2012. In 2011 he was a GCI mentor and administrator. He is experienced in teaching other people, in areas like programming languages and math.

Mordante is one of the most active developers on our IRC channel. Not only has he done preliminary studies and coding in multiple areas that are candidates for Summer of Code ideas, he also is one of the coders with the best overview of the Wesnoth code. A large part of his work involves refactoring and polishing existing code. Next to that he's very active with fixing bugs which leads him to all areas in the code base. He is currently completing a rewrite of the Wesnoth GUI library, making all windows configurable through WML. This should make it easier to use Wesnoth on different resolutions, from small handheld devices to large 30 inch screens. Mordante has been a GSoC mentor for Wesnoth since 2008.

Thunderstruck was a student in GSoC 2013 and stayed around to improve the game. During our regular meeting at FOSDEM he stated that he will try to find time during the summer to help students work on the games backend. Based on his GSoC contribution he has become an expert in our engines internal workings reducing the differences between singleplayer and multiplayer content.

Trademark is another of our GSoC 2013 students who intends to stay an active developer. He wants to push the development of our Add-On server to the next level introducing new concepts and ideas. One of these ideas is the move to C++11 and using some highly specialized libs to create a sound basis for one of the highlights Wesnoth features, the easy availability of user created content.

All other developers listed in the ideas page are the leading capacities we do have for the respecting areas. Have a look at our list of "people who to contact" [1] for an easy reference. In general all our developers will mentor all students. That is, questions should just be asked in our IRC channel, where basically every developer who has an idea can and will directly answer.

When choosing the mentors, we have kept in mind that most developers can answer most technical questions, and we have chosen people that are well known for interacting with new-comers/external developers and can provide general guidance and design advice, more than people with specific technical knowledge.

[3] http://wiki.wesnoth.org/SoC_People_to_bug_on_IRC

What is your plan for dealing with disappearing students?*

The first thing to do is to avoid this situation altogether. The key is identifying candidates with the right mix of skills and temperament. Wesnoth is a game, and as such has lots of developers that are not coders. In particular, artists are well known in the Wesnoth community for being very sensitive about criticism and our community is used to people being sensitive to critics.

We try to choose students that accept criticism and are able to filter constructive criticism from useless one. The Wesnoth developer community is used to judging people according to these criteria and the special title we are going to give to applicants will allow us to easily spot any such problems and discuss them before they grow out of control.

If a student disappears, their mentor are in charge of reconnecting the student to see what is going wrong (available time, tension with other developers, with members of the community etc...). Depending on the actual problem, the mentor and the student will have to agree on possible ways to resolve the problem.

If a student disappears completely and there is no way to get back to them, there is little the project can do except salvaging whatever can be salvaged from the code (the students will have repository write access, so most of the work will be committed either to trunk or to a specific branch) and find a core developer to take on the job. This will probably be slower and less effective for the project, but it's the best we can do.

What is your plan for dealing with disappearing mentors?*

Most of our mentors are long time developers that volunteered for the job, so we don't expect that to happen. We observed in during the last years the amount of time required to mentor, and our mentors accepted the job knowing the amount of work it involved. Most of this years mentors mentored last year as well, most have contributed since 2008, or been organizational admins.

However, should it happen, we would continue to mentor as a developer community the student until we find a new "official" mentor to take on the job.

What steps will you take to encourage students to interact with your project's community before and during the program?*

Wesnoth has a particularly healthy community, both for developers and for players.

Our general policy regarding new coders has always been "two (non trival) patches... you're in". With other words, anybody that is able to get two non-trivial patches applied is offered commit privileges. 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 [1] (these projects are usually a couple of hours long and hve been chosen to provide easy access to the respective area of code). This year, we also have added some simple coding tasks directly related to our GSoC ideas to be able to test students more specifically on their future project

Usually, patches go back and forth a couple of times, to make sure that all secondary things are in place (indenting, coding style, modified buildfiles 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 keep our project alive.

If the student is proactive and ready to join IRC, all the developers are usually very welcoming, and good at directing newcomers to quickly give useful results.

In previous years, all students that were accepted (and a couple more) managed to have commit access before the start of the coding phase. We consider that this policy was successful and we plan to keep it this year.

We also plan to give a special forum title to any students. This will allow all forum members to tell them apart from normal users and give them read/write access to the developer only forums. This will also allow us to quickly spot any problem they might have interacting with the player community. We have a very mature developer community, but our player community is made of all sort of people of all age and education, and it can sometimes be rough.

Last, our experience from previous years is that students that participate in the community during the evaluation period will stay active in the community after that period. In previous years this has been a discriminating criterias for students of similar level, and overall we never had problems of students working "behind a black wall." Our selection process tend to favor students who participate, and participation hasn't been a problem so far.

[1] http://wiki.wesnoth.org/EasyCoding

What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes?*

The steps meant to involve the students in the community are the same steps we use to make it easy and rewarding to stay with the community even after Summer of Code is over. We really try to make students feel part of the community, particularly as equal developers, rather than just students working a summer job. This, we think, make them feel empowered, and want to remain an important part of the community.

Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.

[left empty]

Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here.

[left empty]

Since 2008 we have participated in 5 years of GSOC, with good results. With the exception of our first year, we pass approximately 75% of our students, and usually get some really interesting code from them.

2008 results: Wesnoth participated in GSoC 2008 with four students. Out of these, two were great successes (that is they became full-fledge developers before the actual start of GSoC), did huge improvement during GSoC (A new recruitment algorithm for the AI and the basic structure for a new map editor, the student finished this work after the summer), and are still active developers in the Wesnoth community, even after 5 years. Two others eventually failed, but we learned from them that while great students should be left on their own, average students should be monitored much more closely than we did. If things seems to start to go wrong, it's important to react very quick, to meet with other mentors and get things back on track early. Timezone problems were also a serious barrier for student/mentor communication, and we will take that more into account when pairing mentors and students. For our other students, multiple problems collectively led to failure: We should enforce IRC communication, E-mail is a barrier. This applies both for students and mentors. Both should be on IRC several hours a day, with overlapping hours. We should be more strict about mid-term evaluation. If the student is slightly lacking at mid-term we should give a clear message that he needs to get back on track. 2009 results: In 2009 we mentored 6 students as part of Summer of Code. Out of these 5 projects were a success. From those 5 developers 3 are still part of our core development group and still maintain and improve the work they submitted as part of Summer of Code. One of the students even became the "head" of our AI development department and mentored a student this year. For a summary of the 2009 results have a look at [1]. 2010 results: In 2010 we mentored 4 students as part of Summer of Code, all the projects were a success. from those 4 developers, 1 is still part of our code development team and maintains the work he has done as part of Summer of Code. 2011 results: In 2011 we mentored 5 students, with four of those successfully completed their projects. Some continued the work polishing their projects a little further even after GSoC, one continues to actively polish his work and just released a new version of his WML Editor. 2012 results: In 2012 we mentored five students with four of them completing their project successfully. Most were from a set list of ideas provided by the project, which were aimed at fixing or updating parts of the code that never seemed to get fixed. 2013 results: In 2013 we mentored three students, all of them completing their project successfully. The projects centered around unification of singleplayer and multiplayer content, work on recreating the add-on server as well as improvements for our AI to ensure units are recruited smartly. 2014 results: We had three passes, which included a very difficult improvement of AI programming, and moderately difficult SDL2 transition and unifying single and multiplayer code paths. Our failures was a sprite sheet programming and improving the user made content daemon. These two failures showed similar difficulties, where the deliverables were not met according to deadlines, despite very good initial discussions.

[1] http://forums.wesnoth.org/viewtopic.php?f=5&t=26955

2008: 2/4 2009: 5/6 2010: 4/4 2011: 4/5 2012: 4/5 2013: 3/3 2015: 3/5

If you are a new organization, have you applied in the past? If so, for what year(s)?

[left empty]

Is there anything else we should know or you'd like to tell us that doesn't fit anywhere else on the application?

[left empty]

Old questions and answers

Application template

This template is no longer asked for during the initial application. Listing it here so that we can still reference it later on.

Does your organization have an application template you would like to see students use?

Students wishing to participate in GSoC should copy the questions below to a new page and fill it with the answers.

Please note that we generally plan to meet potential students through our IRC channel. So beside just answering these questions, potential candidates consider visiting us in IRC: #wesnoth-dev on irc.freenode.net. This is where most of our work takes place and participating in IRC is mandatory for GSoC students participating with Wesnoth. Our experience is that this is the easiest way to communicate and solve problems that come up.

1) Basics

1.1) Write a small introduction to yourself.

1.2) State your preferred email address.

1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?

1.4) Why do you want to participate in summer of code?

1.5) What are you studying, subject, level and school?

1.6) What country are you from, at what time are you most likely to be able to join IRC?

1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.


2) Experience

2.1) What programs/software have you worked on before?

2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)

2.3) Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?

2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.

2.5) Gaming experience - Are you a gamer?

2.5.1) What type of gamer are you?

2.5.2) What type of games?

2.5.3) What type of opponents do you prefer?

2.5.4) Are you more interested in story or gameplay?

2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.

We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.

2.6) If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our repository (during the evaluation period or earlier) please state so.


3) Communication skills

3.1) Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.

3.2) What spoken languages are you fluent in?


3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.

3.4) Do you give constructive advice?

3.5) Do you receive advice well?

3.6) Are you good at sorting useful criticisms from useless ones?

3.7) How autonomous are you when developing ? Would you rather discuss intensively changes and not start coding until you know what you want to do or would you rather code a proof of concept to "see how it turn out", taking the risk of having it thrown away if it doesn't match what the project want


4) Project

4.1) Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?

4.2) If you have invented your own project, please describe the project and the scope.

4.3) Why did you choose this project?

4.4) Include an estimated timeline for your work on the project. Don't forget to mention special things like "I booked holidays between A and B" and "I got an exam at ABC and won't be doing much then".

4.5) Include as much technical detail about your implementation as you can

4.6) What do you expect to gain from this project?

4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?


5) Practical considerations

5.1) Are you familiar with any of the following tools or languages?

  • Git (used for all commits)
  • C++ (language used for all the normal source code)
  • STL, Boost, Sdl (C++ libraries used by Wesnoth)
  • Python (optional, mainly used for tools)
  • build environments (eg cmake/scons)
  • WML (the wesnoth specific scenario language)
  • Lua (used in combination with WML to create scenarios)

5.2) Which tools do you normally use for development? Why do you use them?

5.3) What programming languages are you fluent in?

5.4) Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of "there is no way to contact you" does arise!

In general, students should be as verbose as possible in their answers and feel free to elaborate.

This page was last edited on 20 February 2015, at 19:14.