SummerOfCodeIdeas
This is a compilation of ideas from ML. Needs to be refined (more detailed description, deliverables, workload estimation?):
Contents
- 1 I want to be one of your Google Summer of Code students, what should I do...
- 2 List of Ideas for the Project (Suggestions from the wesnoth developers)
- 3 Information about our Project
- 4 People to bug on IRC
- 4.1 boucman
- 4.2 Dave alias Sirp
- 4.3 Elias Pscherning (elias)
- 4.4 Eric S. Raymond (ESR)
- 4.5 Karol Nowak (grzywacz)
- 4.6 Mordante
- 4.7 Nils Kneuper (Ivanovic)
- 4.8 Noy
- 4.9 Noyga
- 4.10 Sapient
- 4.11 Shadow Master/ShikadiLord
- 4.12 Soliton
- 4.13 YogiHH or Piotr Cychowski (cycholka)
- 4.14 zookeeper or Mythological or Rhuvaen
- 5 GSoC Student Applicant Ideas
I want to be one of your Google Summer of Code students, what should I do...
Here is a quick list of things to do to get you started
- Create an account on gna.org
- Create an account on the wesnoth forum
- Join the irc channel (#wesnoth-dev on irc.freenode.net) and introduce yourself. We will not give formal interviews, but we will clearly favor people we have learnt to know during the selection process
- Contact one of our SummerOfCode people (Ivanovic, Sirp, Boucman, Mordante) to have your forum nick marked as a Summer of code student
- Start a wiki page about your idea, add a link on this page
- Fill the questionnaire on this page
- Detail your idea as much as possible, look at other students pages, and please give milestones and studies you've done
- Though not mandatory, it is highly advisable to go to the EasyCoding and NotSoEasyCoding pages and implement one of these ideas (or any idea of similar scope) so we have an idea how you work. Be sure to use your gna account when submitting these patches so we know who it is coming from. You can also implement some features from our feature request database at gna.
List of Ideas for the Project (Suggestions from the wesnoth developers)
Here is only a short description of possible Ideas we have, each has a page of its own with a more detailed version on it.
Writing an AI based on the formula AI
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: FormulaAI
The Wesnoth AI is used as an opponent in most campaigns, and as such is an important piece of code for the Wesnoth project. Unfortunately, because the skills required to understand and modify it are rather arcane, it is also one of the most neglected parts of the Wesnoth code. This is a place where a lot of research and useful work could be done.
SoC_Ideas_FormulaAI - Full version of the idea, with detailed information
Extending the Multiplayer server
Our multiplayer community is generally strong and healthy, but we believe its growth is limited by some problems in the interface of the multiplayer lobby.
SoC_Ideas_Multiplayer_server - Full version of the idea, with detailed information
Scenario/Campaign editor
Currently, in order to create campaign or multiplayer scenarios, it is necessary to manually edit WML files - XML-like configuration files. The goal of this project would be to create a graphical editor to make the creative process easier.
SoC_Ideas_Scenario_and_Campaign_Editor - Full version of the idea, with detailed information
Addon server
Wesnoth has an addon server which offers users to upload user made content (UMC). This allows all other users of Wesnoth to easily download and install this content. The server was originally written for user-made campaigns but contains a lot more types of addons nowadays. Both the server side and the client side need to be improved.
SoC_Ideas_Addon_Server - Full version of the idea, with detailed information
Map editor
The map editor in Wesnoth serves two goals, making it easy to create a new map and helping the terrain artists to test their new terrains.
SoC_Ideas_Map_Editor - Full version of the idea, with detailed information
Make your own ideas
If you have your own idea the best thing is to join IRC wesnoth-dev at irc.freenode.net and discuss the idea with the developers there. If the developers think your idea is interesting and like the feature you can start to turn it into a full proposal. Once done discuss it again on IRC so the developers can accept your idea.
Other ideas to be fleshed out
- A MapGenerator rewrite - better scalable for outdoor maps, plus the possibility to define areas (similar to the caverns in the cave generator) etc.
Information about our Project
The information we provided google with about our project can be looked up at the site SoC Information for Google.
People to bug on IRC
Everybody feel free to edit/correct his entry!
boucman
As our "patch monkey" 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 "two patches, you're in" policy and the ReferenceWML part of the project.
Dave alias Sirp
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.
Elias Pscherning (elias)
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.
Eric S. Raymond (ESR)
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.
Karol Nowak (grzywacz)
Last year he participated at GSoC as a student, so he will understand the situation of GSoC students. Beside this he is our top expert on embedded devices, and is actively working on the gp2x support.
Mordante
Many of the possible projects involve the code for which he is an area expert. Also, many of the possible projects currently listed on the ideas page require GUI parts to work. Given that Mordante wants to tackle a rewrite of large parts of this, he will be our expert there as well as already being our area expert for the terrain engine.
Nils Kneuper (Ivanovic)
He is doing nothing special, he just does some "administrative work" 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.
Noy
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.
Noyga
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.
Sapient
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.
Shadow Master/ShikadiLord
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.
Soliton
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.
YogiHH or Piotr Cychowski (cycholka)
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.
zookeeper or Mythological or Rhuvaen
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.
GSoC Student Applicant Ideas
FormulaAIandDynamicScripting (barbarianhero)
This project idea uses Formula AI and Dynamic Scripting to create a tunable and adaptive AI.
FormulaAIStancesSearchandEvaluation (andrewbwm)
This project implements Unit Behavioral Stances that are determinet by Search & Evaluation algorithms to determine a flexibile AI.