SummerOfCodeIdeas

From The Battle for Wesnoth Wiki
Revision as of 13:10, 11 April 2008 by Ivanovic (talk | contribs) (add new proposal by ilor, comment that the "old" proposal is retreated and replaced)

This is a compilation of ideas from ML. Needs to be refined (more detailed description, deliverables, workload estimation?):

Contents

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.
  • 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:

SoC People to bug on IRC

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.