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
- 5 GSoC Student Applicant Ideas
- 5.1 Formula AI
- 5.1.1 FormulaAIandAdaptation (Alesis-Novik)
- 5.1.2 FormulaAIandDynamicScripting (barbarianhero)
- 5.1.3 FormulaAIBaseAI (Dragonking)
- 5.1.4 FormulaAIPlanner (TVincent)
- 5.1.5 FormulaAIAbstractLevel (lisu)
- 5.1.6 FormulaAI_FSM (Martinov)
- 5.1.7 AI improvement (P1mpS)
- 5.1.8 AI Development/Improvement (Terratoch)
- 5.1.9 Agent/Swarm based AI (dkloeck)
- 5.2 Multiplayer Server
- 5.3 Scenario/Campaign Editor
- 5.4 Addon Server
- 5.5 Map Editor
- 5.6 Map Generator
- 5.7 Other
- 5.1 Formula AI
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 the bottom of this page and add this information on it:
- List your account names (gna, forum, irc nick) so that we can recognize you
- Fill the questionnaire on this page: List of questions to answer
- 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. When you implement something, also list it on your own page with a reference to the patch.
- For working on Wesnoth you have to be able to compile trunk. To do so you should have a look at the page about svn and afterwards compile Wesnoth svn.
- Once you have everything done here and think your idea is okay, go to to page at google to submit your application. You have to submit it before Monday, March 31, 2008 or you have no chance to get in!
Update: The application deadline was extended till Monday, April 7 2008. Have a look at the official timeline at google to get a list of all dates.
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. But keep in mind that writing an AI for Wesnoth is difficult.
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
Other possible 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.
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.
Information about our Project
The information we provided google with about our project can be looked up at the site SoC Information for Google.
Also see the DeveloperResources link (from the Project page).
People to bug on IRC
We have prepared a list of people with their "area of competence". 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:
GSoC Student Applicant Ideas
Every student interested to work on Wesnoth as part of Summer of Code should create a page of his own where several things should be listed. Here is a short list of what should be mentioned on the list (the more info for us, the better...):
- Who are you? Please list your IRC and forum nickname in here and describe yourself so that we get you to know.
- What do you want to work on? Please flesh out your personal ideas, so that we get to know what you plan to work on.
- If you already submitted patches, please list those so that we have a reference.
Formula AI
FormulaAIandAdaptation (Alesis-Novik)
The new idea and aproach using strategic and inside game knowledge
FormulaAIandDynamicScripting (barbarianhero)
This project idea uses Formula AI and Dynamic Scripting to create a tunable and adaptive AI.
FormulaAIBaseAI (Dragonking)
Developing smart and pluggable AI, which would be really easy tweakable by Scenario and Campaign Developers
FormulaAIPlanner (TVincent)
This project idea uses (and maybe extends) Formula AI to create a strategic, responsive AI of the Planner model.
FormulaAIAbstractLevel (lisu)
Developing easy to extend, smarter and adaptive AI.
FormulaAI_FSM (Martinov)
Refinement of the basic proposal.
AI improvement (P1mpS)
Neural networks and bayes nets
AI Development/Improvement (Terratoch)
Working with any new ideas or ideas already in development for the AI of the game.
Agent/Swarm based AI (dkloeck)
Create a new AI based on agent/swarm behaviour.
Multiplayer Server
ExtendingMultiplayerServer (dudegaurav)
This project proposal incorporates several ideas on how to refine the current Multiplayer Server !
MultiplayerServerLobbyInterface (Xan)
Improving the Multiplayer Lobby, with an emphasis on simplicity, ease-of-use, and scalability
MultiplayerInterface (Jarek102)
Improving multiplayer server/client side
GameFilter (ben.hwang)
Adding filters to search games the player is interested in
Scenario/Campaign Editor
ExtensibleScenarioEditor (david.hilton)
On a conceptual level, this idea combines a finite state machine editor with a code generator to create scenarios.
pyQTScenarioEditor (Malle)
That's me!
RujasuScenarioEditor (rujasu)
Scenario editor that will coordinate with the look and feel of the Wesnoth game.
CampaignEditor (jkiv)
Click and drag! CLICK! AND! DRAG!
IntuitiveScenarioEditor (cjhopman)
An intuitive to use but still extensible Scenario Editor.
New generation Map Editor (Elfy)
Scenario+Map+Unit editor designed to cover all WML editing tasks
Powerful and user-friendly editor (przemekZ)
A campaign/scenario editor for those, who want to create and translate good campaigns without knowledge about WML.
Addon Server
AddonServerSocial (lao)
Improving addon Server/Client by adding some social content.
AddonServer (giebfried)
This project is to improve the server and client sides of the addon server, as suggested above.
Map Editor
EvolutionaryMapEditor (xonev)
An evolutionary approach to improving the map editor.
VimzardMapEditor (vimzard)
A better random map generator, some essential features and a tie-in with the Scenario Editor.
NewMapEditor (Cecen)
This is basically a rewrite of the current map editor with various added features and tweaks to both increase the versatility of the editor and make it easier for the user to create maps with.
MapEditorRewrite (dlr365)
A rewrite of the map editor, then taking it in the direction of a combined map/scenario editor for both quick scenarios and more complex ones.
Map Editor Ilor (ilor)
A rewrite of the current editor with focus on clean code an maintainability, and then extra features. new proposal below
Map Generator
RandomCampaignGenerator (kartik thakore, refining idea)
Procedural map generation that will hope to give writers better control over the random map generator using an interface.
Other
WesnothStatistics (radx)
Project related to Wesnoth statistics (campaign) submission, gathering and presentation.
WML_Engine_Rewrite (ilor)
Rewrite the WML Engine to allow higher speed at lower CPU/Memory costs.