SummerOfCodeIdeas: Difference between revisions

From The Battle for Wesnoth Wiki
Lisu (talk | contribs)
No edit summary
 
(230 intermediate revisions by 50 users not shown)
Line 1: Line 1:
This is a compilation of ideas from ML. Needs to be refined (more detailed description, deliverables, workload estimation?):
{{SoC2014}}
== I want to be one of your Google Summer of Code students, what should I do? ==


== I want to be one of your Google Summer of Code students, what should I do... ==
Welcome! Here is a quick list of things to do:


Here is a quick list of things to do to get you started
* '''MOST IMPORTANT:''' Submit your application to [https://www.google-melange.com Google] before '''March 21st'''.
* Create an account on gna.org
* '''MOST IMPORTANT:''' Join our IRC channel, '''#wesnoth-dev''' on irc.freenode.net ([http://webchat.freenode.net/ webchat]), and talk about your project and your application. We will not give formal interviews, but we will clearly favor people we have learned to know during the selection process. IRC is the main, mandatory communication medium for the Battle for Wesnoth Project; for the same reason, it's also a good idea to regularly read the [http://www.wesnoth.org/irclogs/2014/ IRC logs].
* Create an account on the wesnoth forum
* '''VERY IMPORTANT:''' Create a wiki page about your idea, using our '''[[SoC2014 Template of Student page|student proposal page template]]''' as base.
* 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
** To create a new page, enter the desired URL for the page in your browser's address bar, e.g. <code><nowiki>http://wiki.wesnoth.org/New_Page</nowiki></code>. (See also http://www.mediawiki.org/wiki/Help:Starting_a_new_page)
* Contact one of our SummerOfCode people (Ivanovic, Sirp, Boucman, Mordante) to have your forum nick marked as a Summer of code student
** Go into editing mode on the template page http://wiki.wesnoth.org/index.php?title=SoC2014_Template_of_Student_page&action=edit and copy the contents to your new page. '''DO NOT ACTUALLY EDIT ANYTHING IN THE TEMPLATE!'''
 
** Fill the questionnaire.
* Start a wiki page about your idea, add a link on the bottom of this page and add this information on it:
** Describe and explain your idea in as much detail as possible. Look at other student pages, and provide a timeline, milestones, and studies you've done.
** List your account names (gna, forum, irc nick) so that we can recognize you
* If you haven't done so yet, create an account on [https://github.com/ GitHub]. ('''Required''' for pull requests and for granting you commit access to the main repository later on.)
** Fill the questionnaire on this page: [[SoC_Information_for_Google#Does_your_organization_have_an_application_template_you_would_like_to_see_students_use.3F_If_so.2C_please_provide_it_now.| List of questions to answer]]
* If you haven't done so yet, create an account on [https://gna.org/ Gna.org], where our [http://bugs.wesnoth.org/ bugs tracker] and [https://mail.gna.org/listinfo/wesnoth-dev developers mailing list] are hosted. ('''Recommended''' for submitting bug reports with a single identity, '''required''' for managing bug reports if you are granted commit access.)
** Detail your idea as much as possible, look at other students pages, and please give milestones and studies you've done
* If you haven't done so yet, create an account in the [http://forums.wesnoth.org/ Wesnoth.org forums], and tell a leader of the [http://forums.wesnoth.org/memberlist.php?mode=group&g=6644 Summer of Code group] or a forum administrator on the IRC channel to give it SoC group membership.
 
** Forum administrators: Ivanovic, Noy, shadowm, Soliton, Turuk
* 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.
** SoC group leaders: AI, Crab, mordante/SkeletonCrew, thunderstruck, Trademark
 
* Though not mandatory, it is '''highly advisable''' to take a look at the [[EasyCoding]] and [[NotSoEasyCoding]] pages and implement one of the proposed ideas ideas (or any idea of similar scope) so we can have an idea of how you work. Be sure to use your GitHub account when submitting pull requests so we know who it is coming from. You can also implement features from our [http://bugs.wesnoth.org/ bugs tracker].
* For working on Wesnoth you have to be able to compile trunk. To do so you should have a look at the [[WesnothSVN|page about svn]] and afterwards [[CompilingWesnoth|compile Wesnoth svn]].
** This should give you a good idea what the Wesnoth source code is like and help you get used to our coding style as well.
 
** When you implement something, also list it on your own page with a reference to the pull request.  
* Once you have everything done here and think your idea is okay, go to [http://groups.google.com/group/google-summer-of-code-announce/web/guide-to-the-gsoc-web-app-for-student-applicants 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!
** You can also start working on your project and submit patches/prototypes related to it.
 
* For working on Wesnoth you '''must''' be able to compile Git master. See our [[WesnothRepository|repository information page]] and the guide on [https://github.com/wesnoth/wesnoth/blob/master/INSTALL.md Compiling Wesnoth].
== 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 [[WhyWritingAWesnothAIIsHard|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 ==
== Information about our Project ==
The information we provided google with about our project can be looked up at the site [[SoC Information for Google]].
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).
Also see the [[DeveloperResources|Developer Resources]] listing (linked from the [[Project]] page).


== People to bug on IRC ==
== 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:
We have prepared a list of people with their areas of competence. This should give you an idea of which areas those people can help you with. Of course you should always ask in the IRC channel first, but these are the most likely people to be able to help you.


[[SoC People to bug on IRC]]
[[SoC People to bug on IRC]]


== GSoC Student Applicant Ideas ==
== List of Ideas for the Project (Suggestions from Wesnoth developers) ==
 
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.
 
===[[SoC Ideas FormulaAI|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
 
====[[Building A Strategic Planner with Formula AI|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.
 
===[[SoC Ideas Multiplayer server|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
 
===[[SoC Ideas Scenario and Campaign Editor|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.
 
====[[User:Elfy/SoC_Questionnaire#Description|New generation Map Editor (Elfy)]]====
Scenario+Map+Unit editor designed to cover all WML editing tasks
 
===[[SoC Ideas Addon Server|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.
 
===[[SoC Ideas Map Editor|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) ====
{| border=1
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.
| '''Note:''' This list of ideas is automatically generated from the ''Description'' section of pages in the ''Summer of Code 2014 Idea'' category. '''DO NOT TRY TO EDIT THIS LIST BY HAND - IT WON'T WORK.''' Instead, create a new page using the '''[[SoC_Ideas2014_Template|GSoC idea page template]]'''.
|-
| '''Note:''' To add a student page, create a new page copying the contents of the '''[[SoC2014 Template of Student page|student proposal page template]]'''.
|}


====[[MapEditorRewrite]] (dlr365)====
{{#dpl:
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.
|noresultsheader=''No ideas yet. Why not create one?''<br/>
|category=Summer of Code 2014 Idea
|include=#Description
|mode=userformat
|format=,,<br/>,
|nottitlematch=SoC_Ideas2014_Template
}}


====[[Map Editor Ilor]] (ilor)====
==Student proposals not submitted to Google==
A rewrite of the current editor with focus on clean code an maintainability, and ''then'' extra features
{{#dpl:
|resultsheader=''There are %PAGES% student proposals which were not submitted to google''<br/>
|oneresultheader=''There is 1 student proposal which was not submitted to google''<br/>
|suppresserrors=true
|noresultsheader=''All the proposals were submitted to google''<br/>
|category=Summer of Code 2014 Student Page
|nottitlematch=SoC2014 Template of Student page
|include=#IRC, #SoC Application
|includenotmatch= ,/google/s
|mode=userformat
|format=,,[[%PAGE%|%TITLE%]]<br/>,
}}


===Map Generator===
==Student proposals submitted both to the wiki and Google==
====[[RandomCampaignGenerator]] (kartik thakore, refining idea) ====
(Marked by hand. If your proposal is not here, don't panic; check Google's site instead, and ping us if necessary.)
Procedural map generation that will hope to give writers better control over the random map generator using an interface.


===Other===
{{#dpl:
====[[WesnothStatistics]] (radx) ====
|resultsheader=''There are %PAGES% student proposals which were submitted both to the wiki and Google''<br/>
Project related to Wesnoth statistics (campaign) submission, gathering and presentation.
|oneresultheader=''There is 1 student proposal which was submitted both to the wiki and Google''<br/>
|suppresserrors=true
|noresultsheader=''All the proposals were submitted to Google''<br/>
|category=Summer of Code 2014 Student Page
|nottitlematch=SoC2014 Template of Student page
|include=#IRC, #SoC Application
|includematch= ,/Submitted to google/s
|mode=userformat
|format=,,[[%PAGE%|%TITLE%]]<br/>,
}}


[[Category:Summer of Code|*]]
==Results from Google acceptance==
The list of proposals accepted by Google will be available on April 21st.

Latest revision as of 20:09, 15 May 2020

This page is related to Summer of Code 2014
See the list of Summer of Code 2014 Ideas


I want to be one of your Google Summer of Code students, what should I do?

Welcome! Here is a quick list of things to do:

  • MOST IMPORTANT: Submit your application to Google before March 21st.
  • MOST IMPORTANT: Join our IRC channel, #wesnoth-dev on irc.freenode.net (webchat), and talk about your project and your application. We will not give formal interviews, but we will clearly favor people we have learned to know during the selection process. IRC is the main, mandatory communication medium for the Battle for Wesnoth Project; for the same reason, it's also a good idea to regularly read the IRC logs.
  • VERY IMPORTANT: Create a wiki page about your idea, using our student proposal page template as base.
  • If you haven't done so yet, create an account on GitHub. (Required for pull requests and for granting you commit access to the main repository later on.)
  • If you haven't done so yet, create an account on Gna.org, where our bugs tracker and developers mailing list are hosted. (Recommended for submitting bug reports with a single identity, required for managing bug reports if you are granted commit access.)
  • If you haven't done so yet, create an account in the Wesnoth.org forums, and tell a leader of the Summer of Code group or a forum administrator on the IRC channel to give it SoC group membership.
    • Forum administrators: Ivanovic, Noy, shadowm, Soliton, Turuk
    • SoC group leaders: AI, Crab, mordante/SkeletonCrew, thunderstruck, Trademark
  • Though not mandatory, it is highly advisable to take a look at the EasyCoding and NotSoEasyCoding pages and implement one of the proposed ideas ideas (or any idea of similar scope) so we can have an idea of how you work. Be sure to use your GitHub account when submitting pull requests so we know who it is coming from. You can also implement features from our bugs tracker.
    • This should give you a good idea what the Wesnoth source code is like and help you get used to our coding style as well.
    • When you implement something, also list it on your own page with a reference to the pull request.
    • You can also start working on your project and submit patches/prototypes related to it.
  • For working on Wesnoth you must be able to compile Git master. See our repository information page and the guide on Compiling Wesnoth.

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 Developer Resources listing (linked from the Project page).

People to bug on IRC

We have prepared a list of people with their areas of competence. This should give you an idea of which areas those people can help you with. Of course you should always ask in the IRC channel first, but these are the most likely people to be able to help you.

SoC People to bug on IRC

List of Ideas for the Project (Suggestions from Wesnoth developers)

Note: This list of ideas is automatically generated from the Description section of pages in the Summer of Code 2014 Idea category. DO NOT TRY TO EDIT THIS LIST BY HAND - IT WON'T WORK. Instead, create a new page using the GSoC idea page template.
Note: To add a student page, create a new page copying the contents of the student proposal page template.


AI: Improve AI by implementing global attack/retreat decision

Page for the idea: SoC_Ideas_AI_Global_strategy

The Wesnoth AI works by making local decisions about moves and attacks. Teach it to determine if it's worth to fight offensively or defensively in a given situation.


There are no submitted student proposals for this idea

Improve the automated collection and display of multiplayer game data

Page for the idea: SoC_Ideas_Multiplayer_Data_Analysis

Multiplayer games are currently archived. This includes lots of interesting and potentially useful data, including recruits, deaths, number of turns and other things. The only way to access this information currently is parsing the WML one save file at a time. Additionally, which side(s) won the game is only recorded in some cases. We would like to record which side(s) won or lost (for as many games as possible) and then display useful information about these games for balancing and feedback purposes.

There are no submitted student proposals for this idea

SDL2

Page for the idea: SoC_Ideas_SDL2

The Wesnoth project uses the SDL library. Last year, a new major version (2.0) of SDL was released. This version of the library has better support for mobile devices like the Android and the iPhone. This project involves helping porting Wesnoth from SDL 1.2 to 2.0.

There are no submitted student proposals for this idea

SpriteSheet

Page for the idea: SoC_Ideas_SpriteSheets2014

Wesnoth uses thousands of images, each of them stored in separate files. It would be more efficient to store multiple images in a single file. In order to make that possible, the Wesnoth engine needs to be adapted to allow this change.

There are no submitted student proposals for this idea

UMCD

Page of the idea: SoC_Ideas_UMCD_2014 Improving and completing the new add-ons server, UMCD (User-made Content Daemon).

There are no submitted student proposals for this idea

Game Engine: Unify SP and MP

Page for the idea: SoC_Ideas_Unify_SP_and_MP_2014

Wesnoth has lots of user made content, but some of it works only for either singleplayer or multiplayer. To solve this, some of the engine's singleplayer and multiplayer code paths need to be unified and extended.

There are no submitted student proposals for this idea

Other: Your own ideas

Page for the idea: SoC_Ideas_Your_Own_Ideas_2014

Suggested skills: C++ (depends on the project).

There are no student proposals for this idea

Student proposals not submitted to Google

There are 25 student proposals which were not submitted to google
adityapande Aditya Pande Global AI
dragonofair0 Dragonofair0/GSoC2014 project idea
Dugi Dugi's Campaign Wizard
goblinThing GoblinThing Wizard
sachith500 GSoC sachith500 Proposal
TODO: Put only your IRC nickname in there. In case of alternate nicks, separate with commas.

Example contents for this section (without the quotes): "user" "user1, user2" GSoCMindblank
ALourenco GSoCSpriteSheetsALourenco
Vahen Improve AI
demiurgos Improve Random Maps
jchb Jchb AI Global Strat
juanmi91 Juan Miguel Ruiz Ladron/GSoC2014 Proposal
neonosos Neonosos
spoffy SoC 2014 Spoffy Finishing and Enhancing the UMCD
arveanor SoC2014 arveanor ai
Daniwa SOC2014 Daniwa Ai
Kevin_Xi SoC2014 kevin AI
lipkab SoC2014 lipkab SDL2
RiftWalker SoC2014 RiftWalker Unify SP MP
zerophase SoC2014 SDL2 DrawingTransition
stevedes SoC2014 SDL2 stevedes
vorobeez SoC2014 vorobeez AI
Youngoli SoC2014 youngoli UnifySPandMP
ZubinKapadia SoC2014 Zubin AI
Aishiko, Aishiko_laptop SpriteSheetApplicationSAB
ykanarev YKanarev AI impl

Student proposals submitted both to the wiki and Google

(Marked by hand. If your proposal is not here, don't panic; check Google's site instead, and ping us if necessary.)

All the proposals were submitted to Google
Aditya Pande Global AI
Dragonofair0/GSoC2014 project idea
Dugi's Campaign Wizard
GoblinThing Wizard
GSoC sachith500 Proposal
GSoCMindblank
GSoCSpriteSheetsALourenco
Improve AI
Improve Random Maps
Jchb AI Global Strat
Juan Miguel Ruiz Ladron/GSoC2014 Proposal
Neonosos
SoC 2014 Spoffy Finishing and Enhancing the UMCD
SoC2014 arveanor ai
SOC2014 Daniwa Ai
SoC2014 kevin AI
SoC2014 lipkab SDL2
SoC2014 RiftWalker Unify SP MP
SoC2014 SDL2 DrawingTransition
SoC2014 SDL2 stevedes
SoC2014 vorobeez AI
SoC2014 youngoli UnifySPandMP
SoC2014 Zubin AI
SpriteSheetApplicationSAB
YKanarev AI impl

Results from Google acceptance

The list of proposals accepted by Google will be available on April 21st.

This page was last edited on 15 May 2020, at 20:09.
Cookies help us deliver our services. By using our services, you agree to our use of cookies.