<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wesnoth.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Giebfried</id>
	<title>The Battle for Wesnoth Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wesnoth.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Giebfried"/>
	<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/Special:Contributions/Giebfried"/>
	<updated>2026-05-16T19:00:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24423</id>
		<title>AddonServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24423"/>
		<updated>2008-03-23T18:19:48Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: /* Idea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Me ==&lt;br /&gt;
account names:&lt;br /&gt;
 &lt;br /&gt;
gna: giebfried&lt;br /&gt;
&lt;br /&gt;
forum: giebfried&lt;br /&gt;
&lt;br /&gt;
irc: giebfried&lt;br /&gt;
&lt;br /&gt;
preferred email: andrewgiebfried@gmail.com&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Hi, I'm Andrew Giebfried and I'd like to participate in Summer of Code primarily to learn first hand how programs are written in a group environment. In addition, working for GSoC will help fulfill some of my academic program's &amp;quot;Work Term&amp;quot; requirements. Currently, I am in first year engineering with the intent of going into computer engineering.&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
I have worked on many of my own small to medium-sized programs on various things. I have only worked on individual projects so far. This will be my first time participating in Google Summer of Code. I am not involved with any open-source projects so far.&lt;br /&gt;
&lt;br /&gt;
I am a bit of a gamer, most of the games I find myself playing mostly turn-based strategy games with a few real time strategy games as well. I find game play crucial, but the storyline is still very important. I've played Wesnoth for awhile, probably 2 years. I play single player - mostly with the campaigns but I've also played some multiplayer maps versus the AI as well. &lt;br /&gt;
&lt;br /&gt;
I take advice very well and can discern good advice from useless advice.&lt;br /&gt;
&lt;br /&gt;
*Programming Languages&lt;br /&gt;
** Java   (over 3 1/2 years of experience) &lt;br /&gt;
** C++    (over 2 years, but I haven't made very large programs with it)&lt;br /&gt;
** Python (over 2 1/2 years, but I haven't made very large programs with it)&lt;br /&gt;
&lt;br /&gt;
I have two years of AP Com Sci and a year of Independent Study in Computing in high school where I used Java. For a post AP-exam project I developed a simple graphical game one year and a very crude IDE for Java. I currently am taking a required class in basic programming in C++. I learned Python in my spare time. In my independent study, I studied drag and drop, networking, the implementation of the math library, and I partially made a simple paint program similar to MS paint. &lt;br /&gt;
&lt;br /&gt;
*Miscellanea &lt;br /&gt;
** Linux - I've used Linux for over 2 years&lt;br /&gt;
** SVN - I am very new to this.&lt;br /&gt;
** Terminal - I know my way around.&lt;br /&gt;
&lt;br /&gt;
For this project I would use the Iterative and Incremental development model.&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
I intend to work on the suggested project:[[SoC_Ideas_Addon_Server]]. In this project, I plan to update the existing server code for strong integration with WesCamp and use certain WML tools on content. For the client side, I plan to make the addon server GUI more informative to the user as well as simple and straight-forward to use. I also plan to make updates simple to notice for the client. Map Packs, Eras, etc. would be shown in separate categories from campaigns and easier to download and use for the client. &lt;br /&gt;
&lt;br /&gt;
I plan to spend about half of my time on the server side and half on the client side. For the server side, I will also spend about half of that time on WesCamp work and the WML tools work. On the client side, I plan to work on functionality first and then enhance the GUI.  For the GUI I plan to redesign the current screen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client side ===&lt;br /&gt;
&lt;br /&gt;
For the client side I think the way the data is presented is not intuitive for the user. The current client in the does not inform the user of the type of download (i.e. campaign, Era, map pack) except by the name of the file. In addition it does not notify the user if they already have the addon. The age of the addons is also missing from the data; the date is helpful to see how new the content is. The Addons also can only describe their usability by version number; the author(s) cannot say how usable the campaign is. The remove addon feature is distant from the rest of the client gui. I would like to split the addons into two sections on the same window; one for existing downloads and the other for potential downloads. The existing downloads section will have an upgrade option if a newer version of an addon is detected. Upgradeable addons will have some sort of emphasis to show that a newer version is available. It will also include a remove option in case the user wants to remove the addon. The type of addon will be shown by either a by color code or placement. All of the downloads will contain the currently implemented information, but also show the date the addon was uploaded. In addition, a tooltip (or a dialog perhaps) will have a short description of the state of the addon (i.e. &amp;quot;completed&amp;quot; or &amp;quot;done first 3 scenarios&amp;quot;, etc.) &lt;br /&gt;
The stand-alone client will show the same data, but in a non-graphical way.&lt;br /&gt;
&lt;br /&gt;
=== Server side ===&lt;br /&gt;
&lt;br /&gt;
According to the original idea, the server is in need of improvement. It needs to integrate with WesCamp more than it currently does and it needs to run python as well. I plan to modify the existing server, which is written in C++. Although one of the server's requirement is to run python code, the Python code can easily be embedded into C to fulfill this requirement. Although not much of a change, I would like to rename the &amp;quot;campaign server&amp;quot; in the code to a more correct &amp;quot;Addon server&amp;quot; for correctness and clarity. Since there will be campaigns on the server in the old format, there will be some tool to convert them into a new format to easily interact with the client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Translations ===&lt;br /&gt;
&lt;br /&gt;
The translations will be in a separate file from the rest of the addon. When the user downloads UMC they will download the the translations of choice and the rest of the addon.&lt;br /&gt;
&lt;br /&gt;
The client will have a &amp;quot;get translation option&amp;quot; for each addon which will allow the user to add or delete a translation for th addon they chose. When the user downloads an addon, the client will also download the translation for the user's current language setting. If the user decides to change his or her language in the main menu, he or she will receive a prompt asking if they would like to check for translations for all of the downloaded UMC. &lt;br /&gt;
&lt;br /&gt;
The server will have a cron job to get the newest translations from WesCamp. Also, when a user updates his or her campaign, the pertinent information will go to Wescamp for the translators to work on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
* Initial Planning (now-ish to first week or so at most)&lt;br /&gt;
** Go over the wiki and read the Developer Information&lt;br /&gt;
** Try implementing an Easy Coding ideas to get a feel for SVN, the code&lt;br /&gt;
** Brush up on my Python skills, I need to look at the libraries some more. &lt;br /&gt;
** Study the existing Addon Server (some more)&lt;br /&gt;
&lt;br /&gt;
As per YogiHH's suggestion the first 3 iterations of my project:&lt;br /&gt;
&lt;br /&gt;
=== Iteration 1 - initial planning: ===&lt;br /&gt;
* requirements: &lt;br /&gt;
** determine feature set&lt;br /&gt;
** changes in protocols&lt;br /&gt;
** how to integrate WesCamp &amp;amp; WML tools&lt;br /&gt;
** plan out client (GUI already mostly explained above)  &lt;br /&gt;
*analysis &amp;amp; design:&lt;br /&gt;
**study the requirements, lightly&lt;br /&gt;
&lt;br /&gt;
=== Iteration 2 - elaborate on server &amp;amp; client ===&lt;br /&gt;
&lt;br /&gt;
*requirements:&lt;br /&gt;
** how to integrate WesCamp &amp;amp; WML tools (more in depth than before not completely; this is just to make iteration 3 easier)&lt;br /&gt;
** format of UMC saved on server for ease of WesCamp's and WML tools' use.&lt;br /&gt;
** enable python client to get addons in the new format&lt;br /&gt;
analysis &amp;amp; design:&lt;br /&gt;
** new UMC format &lt;br /&gt;
** converting to new format&lt;br /&gt;
** server &lt;br /&gt;
*implement:&lt;br /&gt;
** above&lt;br /&gt;
*test:&lt;br /&gt;
** use client to get new-format UMC from server&lt;br /&gt;
** get translations together and separately from UMC&lt;br /&gt;
*evaluate&lt;br /&gt;
*deploy:&lt;br /&gt;
** python client&lt;br /&gt;
** new UMC format&lt;br /&gt;
** server still needs more work&lt;br /&gt;
&lt;br /&gt;
=== Iteration 3 - WesCamp &amp;amp; WML tools ===&lt;br /&gt;
*requirements:&lt;br /&gt;
** server integration with Wescamp&lt;br /&gt;
** server integration with WML tools&lt;br /&gt;
*analysis &amp;amp; design:&lt;br /&gt;
**study WesCamp some more&lt;br /&gt;
*implement:&lt;br /&gt;
** integration with WesCamp&lt;br /&gt;
** integration with WesCamp&lt;br /&gt;
*test:&lt;br /&gt;
** see if server sends/receives translations&lt;br /&gt;
** see if WML tools do their job&lt;br /&gt;
*evaluate&lt;br /&gt;
*deploy:&lt;br /&gt;
** server&lt;br /&gt;
later: work on gui for client, as explained earlier. I'll have to study the new GUI system around here as well.&lt;br /&gt;
&lt;br /&gt;
I plan to finish the first iteration early on, at most early week 2. &lt;br /&gt;
I plan to spend equal time on the two next iterations, but iteration 3 will probably take less time than I expect, assuming I did adequate research in iteration 2.&lt;br /&gt;
&lt;br /&gt;
=== Why? ===&lt;br /&gt;
I chose this project because it covers many different areas of programming. It  incorporates networking, and GUIs, both of which I have some experience already. Also, I feel like this is an important part of Wesnoth that might be overlooked at times since it isn't directly involved with gameplay. After the GSoC ends, I plan to stay with the community; my appreciation for Wesnoth and the friends I will make will keep me in the community.&lt;br /&gt;
&lt;br /&gt;
== Practical ==&lt;br /&gt;
After I complete this project I would like to have improved my coding skills and more importantly&lt;br /&gt;
learn about how coding is done in community projects. &lt;br /&gt;
&lt;br /&gt;
My only spoken language is English and  I am fluent in written English. I am awake at 10:30AM to 1:30AM (UTC) an I would not mind talking with a mentor over VOIP.&lt;br /&gt;
&lt;br /&gt;
== Short Essay ==&lt;br /&gt;
&lt;br /&gt;
	I wish to join this project for GSoC and beyond because of Wesnoth's strong community I wish to be a member of. The Battle for Wesnoth was one of the first open source games I used. Wesnoth stood out against most of the other games I previously played. It had a professional feel and had a strong sense of how I now view open source. &lt;br /&gt;
&lt;br /&gt;
	When I first took Computer Science in High School, I enjoyed the lab time writing programs. However, it took a bit longer for me to realize why. Coding for an assignment was enjoyable, but it was coding with a group of people that was more enjoyable. Talking about our assignments and working as a team was where the most enjoyment came from.  I feel The Battle for Wesnoth has the strong community where I won't just be working on my project, but contribute to a project surrounded by a helpful community. To me, Wesnoth is a strong example of an open source project. &lt;br /&gt;
&lt;br /&gt;
	Open source  is defined by the community that makes it. If the community is strong, the software will also be strong. This community has people all working together to make something worthwhile, for the good of the world. This community is open: it lets anyone come in and contribute ideas, art, code, etc. It also teaches people about everything. The source code given to anyone who wants to read it, however looking at the Wesnoth forums is stronger proof of the teaching power. When someone contributes art, it almost always is improved by the advice of others in the Wesnoth community. The same for translations: this community helps people find the right words for languages that they might not even speak. When I think about open source, I immediately think of the people who make projects like Wesnoth work. &lt;br /&gt;
&lt;br /&gt;
	I discovered open source through Linux and Wesnoth. A friend suggested that I should try Linux and I did. However, I decided to choose Debian because it was completely free, although I didn't grasp the true meaning until later.  I saw open source as simply source code that could be read. After I finally got KDE to work, I played some of the games that were included on the disks and one of them was The Battle for Wesnoth. When I the main menu appeared, I knew that this game was a work of art; The music, drawings, and the underlying code were all integrated to make a masterpiece. All of this work was done by a group of people not for profit, but for making an excellent game. This was all their work. Wesnoth defined my idea of open source from the naïve notion that  it is merely code that can be read to the definition explained above.   &lt;br /&gt;
&lt;br /&gt;
	I have much to gain working for open source software. I  have all the benefits of working for a software company, and much more. I get to meet people across the world. I join an open source community.  I will learn many things from this community. I will have an deeper understanding and appreciation for this project. I will improve my developing and coding skills. In addition, I will learn things not directly tied with coding. I may improve my art skills, for example, when I'm working on the GUI for the client with the help of the many artists who contribute to Wesnoth. &lt;br /&gt;
&lt;br /&gt;
	I also believe I have much to give to the community. I will be contributing with my project, but I will be contributing much more. This is another reason I wish to participate with Wesnoth for GSoC. This community facilitates communicating with different groups in Wesnoth. I will be contributing to different aspects of this software, it may be art, ideas, maybe even the Latin translation.&lt;br /&gt;
&lt;br /&gt;
	I enjoy trying to solve the problems I encounter. Whether in a game, life, developing or programming, I look for problems and try to fix them. It's an engineering thing I think. When I wrote my own programs, I always did something I knew I would have a little difficulty in. I would have to learn how to fix the problem. The satisfaction of solving a problem keeps me wanting to solve more problems. When I am writing part of a program that is not much of a problem, I keep motivated by remembering my goals for the program I'm writing. For the project for GSoC I would also be motivated by my sense of responsibility to the Wesnoth community. My thirst for knowledge also keeps me coding, I find researching what I have to do as enjoyable as designing programs. &lt;br /&gt;
&lt;br /&gt;
	I would be honored to work for The Battle for Wesnoth through GSoC.&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24338</id>
		<title>AddonServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24338"/>
		<updated>2008-03-23T04:36:05Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: /* Client side */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Me ==&lt;br /&gt;
account names:&lt;br /&gt;
 &lt;br /&gt;
gna: giebfried&lt;br /&gt;
&lt;br /&gt;
forum: giebfried&lt;br /&gt;
&lt;br /&gt;
irc: giebfried&lt;br /&gt;
&lt;br /&gt;
preferred email: andrewgiebfried@gmail.com&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Hi, I'm Andrew Giebfried and I'd like to participate in Summer of Code primarily to learn first hand how programs are written in a group environment. In addition, working for GSoC will help fulfill some of my academic program's &amp;quot;Work Term&amp;quot; requirements. Currently, I am in first year engineering with the intent of going into computer engineering.&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
I have worked on many of my own small to medium-sized programs on various things. I have only worked on individual projects so far. This will be my first time participating in Google Summer of Code. I am not involved with any open-source projects so far.&lt;br /&gt;
&lt;br /&gt;
I am a bit of a gamer, most of the games I find myself playing mostly turn-based strategy games with a few real time strategy games as well. I find game play crucial, but the storyline is still very important. I've played Wesnoth for awhile, probably 2 years. I play single player - mostly with the campaigns but I've also played some multiplayer maps versus the AI as well. &lt;br /&gt;
&lt;br /&gt;
I take advice very well and can discern good advice from useless advice.&lt;br /&gt;
&lt;br /&gt;
*Programming Languages&lt;br /&gt;
** Java   (over 3 1/2 years of experience) &lt;br /&gt;
** C++    (over 2 years, but I haven't made very large programs with it)&lt;br /&gt;
** Python (over 2 1/2 years, but I haven't made very large programs with it)&lt;br /&gt;
&lt;br /&gt;
I have two years of AP Com Sci and a year of Independent Study in Computing in high school where I used Java. For a post AP-exam project I developed a simple graphical game one year and a very crude IDE for Java. I currently am taking a required class in basic programming in C++. I learned Python in my spare time. In my independent study, I studied drag and drop, networking, the implementation of the math library, and I partially made a simple paint program similar to MS paint. &lt;br /&gt;
&lt;br /&gt;
*Miscellanea &lt;br /&gt;
** Linux - I've used Linux for over 2 years&lt;br /&gt;
** SVN - I am very new to this.&lt;br /&gt;
** Terminal - I know my way around.&lt;br /&gt;
&lt;br /&gt;
For this project I would use the Iterative and Incremental development model.&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
I intend to work on the suggested project:[[SoC_Ideas_Addon_Server]]. In this project, I plan to update the existing server code for strong integration with WesCamp and use certain WML tools on content. For the client side, I plan to make the addon server GUI more informative to the user as well as simple and straight-forward to use. I also plan to make updates simple to notice for the client. Map Packs, Eras, etc. would be shown in separate categories from campaigns and easier to download and use for the client. &lt;br /&gt;
&lt;br /&gt;
I plan to spend about half of my time on the server side and half on the client side. For the server side, I will also spend about half of that time on WesCamp work and the WML tools work. On the client side, I plan to work on functionality first and then enhance the GUI.  For the GUI I plan to redesign the current screen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client side ===&lt;br /&gt;
&lt;br /&gt;
For the client side I think the way the data is presented is not intuitive for the user. The current client in the does not inform the user of the type of download (i.e. campaign, Era, map pack) except by the name of the file. In addition it does not notify the user if they already have the addon. The age of the addons is also missing from the data; the date is helpful to see how new the content is. The Addons also can only describe their usability by version number; the author(s) cannot say how usable the campaign is. The remove addon feature is distant from the rest of the client gui. I would like to split the addons into two sections on the same window; one for existing downloads and the other for potential downloads. The existing downloads section will have an upgrade option if a newer version of an addon is detected. Upgradeable addons will have some sort of emphasis to show that a newer version is available. It will also include a remove option in case the user wants to remove the addon. The type of addon will be shown by either a by color code or placement. All of the downloads will contain the currently implemented information, but also show the date the addon was uploaded. In addition, a tooltip (or a dialog perhaps) will have a short description of the state of the addon (i.e. &amp;quot;completed&amp;quot; or &amp;quot;done first 3 scenarios&amp;quot;, etc.) &lt;br /&gt;
The stand-alone client will show the same data, but in a non-graphical way.&lt;br /&gt;
&lt;br /&gt;
=== Server side ===&lt;br /&gt;
&lt;br /&gt;
According to the original idea, the server is in need of improvement. It needs to integrate with WesCamp more than it currently does and it needs to run python as well. I plan to modify the existing server, which is written in C++. Although one of the server's requirement is to run python code, the Python code can easily be embedded into C to fulfill this requirement. Although not much of a change, I would like to rename the &amp;quot;campaign server&amp;quot; in the code to a more correct &amp;quot;Addon server&amp;quot; for correctness and clarity. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Translations ===&lt;br /&gt;
&lt;br /&gt;
The translations will be in a separate file from the rest of the addon. When the user downloads UMC they will download the the translations of choice and the rest of the addon.&lt;br /&gt;
&lt;br /&gt;
The client will have a &amp;quot;get translation option&amp;quot; for each addon which will allow the user to add or delete a translation for th addon they chose. When the user downloads an addon, the client will also download the translation for the user's current language setting. If the user decides to change his or her language in the main menu, he or she will receive a prompt asking if they would like to check for translations for all of the downloaded UMC. &lt;br /&gt;
&lt;br /&gt;
The server will have a cron job to get the newest translations from WesCamp. Also, when a user updates his or her campaign, the pertinent information will go to Wescamp for the translators to work on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
* General (now-ish to first week or so at most)&lt;br /&gt;
** Go over the wiki and read the Developer Information&lt;br /&gt;
** Try implementing an Easy Coding ideas to get a feel for SVN, the code&lt;br /&gt;
** Brush up on my Python skills, I need to look at the library some more. &lt;br /&gt;
** Study the existing Addon Server &lt;br /&gt;
* Development/Reasearch (to May 26-ish)&lt;br /&gt;
** Plan client side&lt;br /&gt;
*** Change the fields for the addons&lt;br /&gt;
*** study the gui library&lt;br /&gt;
*** design the gui for the client&lt;br /&gt;
** Plan server side&lt;br /&gt;
*** Look at the short comings of the current addon server&lt;br /&gt;
*** study the exact needs and requirements for WesCamp &lt;br /&gt;
*** determine the required adjustments to the server for this&lt;br /&gt;
*** learn more about embedding python code into C&lt;br /&gt;
*** study the exact needs for the WML tools&lt;br /&gt;
*** determine the required adjustments to the server for this&lt;br /&gt;
*** determine the required adjustments to the server for the updated client&lt;br /&gt;
&lt;br /&gt;
I intend to spend about the same side on each of the elements and follow them in sequential order.&lt;br /&gt;
&lt;br /&gt;
*Coding (after 26ish to a few weeks before end)&lt;br /&gt;
** server side (1st half doing whatever I planned)&lt;br /&gt;
** client side (2nd half doing whatever I planned)&lt;br /&gt;
&lt;br /&gt;
* After GSoC&lt;br /&gt;
** keep contributing&lt;br /&gt;
&lt;br /&gt;
=== Why? ===&lt;br /&gt;
I chose this project because it covers many different areas of programming. It  incorporates networking, and GUIs, both of which I have some experience already. Also, I feel like this is an important part of Wesnoth that might be overlooked at times since it isn't directly involved with gameplay. After the GSoC ends, I plan to stay with the community; my appreciation for Wesnoth and the friends I will make will keep me in the community.&lt;br /&gt;
&lt;br /&gt;
== Practical ==&lt;br /&gt;
After I complete this project I would like to have improved my coding skills and more importantly&lt;br /&gt;
learn about how coding is done in community projects. &lt;br /&gt;
&lt;br /&gt;
My only spoken language is English and  I am fluent in written English. I am awake at 10:30AM to 1:30AM (UTC) an I would not mind talking with a mentor over VOIP.&lt;br /&gt;
&lt;br /&gt;
== Short Essay ==&lt;br /&gt;
&lt;br /&gt;
	I wish to join this project for GSoC and beyond because of Wesnoth's strong community I wish to be a member of. The Battle for Wesnoth was one of the first open source games I used. Wesnoth stood out against most of the other games I previously played. It had a professional feel and had a strong sense of how I now view open source. &lt;br /&gt;
&lt;br /&gt;
	When I first took Computer Science in High School, I enjoyed the lab time writing programs. However, it took a bit longer for me to realize why. Coding for an assignment was enjoyable, but it was coding with a group of people that was more enjoyable. Talking about our assignments and working as a team was where the most enjoyment came from.  I feel The Battle for Wesnoth has the strong community where I won't just be working on my project, but contribute to a project surrounded by a helpful community. To me, Wesnoth is a strong example of an open source project. &lt;br /&gt;
&lt;br /&gt;
	Open source  is defined by the community that makes it. If the community is strong, the software will also be strong. This community has people all working together to make something worthwhile, for the good of the world. This community is open: it lets anyone come in and contribute ideas, art, code, etc. It also teaches people about everything. The source code given to anyone who wants to read it, however looking at the Wesnoth forums is stronger proof of the teaching power. When someone contributes art, it almost always is improved by the advice of others in the Wesnoth community. The same for translations: this community helps people find the right words for languages that they might not even speak. When I think about open source, I immediately think of the people who make projects like Wesnoth work. &lt;br /&gt;
&lt;br /&gt;
	I discovered open source through Linux and Wesnoth. A friend suggested that I should try Linux and I did. However, I decided to choose Debian because it was completely free, although I didn't grasp the true meaning until later.  I saw open source as simply source code that could be read. After I finally got KDE to work, I played some of the games that were included on the disks and one of them was The Battle for Wesnoth. When I the main menu appeared, I knew that this game was a work of art; The music, drawings, and the underlying code were all integrated to make a masterpiece. All of this work was done by a group of people not for profit, but for making an excellent game. This was all their work. Wesnoth defined my idea of open source from the naïve notion that  it is merely code that can be read to the definition explained above.   &lt;br /&gt;
&lt;br /&gt;
	I have much to gain working for open source software. I  have all the benefits of working for a software company, and much more. I get to meet people across the world. I join an open source community.  I will learn many things from this community. I will have an deeper understanding and appreciation for this project. I will improve my developing and coding skills. In addition, I will learn things not directly tied with coding. I may improve my art skills, for example, when I'm working on the GUI for the client with the help of the many artists who contribute to Wesnoth. &lt;br /&gt;
&lt;br /&gt;
	I also believe I have much to give to the community. I will be contributing with my project, but I will be contributing much more. This is another reason I wish to participate with Wesnoth for GSoC. This community facilitates communicating with different groups in Wesnoth. I will be contributing to different aspects of this software, it may be art, ideas, maybe even the Latin translation.&lt;br /&gt;
&lt;br /&gt;
	I enjoy trying to solve the problems I encounter. Whether in a game, life, developing or programming, I look for problems and try to fix them. It's an engineering thing I think. When I wrote my own programs, I always did something I knew I would have a little difficulty in. I would have to learn how to fix the problem. The satisfaction of solving a problem keeps me wanting to solve more problems. When I am writing part of a program that is not much of a problem, I keep motivated by remembering my goals for the program I'm writing. For the project for GSoC I would also be motivated by my sense of responsibility to the Wesnoth community. My thirst for knowledge also keeps me coding, I find researching what I have to do as enjoyable as designing programs. &lt;br /&gt;
&lt;br /&gt;
	I would be honored to work for The Battle for Wesnoth through GSoC.&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24314</id>
		<title>AddonServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24314"/>
		<updated>2008-03-22T17:42:16Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: /* Idea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Me ==&lt;br /&gt;
account names:&lt;br /&gt;
 &lt;br /&gt;
gna: giebfried&lt;br /&gt;
&lt;br /&gt;
forum: giebfried&lt;br /&gt;
&lt;br /&gt;
irc: giebfried&lt;br /&gt;
&lt;br /&gt;
preferred email: andrewgiebfried@gmail.com&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Hi, I'm Andrew Giebfried and I'd like to participate in Summer of Code primarily to learn first hand how programs are written in a group environment. In addition, working for GSoC will help fulfill some of my academic program's &amp;quot;Work Term&amp;quot; requirements. Currently, I am in first year engineering with the intent of going into computer engineering.&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
I have worked on many of my own small to medium-sized programs on various things. I have only worked on individual projects so far. This will be my first time participating in Google Summer of Code. I am not involved with any open-source projects so far.&lt;br /&gt;
&lt;br /&gt;
I am a bit of a gamer, most of the games I find myself playing mostly turn-based strategy games with a few real time strategy games as well. I find game play crucial, but the storyline is still very important. I've played Wesnoth for awhile, probably 2 years. I play single player - mostly with the campaigns but I've also played some multiplayer maps versus the AI as well. &lt;br /&gt;
&lt;br /&gt;
I take advice very well and can discern good advice from useless advice.&lt;br /&gt;
&lt;br /&gt;
*Programming Languages&lt;br /&gt;
** Java   (over 3 1/2 years of experience) &lt;br /&gt;
** C++    (over 2 years, but I haven't made very large programs with it)&lt;br /&gt;
** Python (over 2 1/2 years, but I haven't made very large programs with it)&lt;br /&gt;
&lt;br /&gt;
I have two years of AP Com Sci and a year of Independent Study in Computing in high school where I used Java. For a post AP-exam project I developed a simple graphical game one year and a very crude IDE for Java. I currently am taking a required class in basic programming in C++. I learned Python in my spare time. In my independent study, I studied drag and drop, networking, the implementation of the math library, and I partially made a simple paint program similar to MS paint. &lt;br /&gt;
&lt;br /&gt;
*Miscellanea &lt;br /&gt;
** Linux - I've used Linux for over 2 years&lt;br /&gt;
** SVN - I am very new to this.&lt;br /&gt;
** Terminal - I know my way around.&lt;br /&gt;
&lt;br /&gt;
For this project I would use the Iterative and Incremental development model.&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
I intend to work on the suggested project:[[SoC_Ideas_Addon_Server]]. In this project, I plan to update the existing server code for strong integration with WesCamp and use certain WML tools on content. For the client side, I plan to make the addon server GUI more informative to the user as well as simple and straight-forward to use. I also plan to make updates simple to notice for the client. Map Packs, Eras, etc. would be shown in separate categories from campaigns and easier to download and use for the client. &lt;br /&gt;
&lt;br /&gt;
I plan to spend about half of my time on the server side and half on the client side. For the server side, I will also spend about half of that time on WesCamp work and the WML tools work. On the client side, I plan to work on functionality first and then enhance the GUI.  For the GUI I plan to redesign the current screen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client side ===&lt;br /&gt;
&lt;br /&gt;
For the client side I think the way the data is presented is not intuitive for the user. The current client in the does not inform the user of the type of download (i.e. campaign, Era, map pack) except by the name of the file. In addition it does not notify the user if they already have the addon. The age of the addons is also missing from the data. The Addons also can only describe their usability by version number; the author(s) cannot say how usable the campaign is. The remove addon feature is distant from the rest of the client gui. I would like to split the addons into two sections on the same window; one for existing downloads and the other for potential downloads. The existing downloads section will have an upgrade option if a newer version of an addon is detected. Upgradeable addons will have some sort of emphasis to show that a newer version is available. It will also include a remove option in case the user wants to remove the addon. All of the downloads will contain the currently implemented information, but also show the type of addon and the date the addon was uploaded. In addition, a tooltip (or a dialog perhaps) will have a short description of the state of the addon (i.e. &amp;quot;completed&amp;quot; or &amp;quot;done first 3 scenarios&amp;quot;, etc.)   &lt;br /&gt;
The stand-alone client will show the same data, but in a non-graphical way.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Server side ===&lt;br /&gt;
&lt;br /&gt;
According to the original idea, the server is in need of improvement. It needs to integrate with WesCamp more than it currently does and it needs to run python as well. I plan to modify the existing server, which is written in C++. Although one of the server's requirement is to run python code, the Python code can easily be embedded into C to fulfill this requirement. Although not much of a change, I would like to rename the &amp;quot;campaign server&amp;quot; in the code to a more correct &amp;quot;Addon server&amp;quot; for correctness and clarity. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Translations ===&lt;br /&gt;
&lt;br /&gt;
The translations will be in a separate file from the rest of the addon. When the user downloads UMC they will download the the translations of choice and the rest of the addon.&lt;br /&gt;
&lt;br /&gt;
The client will have a &amp;quot;get translation option&amp;quot; for each addon which will allow the user to add or delete a translation for th addon they chose. When the user downloads an addon, the client will also download the translation for the user's current language setting. If the user decides to change his or her language in the main menu, he or she will receive a prompt asking if they would like to check for translations for all of the downloaded UMC. &lt;br /&gt;
&lt;br /&gt;
The server will have a cron job to get the newest translations from WesCamp. Also, when a user updates his or her campaign, the pertinent information will go to Wescamp for the translators to work on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
* General (now-ish to first week or so at most)&lt;br /&gt;
** Go over the wiki and read the Developer Information&lt;br /&gt;
** Try implementing an Easy Coding ideas to get a feel for SVN, the code&lt;br /&gt;
** Brush up on my Python skills, I need to look at the library some more. &lt;br /&gt;
** Study the existing Addon Server &lt;br /&gt;
* Development/Reasearch (to May 26-ish)&lt;br /&gt;
** Plan client side&lt;br /&gt;
*** Change the fields for the addons&lt;br /&gt;
*** study the gui library&lt;br /&gt;
*** design the gui for the client&lt;br /&gt;
** Plan server side&lt;br /&gt;
*** Look at the short comings of the current addon server&lt;br /&gt;
*** study the exact needs and requirements for WesCamp &lt;br /&gt;
*** determine the required adjustments to the server for this&lt;br /&gt;
*** learn more about embedding python code into C&lt;br /&gt;
*** study the exact needs for the WML tools&lt;br /&gt;
*** determine the required adjustments to the server for this&lt;br /&gt;
*** determine the required adjustments to the server for the updated client&lt;br /&gt;
&lt;br /&gt;
I intend to spend about the same side on each of the elements and follow them in sequential order.&lt;br /&gt;
&lt;br /&gt;
*Coding (after 26ish to a few weeks before end)&lt;br /&gt;
** server side (1st half doing whatever I planned)&lt;br /&gt;
** client side (2nd half doing whatever I planned)&lt;br /&gt;
&lt;br /&gt;
* After GSoC&lt;br /&gt;
** keep contributing&lt;br /&gt;
&lt;br /&gt;
=== Why? ===&lt;br /&gt;
I chose this project because it covers many different areas of programming. It  incorporates networking, and GUIs, both of which I have some experience already. Also, I feel like this is an important part of Wesnoth that might be overlooked at times since it isn't directly involved with gameplay. After the GSoC ends, I plan to stay with the community; my appreciation for Wesnoth and the friends I will make will keep me in the community.&lt;br /&gt;
&lt;br /&gt;
== Practical ==&lt;br /&gt;
After I complete this project I would like to have improved my coding skills and more importantly&lt;br /&gt;
learn about how coding is done in community projects. &lt;br /&gt;
&lt;br /&gt;
My only spoken language is English and  I am fluent in written English. I am awake at 10:30AM to 1:30AM (UTC) an I would not mind talking with a mentor over VOIP.&lt;br /&gt;
&lt;br /&gt;
== Short Essay ==&lt;br /&gt;
&lt;br /&gt;
	I wish to join this project for GSoC and beyond because of Wesnoth's strong community I wish to be a member of. The Battle for Wesnoth was one of the first open source games I used. Wesnoth stood out against most of the other games I previously played. It had a professional feel and had a strong sense of how I now view open source. &lt;br /&gt;
&lt;br /&gt;
	When I first took Computer Science in High School, I enjoyed the lab time writing programs. However, it took a bit longer for me to realize why. Coding for an assignment was enjoyable, but it was coding with a group of people that was more enjoyable. Talking about our assignments and working as a team was where the most enjoyment came from.  I feel The Battle for Wesnoth has the strong community where I won't just be working on my project, but contribute to a project surrounded by a helpful community. To me, Wesnoth is a strong example of an open source project. &lt;br /&gt;
&lt;br /&gt;
	Open source  is defined by the community that makes it. If the community is strong, the software will also be strong. This community has people all working together to make something worthwhile, for the good of the world. This community is open: it lets anyone come in and contribute ideas, art, code, etc. It also teaches people about everything. The source code given to anyone who wants to read it, however looking at the Wesnoth forums is stronger proof of the teaching power. When someone contributes art, it almost always is improved by the advice of others in the Wesnoth community. The same for translations: this community helps people find the right words for languages that they might not even speak. When I think about open source, I immediately think of the people who make projects like Wesnoth work. &lt;br /&gt;
&lt;br /&gt;
	I discovered open source through Linux and Wesnoth. A friend suggested that I should try Linux and I did. However, I decided to choose Debian because it was completely free, although I didn't grasp the true meaning until later.  I saw open source as simply source code that could be read. After I finally got KDE to work, I played some of the games that were included on the disks and one of them was The Battle for Wesnoth. When I the main menu appeared, I knew that this game was a work of art; The music, drawings, and the underlying code were all integrated to make a masterpiece. All of this work was done by a group of people not for profit, but for making an excellent game. This was all their work. Wesnoth defined my idea of open source from the naïve notion that  it is merely code that can be read to the definition explained above.   &lt;br /&gt;
&lt;br /&gt;
	I have much to gain working for open source software. I  have all the benefits of working for a software company, and much more. I get to meet people across the world. I join an open source community.  I will learn many things from this community. I will have an deeper understanding and appreciation for this project. I will improve my developing and coding skills. In addition, I will learn things not directly tied with coding. I may improve my art skills, for example, when I'm working on the GUI for the client with the help of the many artists who contribute to Wesnoth. &lt;br /&gt;
&lt;br /&gt;
	I also believe I have much to give to the community. I will be contributing with my project, but I will be contributing much more. This is another reason I wish to participate with Wesnoth for GSoC. This community facilitates communicating with different groups in Wesnoth. I will be contributing to different aspects of this software, it may be art, ideas, maybe even the Latin translation.&lt;br /&gt;
&lt;br /&gt;
	I enjoy trying to solve the problems I encounter. Whether in a game, life, developing or programming, I look for problems and try to fix them. It's an engineering thing I think. When I wrote my own programs, I always did something I knew I would have a little difficulty in. I would have to learn how to fix the problem. The satisfaction of solving a problem keeps me wanting to solve more problems. When I am writing part of a program that is not much of a problem, I keep motivated by remembering my goals for the program I'm writing. For the project for GSoC I would also be motivated by my sense of responsibility to the Wesnoth community. My thirst for knowledge also keeps me coding, I find researching what I have to do as enjoyable as designing programs. &lt;br /&gt;
&lt;br /&gt;
	I would be honored to work for The Battle for Wesnoth through GSoC.&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24215</id>
		<title>AddonServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24215"/>
		<updated>2008-03-21T13:07:25Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: /* Timeline */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Me ==&lt;br /&gt;
account names:&lt;br /&gt;
 &lt;br /&gt;
gna: giebfried&lt;br /&gt;
&lt;br /&gt;
forum: giebfried&lt;br /&gt;
&lt;br /&gt;
irc: giebfried&lt;br /&gt;
&lt;br /&gt;
preferred email: andrewgiebfried@gmail.com&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Hi, I'm Andrew Giebfried and I'd like to participate in Summer of Code primarily to learn first hand how programs are written in a group environment. In addition, working for GSoC will help fulfill some of my academic program's &amp;quot;Work Term&amp;quot; requirements. Currently, I am in first year engineering with the intent of going into computer engineering.&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
I have worked on many of my own small to medium-sized programs on various things. I have only worked on individual projects so far. This will be my first time participating in Google Summer of Code. I am not involved with any open-source projects so far.&lt;br /&gt;
&lt;br /&gt;
I am a bit of a gamer, most of the games I find myself playing mostly turn-based strategy games with a few real time strategy games as well. I find game play crucial, but the storyline is still very important. I've played Wesnoth for awhile, probably 2 years. I play single player - mostly with the campaigns but I've also played some multiplayer maps versus the AI as well. &lt;br /&gt;
&lt;br /&gt;
I take advice very well and can discern good advice from useless advice.&lt;br /&gt;
&lt;br /&gt;
*Programming Languages&lt;br /&gt;
** Java   (over 3 1/2 years of experience) &lt;br /&gt;
** C++    (over 2 years, but I haven't made very large programs with it)&lt;br /&gt;
** Python (over 2 1/2 years, but I haven't made very large programs with it)&lt;br /&gt;
&lt;br /&gt;
I have two years of AP Com Sci and a year of Independent Study in Computing in high school where I used Java. For a post AP-exam project I developed a simple graphical game one year and a very crude IDE for Java. I currently am taking a required class in basic programming in C++. I learned Python in my spare time. In my independent study, I studied drag and drop, networking, the implementation of the math library, and I partially made a simple paint program similar to MS paint. &lt;br /&gt;
&lt;br /&gt;
*Miscellanea &lt;br /&gt;
** Linux - I've used Linux for over 2 years&lt;br /&gt;
** SVN - I am very new to this.&lt;br /&gt;
** Terminal - I know my way around.&lt;br /&gt;
&lt;br /&gt;
For this project I would use the Iterative and Incremental development model.&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
I intend to work on the suggested project:[[SoC_Ideas_Addon_Server]]. In this project, I plan to update the existing server code for strong integration with WesCamp and use certain WML tools on content. For the client side, I plan to make the addon server GUI more informative to the user as well as simple and straight-forward to use. I also plan to make updates simple to notice for the client. Map Packs, Eras, etc. would be shown in separate categories from campaigns and easier to download and use for the client. &lt;br /&gt;
&lt;br /&gt;
I plan to spend about half of my time on the server side and half on the client side. IFor the server side, I will also spend about half of that time on WesCamp work and the WML tools work. On the client side, I plan to work on functionality first and then enhance the GUI.  For the GUI I plan to redesign the current screen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client side ===&lt;br /&gt;
&lt;br /&gt;
For the client side I think the way the data is presented is not intuitive for the user. The current client in the does not inform the user of the type of download (i.e. campaign, Era, map pack) except by the name of the file. In addition it does not notify the user if they already have the addon. The age of the addons is also missing from the data. The remove addon feature is distant from the rest of the client gui. I would like to split the addons into two sections on the same window; one for existing downloads and the other for potential downloads. The existing downloads section will have an upgrade option if a newer version of an addon is detected. Upgradeable addons will have some sort of emphasis to show that a newer version is availiable. It will also include a remove option in case the user wants to remove the addon. All of the downloads will contain the currently implemented information, but also show the type of addon and the date the addon was uploaded. &lt;br /&gt;
&lt;br /&gt;
=== Server side ===&lt;br /&gt;
&lt;br /&gt;
According to the original idea, the server is in need of improvement. It needs to integrate with WesCamp more than it currently does and it needs to run python as well. I plan to modify the existing server, which is written in C++. Although one of the server's requirement is to run python code, the Python code can easily be embedded into C to fulfill this requirement. Although not much of a change, I would like to rename the &amp;quot;campaign server&amp;quot; in the code to a more correct &amp;quot;Addon server&amp;quot; for clarity. &lt;br /&gt;
&lt;br /&gt;
For WesCamp integration, I plan on discussing the requirements and desired features for the server with someone in WesCamp.&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
* General (now-ish to first week or so at most)&lt;br /&gt;
** Go over the wiki and read the Developer Information&lt;br /&gt;
** Try implementing an Easy Coding ideas to get a feel for SVN, the code&lt;br /&gt;
** Brush up on my Python skills, I need to look at the library some more. &lt;br /&gt;
** Study the existing Addon Server &lt;br /&gt;
* Development/Reasearch (to May 26-ish)&lt;br /&gt;
** Plan client side&lt;br /&gt;
*** Change the fields for the addons&lt;br /&gt;
*** study the gui library&lt;br /&gt;
*** design the gui for the client&lt;br /&gt;
** Plan server side&lt;br /&gt;
*** Look at the short comings of the current addon server&lt;br /&gt;
*** study the exact needs and requirements for WesCamp&lt;br /&gt;
*** determine the required adjustments to the server for this&lt;br /&gt;
*** learn more about embedding python code into C&lt;br /&gt;
*** study the exact needs for the WML tools&lt;br /&gt;
*** determine the required adjustments to the server for this&lt;br /&gt;
*** determine the required adjustments to the server for the updated client&lt;br /&gt;
&lt;br /&gt;
I intend to spend about the same side on each of the elements and follow them in sequential order.&lt;br /&gt;
&lt;br /&gt;
*Coding (after 26ish to a few weeks before end)&lt;br /&gt;
** server side (1st half doing whatever I planned)&lt;br /&gt;
** client side (2nd half doing whatever I planned)&lt;br /&gt;
&lt;br /&gt;
* After GSoC&lt;br /&gt;
** keep contributing&lt;br /&gt;
&lt;br /&gt;
=== Why? ===&lt;br /&gt;
I chose this project because it covers many different areas of programming. It  incorporates networking, and GUIs, both of which I have some experience already. Also, I feel like this is an important part of Wesnoth that might be overlooked at times since it isn't directly involved with gameplay. After the GSoC ends, I plan to stay with the community; my appreciation for Wesnoth and the friends I will make will keep me in the community.&lt;br /&gt;
&lt;br /&gt;
== Practical ==&lt;br /&gt;
After I complete this project I would like to have improved my coding skills and more importantly&lt;br /&gt;
learn about how coding is done in community projects. &lt;br /&gt;
&lt;br /&gt;
My only spoken language is English and  I am fluent in written English. I am awake at 10:30AM to 1:30AM (UTC) an I would not mind talking with a mentor over VOIP.&lt;br /&gt;
&lt;br /&gt;
== Short Essay ==&lt;br /&gt;
&lt;br /&gt;
	I wish to join this project for GSoC and beyond because of Wesnoth's strong community I wish to be a member of. The Battle for Wesnoth was one of the first open source games I used. Wesnoth stood out against most of the other games I previously played. It had a professional feel and had a strong sense of how I now view open source. &lt;br /&gt;
&lt;br /&gt;
	When I first took Computer Science in High School, I enjoyed the lab time writing programs. However, it took a bit longer for me to realize why. Coding for an assignment was enjoyable, but it was coding with a group of people that was more enjoyable. Talking about our assignments and working as a team was where the most enjoyment came from.  I feel The Battle for Wesnoth has the strong community where I won't just be working on my project, but contribute to a project surrounded by a helpful community. To me, Wesnoth is a strong example of an open source project. &lt;br /&gt;
&lt;br /&gt;
	Open source  is defined by the community that makes it. If the community is strong, the software will also be strong. This community has people all working together to make something worthwhile, for the good of the world. This community is open: it lets anyone come in and contribute ideas, art, code, etc. It also teaches people about everything. The source code given to anyone who wants to read it, however looking at the Wesnoth forums is stronger proof of the teaching power. When someone contributes art, it almost always is improved by the advice of others in the Wesnoth community. The same for translations: this community helps people find the right words for languages that they might not even speak. When I think about open source, I immediately think of the people who make projects like Wesnoth work. &lt;br /&gt;
&lt;br /&gt;
	I discovered open source through Linux and Wesnoth. A friend suggested that I should try Linux and I did. However, I decided to choose Debian because it was completely free, although I didn't grasp the true meaning until later.  I saw open source as simply source code that could be read. After I finally got KDE to work, I played some of the games that were included on the disks and one of them was The Battle for Wesnoth. When I the main menu appeared, I knew that this game was a work of art; The music, drawings, and the underlying code were all integrated to make a masterpiece. All of this work was done by a group of people not for profit, but for making an excellent game. This was all their work. Wesnoth defined my idea of open source from the naïve notion that  it is merely code that can be read to the definition explained above.   &lt;br /&gt;
&lt;br /&gt;
	I have much to gain working for open source software. I  have all the benefits of working for a software company, and much more. I get to meet people across the world. I join an open source community.  I will learn many things from this community. I will have an deeper understanding and appreciation for this project. I will improve my developing and coding skills. In addition, I will learn things not directly tied with coding. I may improve my art skills, for example, when I'm working on the GUI for the client with the help of the many artists who contribute to Wesnoth. &lt;br /&gt;
&lt;br /&gt;
	I also believe I have much to give to the community. I will be contributing with my project, but I will be contributing much more. This is another reason I wish to participate with Wesnoth for GSoC. This community facilitates communicating with different groups in Wesnoth. I will be contributing to different aspects of this software, it may be art, ideas, maybe even the Latin translation.&lt;br /&gt;
&lt;br /&gt;
	I enjoy trying to solve the problems I encounter. Whether in a game, life, developing or programming, I look for problems and try to fix them. It's an engineering thing I think. When I wrote my own programs, I always did something I knew I would have a little difficulty in. I would have to learn how to fix the problem. The satisfaction of solving a problem keeps me wanting to solve more problems. When I am writing part of a program that is not much of a problem, I keep motivated by remembering my goals for the program I'm writing. For the project for GSoC I would also be motivated by my sense of responsibility to the Wesnoth community. My thirst for knowledge also keeps me coding, I find researching what I have to do as enjoyable as designing programs. &lt;br /&gt;
&lt;br /&gt;
	I would be honored to work for The Battle for Wesnoth through GSoC.&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=24082</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=24082"/>
		<updated>2008-03-21T03:15:06Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: /* AddonServer (giebfried, refining idea) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a compilation of ideas from ML. Needs to be refined (more detailed description, deliverables, workload estimation?):&lt;br /&gt;
&lt;br /&gt;
== I want to be one of your Google Summer of Code students, what should I do... ==&lt;br /&gt;
&lt;br /&gt;
Here is a quick list of things to do to get you started&lt;br /&gt;
* Create an account on gna.org&lt;br /&gt;
* Create an account on the wesnoth forum&lt;br /&gt;
* 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&lt;br /&gt;
* Contact one of our SummerOfCode people (Ivanovic, Sirp, Boucman, Mordante) to have your forum nick marked as a Summer of code student&lt;br /&gt;
&lt;br /&gt;
* Start a wiki page about your idea, add a link on the bottom of this page and add this information on it:&lt;br /&gt;
** List your account names (gna, forum, irc nick) so that we can recognize you&lt;br /&gt;
** 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]]&lt;br /&gt;
** Detail your idea as much as possible, look at other students pages, and please give milestones and studies you've done&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
== List of Ideas for the Project (Suggestions from the wesnoth developers) ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Writing an AI based on the formula AI ===&lt;br /&gt;
&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
[[SoC Ideas FormulaAI]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[SoC Ideas Multiplayer server]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Scenario/Campaign editor ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[SoC Ideas Scenario and Campaign Editor]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Addon server ===&lt;br /&gt;
Wesnoth has an addon server which offers users to upload user &lt;br /&gt;
made content (UMC). This allows all other users of Wesnoth&lt;br /&gt;
to easily download and install this content. The server was &lt;br /&gt;
originally written for user-made campaigns but contains a lot&lt;br /&gt;
more types of addons nowadays. Both the server side and the &lt;br /&gt;
client side need to be improved.&lt;br /&gt;
&lt;br /&gt;
[[SoC Ideas Addon Server]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Map editor ===&lt;br /&gt;
The map editor in Wesnoth serves two goals, making it easy to create&lt;br /&gt;
a new map and helping the terrain artists to test their new terrains.&lt;br /&gt;
&lt;br /&gt;
[[SoC_Ideas_Map_Editor]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Other possible ideas to be fleshed out ===&lt;br /&gt;
A MapGenerator rewrite - better scalable for outdoor maps, plus the possibility to define areas (similar to the caverns in the cave generator) etc.&lt;br /&gt;
&lt;br /&gt;
=== Make your own ideas ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Information about our Project ==&lt;br /&gt;
The information we provided google with about our project can be looked up at the site [[SoC Information for Google]].&lt;br /&gt;
&lt;br /&gt;
== People to bug on IRC ==&lt;br /&gt;
We have prepared a list of people with their &amp;quot;area of competence&amp;quot;. 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:&lt;br /&gt;
&lt;br /&gt;
[[SoC People to bug on IRC]]&lt;br /&gt;
&lt;br /&gt;
== GSoC Student Applicant Ideas == &lt;br /&gt;
&lt;br /&gt;
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...):&lt;br /&gt;
&lt;br /&gt;
* Who are you? Please list your IRC and forum nickname in here and describe yourself so that we get you to know.&lt;br /&gt;
* 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.&lt;br /&gt;
* If you already submitted patches, please list those so that we have a reference.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[FormulaAIandDynamicScripting]] (barbarianhero) ===&lt;br /&gt;
This project idea uses Formula AI and Dynamic Scripting to create a tunable and adaptive AI.&lt;br /&gt;
&lt;br /&gt;
===[[FormulaAIandAdaptation]] (Alesis-Novik) ===&lt;br /&gt;
The new idea and aproach using strategic and inside game knowledge&lt;br /&gt;
&lt;br /&gt;
===[[ExtensibleScenarioEditor]] (david.hilton) ===&lt;br /&gt;
On a conceptual level, this idea combines a finite state machine editor with a code generator to create scenarios.&lt;br /&gt;
&lt;br /&gt;
===[[RandomCampaignGenerator]] (kartik thakore, refining idea) ===&lt;br /&gt;
Procedural map generation that will hope to give writers better control over the random map generator using an interface.&lt;br /&gt;
&lt;br /&gt;
===[[LaoSoCIdeas]] by lao ===&lt;br /&gt;
Under Construction...&lt;br /&gt;
&lt;br /&gt;
===[[AddonServer]] (giebfried) ===&lt;br /&gt;
This project is to improve the server and client sides of the addon server, as suggested above.&lt;br /&gt;
&lt;br /&gt;
===[[EvolutionaryMapEditor]] (xonev) ===&lt;br /&gt;
Under Construction&lt;br /&gt;
&lt;br /&gt;
===[[pyQTScenarioEditor]] (Malle) ===&lt;br /&gt;
Under Construction&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code|*]]&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24081</id>
		<title>AddonServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24081"/>
		<updated>2008-03-21T03:08:51Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: /* Experience */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Me ==&lt;br /&gt;
account names:&lt;br /&gt;
 &lt;br /&gt;
gna: giebfried&lt;br /&gt;
&lt;br /&gt;
forum: giebfried&lt;br /&gt;
&lt;br /&gt;
irc: giebfried&lt;br /&gt;
&lt;br /&gt;
preferred email: andrewgiebfried@gmail.com&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Hi, I'm Andrew Giebfried and I'd like to participate in Summer of Code primarily to learn first hand how programs are written in a group environment. In addition, working for GSoC will help fulfill some of my academic program's &amp;quot;Work Term&amp;quot; requirements. Currently, I am in first year engineering with the intent of going into computer engineering.&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
I have worked on many of my own small to medium-sized programs on various things. I have only worked on individual projects so far. This will be my first time participating in Google Summer of Code. I am not involved with any open-source projects so far.&lt;br /&gt;
&lt;br /&gt;
I am a bit of a gamer, most of the games I find myself playing mostly turn-based strategy games with a few real time strategy games as well. I find game play crucial, but the storyline is still very important. I've played Wesnoth for awhile, probably 2 years. I play single player - mostly with the campaigns but I've also played some multiplayer maps versus the AI as well. &lt;br /&gt;
&lt;br /&gt;
I take advice very well and can discern good advice from useless advice.&lt;br /&gt;
&lt;br /&gt;
*Programming Languages&lt;br /&gt;
** Java   (over 3 1/2 years of experience) &lt;br /&gt;
** C++    (over 2 years, but I haven't made very large programs with it)&lt;br /&gt;
** Python (over 2 1/2 years, but I haven't made very large programs with it)&lt;br /&gt;
&lt;br /&gt;
I have two years of AP Com Sci and a year of Independent Study in Computing in high school where I used Java. For a post AP-exam project I developed a simple graphical game one year and a very crude IDE for Java. I currently am taking a required class in basic programming in C++. I learned Python in my spare time. In my independent study, I studied drag and drop, networking, the implementation of the math library, and I partially made a simple paint program similar to MS paint. &lt;br /&gt;
&lt;br /&gt;
*Miscellanea &lt;br /&gt;
** Linux - I've used Linux for over 2 years&lt;br /&gt;
** SVN - I am very new to this.&lt;br /&gt;
** Terminal - I know my way around.&lt;br /&gt;
&lt;br /&gt;
For this project I would use the Iterative and Incremental development model.&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
I intend to work on the suggested project:[[SoC_Ideas_Addon_Server]]. In this project, I plan to update the existing server code for strong integration with WesCamp and use certain WML tools on content. For the client side, I plan to make the addon server GUI more informative to the user as well as simple and straight-forward to use. I also plan to make updates simple to notice for the client. Map Packs, Eras, etc. would be shown in separate categories from campaigns and easier to download and use for the client. &lt;br /&gt;
&lt;br /&gt;
I plan to spend about half of my time on the server side and half on the client side. IFor the server side, I will also spend about half of that time on WesCamp work and the WML tools work. On the client side, I plan to work on functionality first and then enhance the GUI.  For the GUI I plan to redesign the current screen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client side ===&lt;br /&gt;
&lt;br /&gt;
For the client side I think the way the data is presented is not intuitive for the user. The current client in the does not inform the user of the type of download (i.e. campaign, Era, map pack) except by the name of the file. In addition it does not notify the user if they already have the addon. The age of the addons is also missing from the data. The remove addon feature is distant from the rest of the client gui. I would like to split the addons into two sections on the same window; one for existing downloads and the other for potential downloads. The existing downloads section will have an upgrade option if a newer version of an addon is detected. Upgradeable addons will have some sort of emphasis to show that a newer version is availiable. It will also include a remove option in case the user wants to remove the addon. All of the downloads will contain the currently implemented information, but also show the type of addon and the date the addon was uploaded. &lt;br /&gt;
&lt;br /&gt;
=== Server side ===&lt;br /&gt;
&lt;br /&gt;
According to the original idea, the server is in need of improvement. It needs to integrate with WesCamp more than it currently does and it needs to run python as well. I plan to modify the existing server, which is written in C++. Although one of the server's requirement is to run python code, the Python code can easily be embedded into C to fulfill this requirement. Although not much of a change, I would like to rename the &amp;quot;campaign server&amp;quot; in the code to a more correct &amp;quot;Addon server&amp;quot; for clarity. &lt;br /&gt;
&lt;br /&gt;
For WesCamp integration, I plan on discussing the requirements and desired features for the server with someone in WesCamp.&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
* General (now-ish to first week or so at most)&lt;br /&gt;
** Go over the wiki and read the Developer Information&lt;br /&gt;
** Try implementing an Easy Coding ideas to get a feel for SVN, the code&lt;br /&gt;
** Brush up on my Python skills, I need to look at the library for &lt;br /&gt;
** Study the existing Addon Server &lt;br /&gt;
* Development/Reasearch (to May 26-ish)&lt;br /&gt;
** Plan client side&lt;br /&gt;
*** Change the fields for the addons&lt;br /&gt;
*** study the gui library&lt;br /&gt;
*** design the gui for the client&lt;br /&gt;
** Plan server side&lt;br /&gt;
*** Look at the short comings of the current addon server&lt;br /&gt;
*** study the exact needs and requirements for WesCamp&lt;br /&gt;
*** determine the required adjustments to the server for this&lt;br /&gt;
*** learn more about embedding python code into C&lt;br /&gt;
*** study the exact needs for the WML tools&lt;br /&gt;
*** determine the required adjustments to the server for this&lt;br /&gt;
*** determine the required adjustments to the server for the updated client&lt;br /&gt;
&lt;br /&gt;
I intend to spend about the same side on each of the elements and follow them in sequential order.&lt;br /&gt;
&lt;br /&gt;
*Coding (after 26ish to a few weeks before end)&lt;br /&gt;
** server side (1st half)&lt;br /&gt;
** client side (2nd half)&lt;br /&gt;
&lt;br /&gt;
* After GSoC&lt;br /&gt;
** keep contributing&lt;br /&gt;
&lt;br /&gt;
=== Why? ===&lt;br /&gt;
I chose this project because it covers many different areas of programming. It  incorporates networking, and GUIs, both of which I have some experience already. Also, I feel like this is an important part of Wesnoth that might be overlooked at times since it isn't directly involved with gameplay. After the GSoC ends, I plan to stay with the community; my appreciation for Wesnoth and the friends I will make will keep me in the community.&lt;br /&gt;
&lt;br /&gt;
== Practical ==&lt;br /&gt;
After I complete this project I would like to have improved my coding skills and more importantly&lt;br /&gt;
learn about how coding is done in community projects. &lt;br /&gt;
&lt;br /&gt;
My only spoken language is English and  I am fluent in written English. I am awake at 10:30AM to 1:30AM (UTC) an I would not mind talking with a mentor over VOIP.&lt;br /&gt;
&lt;br /&gt;
== Short Essay ==&lt;br /&gt;
&lt;br /&gt;
	I wish to join this project for GSoC and beyond because of Wesnoth's strong community I wish to be a member of. The Battle for Wesnoth was one of the first open source games I used. Wesnoth stood out against most of the other games I previously played. It had a professional feel and had a strong sense of how I now view open source. &lt;br /&gt;
&lt;br /&gt;
	When I first took Computer Science in High School, I enjoyed the lab time writing programs. However, it took a bit longer for me to realize why. Coding for an assignment was enjoyable, but it was coding with a group of people that was more enjoyable. Talking about our assignments and working as a team was where the most enjoyment came from.  I feel The Battle for Wesnoth has the strong community where I won't just be working on my project, but contribute to a project surrounded by a helpful community. To me, Wesnoth is a strong example of an open source project. &lt;br /&gt;
&lt;br /&gt;
	Open source  is defined by the community that makes it. If the community is strong, the software will also be strong. This community has people all working together to make something worthwhile, for the good of the world. This community is open: it lets anyone come in and contribute ideas, art, code, etc. It also teaches people about everything. The source code given to anyone who wants to read it, however looking at the Wesnoth forums is stronger proof of the teaching power. When someone contributes art, it almost always is improved by the advice of others in the Wesnoth community. The same for translations: this community helps people find the right words for languages that they might not even speak. When I think about open source, I immediately think of the people who make projects like Wesnoth work. &lt;br /&gt;
&lt;br /&gt;
	I discovered open source through Linux and Wesnoth. A friend suggested that I should try Linux and I did. However, I decided to choose Debian because it was completely free, although I didn't grasp the true meaning until later.  I saw open source as simply source code that could be read. After I finally got KDE to work, I played some of the games that were included on the disks and one of them was The Battle for Wesnoth. When I the main menu appeared, I knew that this game was a work of art; The music, drawings, and the underlying code were all integrated to make a masterpiece. All of this work was done by a group of people not for profit, but for making an excellent game. This was all their work. Wesnoth defined my idea of open source from the naïve notion that  it is merely code that can be read to the definition explained above.   &lt;br /&gt;
&lt;br /&gt;
	I have much to gain working for open source software. I  have all the benefits of working for a software company, and much more. I get to meet people across the world. I join an open source community.  I will learn many things from this community. I will have an deeper understanding and appreciation for this project. I will improve my developing and coding skills. In addition, I will learn things not directly tied with coding. I may improve my art skills, for example, when I'm working on the GUI for the client with the help of the many artists who contribute to Wesnoth. &lt;br /&gt;
&lt;br /&gt;
	I also believe I have much to give to the community. I will be contributing with my project, but I will be contributing much more. This is another reason I wish to participate with Wesnoth for GSoC. This community facilitates communicating with different groups in Wesnoth. I will be contributing to different aspects of this software, it may be art, ideas, maybe even the Latin translation.&lt;br /&gt;
&lt;br /&gt;
	I enjoy trying to solve the problems I encounter. Whether in a game, life, developing or programming, I look for problems and try to fix them. It's an engineering thing I think. When I wrote my own programs, I always did something I knew I would have a little difficulty in. I would have to learn how to fix the problem. The satisfaction of solving a problem keeps me wanting to solve more problems. When I am writing part of a program that is not much of a problem, I keep motivated by remembering my goals for the program I'm writing. For the project for GSoC I would also be motivated by my sense of responsibility to the Wesnoth community. My thirst for knowledge also keeps me coding, I find researching what I have to do as enjoyable as designing programs. &lt;br /&gt;
&lt;br /&gt;
	I would be honored to work for The Battle for Wesnoth through GSoC.&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24080</id>
		<title>AddonServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24080"/>
		<updated>2008-03-21T02:44:18Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: /* Idea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Me ==&lt;br /&gt;
account names:&lt;br /&gt;
 &lt;br /&gt;
gna: giebfried&lt;br /&gt;
&lt;br /&gt;
forum: giebfried&lt;br /&gt;
&lt;br /&gt;
irc: giebfried&lt;br /&gt;
&lt;br /&gt;
preferred email: andrewgiebfried@gmail.com&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Hi, I'm Andrew Giebfried and I'd like to participate in Summer of Code primarily to learn first hand how programs are written in a group environment. In addition, working for GSoC will help fulfill some of my academic program's &amp;quot;Work Term&amp;quot; requirements. Currently, I am in first year engineering with the intent of going into computer engineering.&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
I have worked on many of my own small to medium-sized programs on various things. I have only worked on individual projects so far. This will be my first time participating in Google Summer of Code. I am not involved with any open-source projects so far.&lt;br /&gt;
&lt;br /&gt;
I am a bit of a gamer, most of the games I find myself playing mostly turn-based strategy games with a few real time strategy games as well. I find game play crucial, but the storyline is still very important. I've played Wesnoth for awhile, probably 2 years. I play single player - mostly with the campaigns but I've also played some multiplayer maps versus the AI as well. &lt;br /&gt;
&lt;br /&gt;
I take advice very well and can discern good advice from useless advice.&lt;br /&gt;
&lt;br /&gt;
I am fluent in Java and I know C++ and Python. I mostly use Eclipse to develop code written in Java and C++. I have used Java for over three years and I have used Python and C++ to a lesser extent for over a year. I have two years of AP Com Sci and a year of independent study in computing in high school where I used Java. I currently am taking a required class in basic programming in C++. In my independent study I studied drag and drop, networking, the implementation of the math library, and a simple paint program.&lt;br /&gt;
&lt;br /&gt;
I have not used SVN yet, but I will learn it soon.&lt;br /&gt;
&lt;br /&gt;
For this project I would use the Iterative and Incremental development model.&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
I intend to work on the suggested project:[[SoC_Ideas_Addon_Server]]. In this project, I plan to update the existing server code for strong integration with WesCamp and use certain WML tools on content. For the client side, I plan to make the addon server GUI more informative to the user as well as simple and straight-forward to use. I also plan to make updates simple to notice for the client. Map Packs, Eras, etc. would be shown in separate categories from campaigns and easier to download and use for the client. &lt;br /&gt;
&lt;br /&gt;
I plan to spend about half of my time on the server side and half on the client side. IFor the server side, I will also spend about half of that time on WesCamp work and the WML tools work. On the client side, I plan to work on functionality first and then enhance the GUI.  For the GUI I plan to redesign the current screen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client side ===&lt;br /&gt;
&lt;br /&gt;
For the client side I think the way the data is presented is not intuitive for the user. The current client in the does not inform the user of the type of download (i.e. campaign, Era, map pack) except by the name of the file. In addition it does not notify the user if they already have the addon. The age of the addons is also missing from the data. The remove addon feature is distant from the rest of the client gui. I would like to split the addons into two sections on the same window; one for existing downloads and the other for potential downloads. The existing downloads section will have an upgrade option if a newer version of an addon is detected. Upgradeable addons will have some sort of emphasis to show that a newer version is availiable. It will also include a remove option in case the user wants to remove the addon. All of the downloads will contain the currently implemented information, but also show the type of addon and the date the addon was uploaded. &lt;br /&gt;
&lt;br /&gt;
=== Server side ===&lt;br /&gt;
&lt;br /&gt;
According to the original idea, the server is in need of improvement. It needs to integrate with WesCamp more than it currently does and it needs to run python as well. I plan to modify the existing server, which is written in C++. Although one of the server's requirement is to run python code, the Python code can easily be embedded into C to fulfill this requirement. Although not much of a change, I would like to rename the &amp;quot;campaign server&amp;quot; in the code to a more correct &amp;quot;Addon server&amp;quot; for clarity. &lt;br /&gt;
&lt;br /&gt;
For WesCamp integration, I plan on discussing the requirements and desired features for the server with someone in WesCamp.&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
* General (now-ish to first week or so at most)&lt;br /&gt;
** Go over the wiki and read the Developer Information&lt;br /&gt;
** Try implementing an Easy Coding ideas to get a feel for SVN, the code&lt;br /&gt;
** Brush up on my Python skills, I need to look at the library for &lt;br /&gt;
** Study the existing Addon Server &lt;br /&gt;
* Development/Reasearch (to May 26-ish)&lt;br /&gt;
** Plan client side&lt;br /&gt;
*** Change the fields for the addons&lt;br /&gt;
*** study the gui library&lt;br /&gt;
*** design the gui for the client&lt;br /&gt;
** Plan server side&lt;br /&gt;
*** Look at the short comings of the current addon server&lt;br /&gt;
*** study the exact needs and requirements for WesCamp&lt;br /&gt;
*** determine the required adjustments to the server for this&lt;br /&gt;
*** learn more about embedding python code into C&lt;br /&gt;
*** study the exact needs for the WML tools&lt;br /&gt;
*** determine the required adjustments to the server for this&lt;br /&gt;
*** determine the required adjustments to the server for the updated client&lt;br /&gt;
&lt;br /&gt;
I intend to spend about the same side on each of the elements and follow them in sequential order.&lt;br /&gt;
&lt;br /&gt;
*Coding (after 26ish to a few weeks before end)&lt;br /&gt;
** server side (1st half)&lt;br /&gt;
** client side (2nd half)&lt;br /&gt;
&lt;br /&gt;
* After GSoC&lt;br /&gt;
** keep contributing&lt;br /&gt;
&lt;br /&gt;
=== Why? ===&lt;br /&gt;
I chose this project because it covers many different areas of programming. It  incorporates networking, and GUIs, both of which I have some experience already. Also, I feel like this is an important part of Wesnoth that might be overlooked at times since it isn't directly involved with gameplay. After the GSoC ends, I plan to stay with the community; my appreciation for Wesnoth and the friends I will make will keep me in the community.&lt;br /&gt;
&lt;br /&gt;
== Practical ==&lt;br /&gt;
After I complete this project I would like to have improved my coding skills and more importantly&lt;br /&gt;
learn about how coding is done in community projects. &lt;br /&gt;
&lt;br /&gt;
My only spoken language is English and  I am fluent in written English. I am awake at 10:30AM to 1:30AM (UTC) an I would not mind talking with a mentor over VOIP.&lt;br /&gt;
&lt;br /&gt;
== Short Essay ==&lt;br /&gt;
&lt;br /&gt;
	I wish to join this project for GSoC and beyond because of Wesnoth's strong community I wish to be a member of. The Battle for Wesnoth was one of the first open source games I used. Wesnoth stood out against most of the other games I previously played. It had a professional feel and had a strong sense of how I now view open source. &lt;br /&gt;
&lt;br /&gt;
	When I first took Computer Science in High School, I enjoyed the lab time writing programs. However, it took a bit longer for me to realize why. Coding for an assignment was enjoyable, but it was coding with a group of people that was more enjoyable. Talking about our assignments and working as a team was where the most enjoyment came from.  I feel The Battle for Wesnoth has the strong community where I won't just be working on my project, but contribute to a project surrounded by a helpful community. To me, Wesnoth is a strong example of an open source project. &lt;br /&gt;
&lt;br /&gt;
	Open source  is defined by the community that makes it. If the community is strong, the software will also be strong. This community has people all working together to make something worthwhile, for the good of the world. This community is open: it lets anyone come in and contribute ideas, art, code, etc. It also teaches people about everything. The source code given to anyone who wants to read it, however looking at the Wesnoth forums is stronger proof of the teaching power. When someone contributes art, it almost always is improved by the advice of others in the Wesnoth community. The same for translations: this community helps people find the right words for languages that they might not even speak. When I think about open source, I immediately think of the people who make projects like Wesnoth work. &lt;br /&gt;
&lt;br /&gt;
	I discovered open source through Linux and Wesnoth. A friend suggested that I should try Linux and I did. However, I decided to choose Debian because it was completely free, although I didn't grasp the true meaning until later.  I saw open source as simply source code that could be read. After I finally got KDE to work, I played some of the games that were included on the disks and one of them was The Battle for Wesnoth. When I the main menu appeared, I knew that this game was a work of art; The music, drawings, and the underlying code were all integrated to make a masterpiece. All of this work was done by a group of people not for profit, but for making an excellent game. This was all their work. Wesnoth defined my idea of open source from the naïve notion that  it is merely code that can be read to the definition explained above.   &lt;br /&gt;
&lt;br /&gt;
	I have much to gain working for open source software. I  have all the benefits of working for a software company, and much more. I get to meet people across the world. I join an open source community.  I will learn many things from this community. I will have an deeper understanding and appreciation for this project. I will improve my developing and coding skills. In addition, I will learn things not directly tied with coding. I may improve my art skills, for example, when I'm working on the GUI for the client with the help of the many artists who contribute to Wesnoth. &lt;br /&gt;
&lt;br /&gt;
	I also believe I have much to give to the community. I will be contributing with my project, but I will be contributing much more. This is another reason I wish to participate with Wesnoth for GSoC. This community facilitates communicating with different groups in Wesnoth. I will be contributing to different aspects of this software, it may be art, ideas, maybe even the Latin translation.&lt;br /&gt;
&lt;br /&gt;
	I enjoy trying to solve the problems I encounter. Whether in a game, life, developing or programming, I look for problems and try to fix them. It's an engineering thing I think. When I wrote my own programs, I always did something I knew I would have a little difficulty in. I would have to learn how to fix the problem. The satisfaction of solving a problem keeps me wanting to solve more problems. When I am writing part of a program that is not much of a problem, I keep motivated by remembering my goals for the program I'm writing. For the project for GSoC I would also be motivated by my sense of responsibility to the Wesnoth community. My thirst for knowledge also keeps me coding, I find researching what I have to do as enjoyable as designing programs. &lt;br /&gt;
&lt;br /&gt;
	I would be honored to work for The Battle for Wesnoth through GSoC.&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=24052</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=24052"/>
		<updated>2008-03-21T01:20:15Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: /* AddonServer (giebfried) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a compilation of ideas from ML. Needs to be refined (more detailed description, deliverables, workload estimation?):&lt;br /&gt;
&lt;br /&gt;
== I want to be one of your Google Summer of Code students, what should I do... ==&lt;br /&gt;
&lt;br /&gt;
Here is a quick list of things to do to get you started&lt;br /&gt;
* Create an account on gna.org&lt;br /&gt;
* Create an account on the wesnoth forum&lt;br /&gt;
* 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&lt;br /&gt;
* Contact one of our SummerOfCode people (Ivanovic, Sirp, Boucman, Mordante) to have your forum nick marked as a Summer of code student&lt;br /&gt;
&lt;br /&gt;
* Start a wiki page about your idea, add a link on the bottom of this page and add this information on it:&lt;br /&gt;
** List your account names (gna, forum, irc nick) so that we can recognize you&lt;br /&gt;
** 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]]&lt;br /&gt;
** Detail your idea as much as possible, look at other students pages, and please give milestones and studies you've done&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
== List of Ideas for the Project (Suggestions from the wesnoth developers) ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Writing an AI based on the formula AI ===&lt;br /&gt;
&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
[[SoC Ideas FormulaAI]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[SoC Ideas Multiplayer server]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Scenario/Campaign editor ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[SoC Ideas Scenario and Campaign Editor]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Addon server ===&lt;br /&gt;
Wesnoth has an addon server which offers users to upload user &lt;br /&gt;
made content (UMC). This allows all other users of Wesnoth&lt;br /&gt;
to easily download and install this content. The server was &lt;br /&gt;
originally written for user-made campaigns but contains a lot&lt;br /&gt;
more types of addons nowadays. Both the server side and the &lt;br /&gt;
client side need to be improved.&lt;br /&gt;
&lt;br /&gt;
[[SoC Ideas Addon Server]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Map editor ===&lt;br /&gt;
The map editor in Wesnoth serves two goals, making it easy to create&lt;br /&gt;
a new map and helping the terrain artists to test their new terrains.&lt;br /&gt;
&lt;br /&gt;
[[SoC_Ideas_Map_Editor]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Other possible ideas to be fleshed out ===&lt;br /&gt;
A MapGenerator rewrite - better scalable for outdoor maps, plus the possibility to define areas (similar to the caverns in the cave generator) etc.&lt;br /&gt;
&lt;br /&gt;
=== Make your own ideas ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Information about our Project ==&lt;br /&gt;
The information we provided google with about our project can be looked up at the site [[SoC Information for Google]].&lt;br /&gt;
&lt;br /&gt;
== People to bug on IRC ==&lt;br /&gt;
We have prepared a list of people with their &amp;quot;area of competence&amp;quot;. 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:&lt;br /&gt;
&lt;br /&gt;
[[SoC People to bug on IRC]]&lt;br /&gt;
&lt;br /&gt;
== GSoC Student Applicant Ideas == &lt;br /&gt;
&lt;br /&gt;
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...):&lt;br /&gt;
&lt;br /&gt;
* Who are you? Please list your IRC and forum nickname in here and describe yourself so that we get you to know.&lt;br /&gt;
* 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.&lt;br /&gt;
* If you already submitted patches, please list those so that we have a reference.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[FormulaAIandDynamicScripting]] (barbarianhero) ===&lt;br /&gt;
This project idea uses Formula AI and Dynamic Scripting to create a tunable and adaptive AI.&lt;br /&gt;
&lt;br /&gt;
===[[FormulaAIandAdaptation]] (Alesis-Novik) ===&lt;br /&gt;
The new idea and aproach using strategic and inside game knowledge&lt;br /&gt;
&lt;br /&gt;
===[[ExtensibleScenarioEditor]] (david.hilton) ===&lt;br /&gt;
On a conceptual level, this idea combines a finite state machine editor with a code generator to create scenarios.&lt;br /&gt;
&lt;br /&gt;
===[[RandomCampaignGenerator]] (kartik thakore) ===&lt;br /&gt;
Procedural map generation that will hope to give writers better control over the random map generator using an interface.&lt;br /&gt;
&lt;br /&gt;
===[[LaoSoCIdeas]] by lao ===&lt;br /&gt;
Under Construction...&lt;br /&gt;
&lt;br /&gt;
===[[AddonServer]] (giebfried, refining idea) ===&lt;br /&gt;
This project is to improve the server and client sides of the addon server, as suggested above.&lt;br /&gt;
&lt;br /&gt;
===[[EvolutionaryMapEditor]] (xonev) ===&lt;br /&gt;
Under Construction&lt;br /&gt;
&lt;br /&gt;
===[[pyQTScenarioEditor]] (Malle) ===&lt;br /&gt;
Under Construction&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code|*]]&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24051</id>
		<title>AddonServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24051"/>
		<updated>2008-03-21T01:19:39Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: /* Idea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Me ==&lt;br /&gt;
account names:&lt;br /&gt;
 &lt;br /&gt;
gna: giebfried&lt;br /&gt;
&lt;br /&gt;
forum: giebfried&lt;br /&gt;
&lt;br /&gt;
irc: giebfried&lt;br /&gt;
&lt;br /&gt;
preferred email: andrewgiebfried@gmail.com&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Hi, I'm Andrew Giebfried and I'd like to participate in Summer of Code primarily to learn first hand how programs are written in a group environment. In addition, working for GSoC will help fulfill some of my academic program's &amp;quot;Work Term&amp;quot; requirements. Currently, I am in first year engineering with the intent of going into computer engineering.&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
I have worked on many of my own small to medium-sized programs on various things. I have only worked on individual projects so far. This will be my first time participating in Google Summer of Code. I am not involved with any open-source projects so far.&lt;br /&gt;
&lt;br /&gt;
I am a bit of a gamer, most of the games I find myself playing mostly turn-based strategy games with a few real time strategy games as well. I find game play crucial, but the storyline is still very important. I've played Wesnoth for awhile, probably 2 years. I play single player - mostly with the campaigns but I've also played some multiplayer maps versus the AI as well. &lt;br /&gt;
&lt;br /&gt;
I take advice very well and can discern good advice from useless advice.&lt;br /&gt;
&lt;br /&gt;
I am fluent in Java and I know C++ and Python. I mostly use Eclipse to develop code written in Java and C++. I have used Java for over three years and I have used Python and C++ to a lesser extent for over a year. I have two years of AP Com Sci and a year of independent study in computing in high school where I used Java. I currently am taking a required class in basic programming in C++. In my independent study I studied drag and drop, networking, the implementation of the math library, and a simple paint program.&lt;br /&gt;
&lt;br /&gt;
I have not used SVN yet, but I will learn it soon.&lt;br /&gt;
&lt;br /&gt;
For this project I would use the Iterative and Incremental development model.&lt;br /&gt;
&lt;br /&gt;
== Idea (improving/clarifying) ==&lt;br /&gt;
I intend to work on the suggested project:[[SoC_Ideas_Addon_Server]]. In this project, I plan to update the existing server code for strong integration with WesCamp and use certain WML tools on content. For the client side, I plan to make the addon server GUI more informative to the user as well as simple and straight-forward to use. I also plan to make updates simple to notice for the client. Translations, Eras, etc would be shown in separate categories from campaigns and easier to download and use for the client. &lt;br /&gt;
&lt;br /&gt;
I plan to spend about half of my time on the server side and half on the client side. I will start working with most of my emphasis on the server side and then work on the client side. For the server side, I will also spend about half of that time on WesCamp work and the WML tools work. On the client side, I plan to work on functionality first and then enhance the GUI.  For the GUI I plan to redesign the current screen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client side ===&lt;br /&gt;
&lt;br /&gt;
For the client side I think the way the data is presented is not intuitive for the user. The current client does not inform the user of the type of download (i.e. campaign, Era, map pack) except by the name of the file. In addition it does not notify the user if they already have the addon. The remove addon feature is distant from the rest of the client gui. I would like to split the addons into two sections on the same window; one for existing downloads and the other for potential downloads. The existing downloads section will have an upgrade option if a newer version of an addon is detected. All of the downloads will contain the current information, but also show the type of addon. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Server side ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
* General (first week or so at most)&lt;br /&gt;
** Try implementing an Easy Coding ideas to get a feel for SVN, the code&lt;br /&gt;
* Development (to May 26-ish)&lt;br /&gt;
** plan server side&lt;br /&gt;
*** Look at the short comings of the current addon server&lt;br /&gt;
*** study the exact needs and requirements for WesCamp&lt;br /&gt;
*** determine the required adjustments to the server for this &lt;br /&gt;
*** study the exact needs for the WML tools&lt;br /&gt;
*** determine the required adjustments to the server for this&lt;br /&gt;
** plan client side&lt;br /&gt;
*** Change the fields for the addons&lt;br /&gt;
*** study the gui library&lt;br /&gt;
*** design the gui for the client, i have a basic idea already but I will make the specifics concrete here.&lt;br /&gt;
I intend to spend about the same side on each of the elements and follow them in sequential order.&lt;br /&gt;
&lt;br /&gt;
*coding (after 26ish to a few weeks before end)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Why? ===&lt;br /&gt;
I chose this project because it covers many different areas of programming. It  incorporates networking,  and GUIs, both of which I have some experience already. Also, I feel like this is an important part of Wesnoth that might be overlooked at times since it isn't directly involved with gameplay. After the GSoC ends, I plan to stay with the community; my appreciation for Wesnoth and the friends I will make will keep me in the community.&lt;br /&gt;
&lt;br /&gt;
== Practical ==&lt;br /&gt;
After I complete this project I would like to have improved my coding skills and more importantly&lt;br /&gt;
learn about how coding is done in community projects. &lt;br /&gt;
&lt;br /&gt;
My only spoken language is English and  I am fluent in written English. I am awake at 10:30AM to 1:30AM (UTC) an I would not mind talking with a mentor over VOIP.&lt;br /&gt;
&lt;br /&gt;
== Short Essay ==&lt;br /&gt;
&lt;br /&gt;
	I wish to join this project for GSoC and beyond because of Wesnoth's strong community I wish to be a member of. The Battle for Wesnoth was one of the first open source games I used. Wesnoth stood out against most of the other games I previously played. It had a professional feel and had a strong sense of how I now view open source. &lt;br /&gt;
&lt;br /&gt;
	When I first took Computer Science in High School, I enjoyed the lab time writing programs. However, it took a bit longer for me to realize why. Coding for an assignment was enjoyable, but it was coding with a group of people that was more enjoyable. Talking about our assignments and working as a team was where the most enjoyment came from.  I feel The Battle for Wesnoth has the strong community where I won't just be working on my project, but contribute to a project surrounded by a helpful community. To me, Wesnoth is a strong example of an open source project. &lt;br /&gt;
&lt;br /&gt;
	Open source  is defined by the community that makes it. If the community is strong, the software will also be strong. This community has people all working together to make something worthwhile, for the good of the world. This community is open: it lets anyone come in and contribute ideas, art, code, etc. It also teaches people about everything. The source code given to anyone who wants to read it, however looking at the Wesnoth forums is stronger proof of the teaching power. When someone contributes art, it almost always is improved by the advice of others in the Wesnoth community. The same for translations: this community helps people find the right words for languages that they might not even speak. When I think about open source, I immediately think of the people who make projects like Wesnoth work. &lt;br /&gt;
&lt;br /&gt;
	I discovered open source through Linux and Wesnoth. A friend suggested that I should try Linux and I did. However, I decided to choose Debian because it was completely free, although I didn't grasp the true meaning until later.  I saw open source as simply source code that could be read. After I finally got KDE to work, I played some of the games that were included on the disks and one of them was The Battle for Wesnoth. When I the main menu appeared, I knew that this game was a work of art; The music, drawings, and the underlying code were all integrated to make a masterpiece. All of this work was done by a group of people not for profit, but for making an excellent game. This was all their work. Wesnoth defined my idea of open source from the naïve notion that  it is merely code that can be read to the definition explained above.   &lt;br /&gt;
&lt;br /&gt;
	I have much to gain working for open source software. I  have all the benefits of working for a software company, and much more. I get to meet people across the world. I join an open source community.  I will learn many things from this community. I will have an deeper understanding and appreciation for this project. I will improve my developing and coding skills. In addition, I will learn things not directly tied with coding. I may improve my art skills, for example, when I'm working on the GUI for the client with the help of the many artists who contribute to Wesnoth. &lt;br /&gt;
&lt;br /&gt;
	I also believe I have much to give to the community. I will be contributing with my project, but I will be contributing much more. This is another reason I wish to participate with Wesnoth for GSoC. This community facilitates communicating with different groups in Wesnoth. I will be contributing to different aspects of this software, it may be art, ideas, maybe even the Latin translation.&lt;br /&gt;
&lt;br /&gt;
	I enjoy trying to solve the problems I encounter. Whether in a game, life, developing or programming, I look for problems and try to fix them. It's an engineering thing I think. When I wrote my own programs, I always did something I knew I would have a little difficulty in. I would have to learn how to fix the problem. The satisfaction of solving a problem keeps me wanting to solve more problems. When I am writing part of a program that is not much of a problem, I keep motivated by remembering my goals for the program I'm writing. For the project for GSoC I would also be motivated by my sense of responsibility to the Wesnoth community. My thirst for knowledge also keeps me coding, I find researching what I have to do as enjoyable as designing programs. &lt;br /&gt;
&lt;br /&gt;
	I would be honored to work for The Battle for Wesnoth through GSoC.&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24047</id>
		<title>AddonServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24047"/>
		<updated>2008-03-21T00:28:12Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: /* Experience */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Me ==&lt;br /&gt;
account names:&lt;br /&gt;
 &lt;br /&gt;
gna: giebfried&lt;br /&gt;
&lt;br /&gt;
forum: giebfried&lt;br /&gt;
&lt;br /&gt;
irc: giebfried&lt;br /&gt;
&lt;br /&gt;
preferred email: andrewgiebfried@gmail.com&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Hi, I'm Andrew Giebfried and I'd like to participate in Summer of Code primarily to learn first hand how programs are written in a group environment. In addition, working for GSoC will help fulfill some of my academic program's &amp;quot;Work Term&amp;quot; requirements. Currently, I am in first year engineering with the intent of going into computer engineering.&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
I have worked on many of my own small to medium-sized programs on various things. I have only worked on individual projects so far. This will be my first time participating in Google Summer of Code. I am not involved with any open-source projects so far.&lt;br /&gt;
&lt;br /&gt;
I am a bit of a gamer, most of the games I find myself playing mostly turn-based strategy games with a few real time strategy games as well. I find game play crucial, but the storyline is still very important. I've played Wesnoth for awhile, probably 2 years. I play single player - mostly with the campaigns but I've also played some multiplayer maps versus the AI as well. &lt;br /&gt;
&lt;br /&gt;
I take advice very well and can discern good advice from useless advice.&lt;br /&gt;
&lt;br /&gt;
I am fluent in Java and I know C++ and Python. I mostly use Eclipse to develop code written in Java and C++. I have used Java for over three years and I have used Python and C++ to a lesser extent for over a year. I have two years of AP Com Sci and a year of independent study in computing in high school where I used Java. I currently am taking a required class in basic programming in C++. In my independent study I studied drag and drop, networking, the implementation of the math library, and a simple paint program.&lt;br /&gt;
&lt;br /&gt;
I have not used SVN yet, but I will learn it soon.&lt;br /&gt;
&lt;br /&gt;
For this project I would use the Iterative and Incremental development model.&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
I intend to work on the suggested project on the addon server. I plan to update the existing server code for strong integration with WesCamp and use certain WML tools on content. For the client side, I plan to make the addon server GUI more informative to the user as well as simple and straight-forward to use. I also plan to make updates simple to notice for the client. Translations, Eras, etc would be shown in separate categories from campaigns and easier to download and use for the client. &lt;br /&gt;
&lt;br /&gt;
I plan to spend about half of my time on the server side and half on the client side. I will start working with most of my emphasis on the server side and then work on the client side. For the server side, I will also spend about half of that time on WesCamp work and the WML tools work. On the client side, I plan to work on functionality first and then enhance the GUI.  For the GUI I plan to redesign the current screen  &lt;br /&gt;
&lt;br /&gt;
I chose this project because it covers many different areas of programming. It  incorporates networking,  and GUIs, both of which I have some experience already. Also, I feel like this is an important part of Wesnoth that might be overlooked at times since it isn't directly involved with gameplay. After the GsoC ends, I plan to stay with the community; my appreciation for Wesnoth and the friends I will make will keep me in the community.&lt;br /&gt;
&lt;br /&gt;
== Practical ==&lt;br /&gt;
After I complete this project I would like to have improved my coding skills and more importantly&lt;br /&gt;
learn about how coding is done in community projects. &lt;br /&gt;
&lt;br /&gt;
My only spoken language is English and  I am fluent in written English. I am awake at 10:30AM to 1:30AM (UTC) an I would not mind talking with a mentor over VOIP.&lt;br /&gt;
&lt;br /&gt;
== Short Essay ==&lt;br /&gt;
&lt;br /&gt;
	I wish to join this project for GSoC and beyond because of Wesnoth's strong community I wish to be a member of. The Battle for Wesnoth was one of the first open source games I used. Wesnoth stood out against most of the other games I previously played. It had a professional feel and had a strong sense of how I now view open source. &lt;br /&gt;
&lt;br /&gt;
	When I first took Computer Science in High School, I enjoyed the lab time writing programs. However, it took a bit longer for me to realize why. Coding for an assignment was enjoyable, but it was coding with a group of people that was more enjoyable. Talking about our assignments and working as a team was where the most enjoyment came from.  I feel The Battle for Wesnoth has the strong community where I won't just be working on my project, but contribute to a project surrounded by a helpful community. To me, Wesnoth is a strong example of an open source project. &lt;br /&gt;
&lt;br /&gt;
	Open source  is defined by the community that makes it. If the community is strong, the software will also be strong. This community has people all working together to make something worthwhile, for the good of the world. This community is open: it lets anyone come in and contribute ideas, art, code, etc. It also teaches people about everything. The source code given to anyone who wants to read it, however looking at the Wesnoth forums is stronger proof of the teaching power. When someone contributes art, it almost always is improved by the advice of others in the Wesnoth community. The same for translations: this community helps people find the right words for languages that they might not even speak. When I think about open source, I immediately think of the people who make projects like Wesnoth work. &lt;br /&gt;
&lt;br /&gt;
	I discovered open source through Linux and Wesnoth. A friend suggested that I should try Linux and I did. However, I decided to choose Debian because it was completely free, although I didn't grasp the true meaning until later.  I saw open source as simply source code that could be read. After I finally got KDE to work, I played some of the games that were included on the disks and one of them was The Battle for Wesnoth. When I the main menu appeared, I knew that this game was a work of art; The music, drawings, and the underlying code were all integrated to make a masterpiece. All of this work was done by a group of people not for profit, but for making an excellent game. This was all their work. Wesnoth defined my idea of open source from the naïve notion that  it is merely code that can be read to the definition explained above.   &lt;br /&gt;
&lt;br /&gt;
	I have much to gain working for open source software. I  have all the benefits of working for a software company, and much more. I get to meet people across the world. I join an open source community.  I will learn many things from this community. I will have an deeper understanding and appreciation for this project. I will improve my developing and coding skills. In addition, I will learn things not directly tied with coding. I may improve my art skills, for example, when I'm working on the GUI for the client with the help of the many artists who contribute to Wesnoth. &lt;br /&gt;
&lt;br /&gt;
	I also believe I have much to give to the community. I will be contributing with my project, but I will be contributing much more. This is another reason I wish to participate with Wesnoth for GSoC. This community facilitates communicating with different groups in Wesnoth. I will be contributing to different aspects of this software, it may be art, ideas, maybe even the Latin translation.&lt;br /&gt;
&lt;br /&gt;
	I enjoy trying to solve the problems I encounter. Whether in a game, life, developing or programming, I look for problems and try to fix them. It's an engineering thing I think. When I wrote my own programs, I always did something I knew I would have a little difficulty in. I would have to learn how to fix the problem. The satisfaction of solving a problem keeps me wanting to solve more problems. When I am writing part of a program that is not much of a problem, I keep motivated by remembering my goals for the program I'm writing. For the project for GSoC I would also be motivated by my sense of responsibility to the Wesnoth community. My thirst for knowledge also keeps me coding, I find researching what I have to do as enjoyable as designing programs. &lt;br /&gt;
&lt;br /&gt;
	I would be honored to work for The Battle for Wesnoth through GSoC.&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24022</id>
		<title>AddonServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=24022"/>
		<updated>2008-03-20T19:03:28Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Me ==&lt;br /&gt;
account names:&lt;br /&gt;
 &lt;br /&gt;
gna: giebfried&lt;br /&gt;
&lt;br /&gt;
forum: giebfried&lt;br /&gt;
&lt;br /&gt;
irc: giebfried&lt;br /&gt;
&lt;br /&gt;
preferred email: andrewgiebfried@gmail.com&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Hi, I'm Andrew Giebfried and I'd like to participate in Summer of Code primarily to learn first hand how programs are written in a group environment. In addition, working for GSoC will help fulfill some of my academic program's &amp;quot;Work Term&amp;quot; requirements. Currently, I am in first year engineering with the intent of going into computer engineering.&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
I have worked on many of my own small to medium-sized programs on various things. I have only worked on individual projects so far. This will be my first time participating in Google Summer of Code. I am not involved with any open-source projects so far.&lt;br /&gt;
&lt;br /&gt;
I am a bit of a gamer, most of the games I find myself playing mostly turn-based strategy games with a few real time strategy games as well. I find game play crucial, but the storyline is still very important. I've played Wesnoth for awhile, probably 2 years. I play single player - mostly with the campaigns but I've also played some multiplayer maps versus the AI as well. &lt;br /&gt;
&lt;br /&gt;
I take advice very well and can discern good advice from useless advice. I am fluent in Java and I know C++ and Python. I mostly use Eclipse to develop code written in Java and C++. I have used Java for over three years and I have used Python and C++ to a lesser extent for over a year. I have two years of AP Com Sci and a year of independent study in computing in high school where I used Java. I currently am taking a required class in basic programming in C++. In my independent study I studied drag and drop, networking, the implementation of the math library, and a simple paint program. I have not used SVN yet, but I will learn it soon. For this project  would use a waterfall development model.&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
I intend to work on the suggested project on the addon server. I plan to update the existing server code for strong integration with WesCamp and use certain WML tools on content. For the client side, I plan to make the addon server GUI more informative to the user as well as simple and straight-forward to use. I also plan to make updates simple to notice for the client. Translations, Eras, etc would be shown in separate categories from campaigns and easier to download and use for the client. &lt;br /&gt;
&lt;br /&gt;
I plan to spend about half of my time on the server side and half on the client side. I will start working with most of my emphasis on the server side and then work on the client side. For the server side, I will also spend about half of that time on WesCamp work and the WML tools work. On the client side, I plan to work on functionality first and then enhance the GUI.  For the GUI I plan to redesign the current screen  &lt;br /&gt;
&lt;br /&gt;
I chose this project because it covers many different areas of programming. It  incorporates networking,  and GUIs, both of which I have some experience already. Also, I feel like this is an important part of Wesnoth that might be overlooked at times since it isn't directly involved with gameplay. After the GsoC ends, I plan to stay with the community; my appreciation for Wesnoth and the friends I will make will keep me in the community.&lt;br /&gt;
&lt;br /&gt;
== Practical ==&lt;br /&gt;
After I complete this project I would like to have improved my coding skills and more importantly&lt;br /&gt;
learn about how coding is done in community projects. &lt;br /&gt;
&lt;br /&gt;
My only spoken language is English and  I am fluent in written English. I am awake at 10:30AM to 1:30AM (UTC) an I would not mind talking with a mentor over VOIP.&lt;br /&gt;
&lt;br /&gt;
== Short Essay ==&lt;br /&gt;
&lt;br /&gt;
	I wish to join this project for GSoC and beyond because of Wesnoth's strong community I wish to be a member of. The Battle for Wesnoth was one of the first open source games I used. Wesnoth stood out against most of the other games I previously played. It had a professional feel and had a strong sense of how I now view open source. &lt;br /&gt;
&lt;br /&gt;
	When I first took Computer Science in High School, I enjoyed the lab time writing programs. However, it took a bit longer for me to realize why. Coding for an assignment was enjoyable, but it was coding with a group of people that was more enjoyable. Talking about our assignments and working as a team was where the most enjoyment came from.  I feel The Battle for Wesnoth has the strong community where I won't just be working on my project, but contribute to a project surrounded by a helpful community. To me, Wesnoth is a strong example of an open source project. &lt;br /&gt;
&lt;br /&gt;
	Open source  is defined by the community that makes it. If the community is strong, the software will also be strong. This community has people all working together to make something worthwhile, for the good of the world. This community is open: it lets anyone come in and contribute ideas, art, code, etc. It also teaches people about everything. The source code given to anyone who wants to read it, however looking at the Wesnoth forums is stronger proof of the teaching power. When someone contributes art, it almost always is improved by the advice of others in the Wesnoth community. The same for translations: this community helps people find the right words for languages that they might not even speak. When I think about open source, I immediately think of the people who make projects like Wesnoth work. &lt;br /&gt;
&lt;br /&gt;
	I discovered open source through Linux and Wesnoth. A friend suggested that I should try Linux and I did. However, I decided to choose Debian because it was completely free, although I didn't grasp the true meaning until later.  I saw open source as simply source code that could be read. After I finally got KDE to work, I played some of the games that were included on the disks and one of them was The Battle for Wesnoth. When I the main menu appeared, I knew that this game was a work of art; The music, drawings, and the underlying code were all integrated to make a masterpiece. All of this work was done by a group of people not for profit, but for making an excellent game. This was all their work. Wesnoth defined my idea of open source from the naïve notion that  it is merely code that can be read to the definition explained above.   &lt;br /&gt;
&lt;br /&gt;
	I have much to gain working for open source software. I  have all the benefits of working for a software company, and much more. I get to meet people across the world. I join an open source community.  I will learn many things from this community. I will have an deeper understanding and appreciation for this project. I will improve my developing and coding skills. In addition, I will learn things not directly tied with coding. I may improve my art skills, for example, when I'm working on the GUI for the client with the help of the many artists who contribute to Wesnoth. &lt;br /&gt;
&lt;br /&gt;
	I also believe I have much to give to the community. I will be contributing with my project, but I will be contributing much more. This is another reason I wish to participate with Wesnoth for GSoC. This community facilitates communicating with different groups in Wesnoth. I will be contributing to different aspects of this software, it may be art, ideas, maybe even the Latin translation.&lt;br /&gt;
&lt;br /&gt;
	I enjoy trying to solve the problems I encounter. Whether in a game, life, developing or programming, I look for problems and try to fix them. It's an engineering thing I think. When I wrote my own programs, I always did something I knew I would have a little difficulty in. I would have to learn how to fix the problem. The satisfaction of solving a problem keeps me wanting to solve more problems. When I am writing part of a program that is not much of a problem, I keep motivated by remembering my goals for the program I'm writing. For the project for GSoC I would also be motivated by my sense of responsibility to the Wesnoth community. My thirst for knowledge also keeps me coding, I find researching what I have to do as enjoyable as designing programs. &lt;br /&gt;
&lt;br /&gt;
	I would be honored to work for The Battle for Wesnoth through GSoC.&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23996</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=23996"/>
		<updated>2008-03-20T16:11:42Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a compilation of ideas from ML. Needs to be refined (more detailed description, deliverables, workload estimation?):&lt;br /&gt;
&lt;br /&gt;
== I want to be one of your Google Summer of Code students, what should I do... ==&lt;br /&gt;
&lt;br /&gt;
Here is a quick list of things to do to get you started&lt;br /&gt;
* Create an account on gna.org&lt;br /&gt;
* Create an account on the wesnoth forum&lt;br /&gt;
* 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&lt;br /&gt;
* Contact one of our SummerOfCode people (Ivanovic, Sirp, Boucman, Mordante) to have your forum nick marked as a Summer of code student&lt;br /&gt;
&lt;br /&gt;
* Start a wiki page about your idea, add a link on the bottom of this page and add this information on it:&lt;br /&gt;
** List your account names (gna, forum, irc nick) so that we can recognize you&lt;br /&gt;
** 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]]&lt;br /&gt;
** Detail your idea as much as possible, look at other students pages, and please give milestones and studies you've done&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
== List of Ideas for the Project (Suggestions from the wesnoth developers) ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Writing an AI based on the formula AI ===&lt;br /&gt;
&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
[[SoC Ideas FormulaAI]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Extending the Multiplayer server ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[SoC Ideas Multiplayer server]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Scenario/Campaign editor ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[SoC Ideas Scenario and Campaign Editor]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Addon server ===&lt;br /&gt;
Wesnoth has an addon server which offers users to upload user &lt;br /&gt;
made content (UMC). This allows all other users of Wesnoth&lt;br /&gt;
to easily download and install this content. The server was &lt;br /&gt;
originally written for user-made campaigns but contains a lot&lt;br /&gt;
more types of addons nowadays. Both the server side and the &lt;br /&gt;
client side need to be improved.&lt;br /&gt;
&lt;br /&gt;
[[SoC Ideas Addon Server]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Map editor ===&lt;br /&gt;
The map editor in Wesnoth serves two goals, making it easy to create&lt;br /&gt;
a new map and helping the terrain artists to test their new terrains.&lt;br /&gt;
&lt;br /&gt;
[[SoC_Ideas_Map_Editor]] - Full version of the idea, with detailed information&lt;br /&gt;
&lt;br /&gt;
=== Other possible ideas to be fleshed out ===&lt;br /&gt;
A MapGenerator rewrite - better scalable for outdoor maps, plus the possibility to define areas (similar to the caverns in the cave generator) etc.&lt;br /&gt;
&lt;br /&gt;
=== Make your own ideas ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Information about our Project ==&lt;br /&gt;
The information we provided google with about our project can be looked up at the site [[SoC Information for Google]].&lt;br /&gt;
&lt;br /&gt;
== People to bug on IRC ==&lt;br /&gt;
We have prepared a list of people with their &amp;quot;area of competence&amp;quot;. 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:&lt;br /&gt;
&lt;br /&gt;
[[SoC People to bug on IRC]]&lt;br /&gt;
&lt;br /&gt;
== GSoC Student Applicant Ideas == &lt;br /&gt;
&lt;br /&gt;
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...):&lt;br /&gt;
&lt;br /&gt;
* Who are you? Please list your IRC and forum nickname in here and describe yourself so that we get you to know.&lt;br /&gt;
* 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.&lt;br /&gt;
* If you already submitted patches, please list those so that we have a reference.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[FormulaAIandDynamicScripting]] (barbarianhero) ===&lt;br /&gt;
This project idea uses Formula AI and Dynamic Scripting to create a tunable and adaptive AI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[FormulaAIandThinkingAhead]] (Alesis-Novik) ===&lt;br /&gt;
This project idea uses methods to make the AI *think* ahead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[ExtensibleScenarioEditor]] (david.hilton) ===&lt;br /&gt;
On a conceptual level, this idea combines a finite state machine editor with a code generator to create scenarios.&lt;br /&gt;
&lt;br /&gt;
===[[LaoSoCIdeas]] by lao ===&lt;br /&gt;
Under Construction...&lt;br /&gt;
&lt;br /&gt;
===[[AddonServer]] (giebfried) ===&lt;br /&gt;
This project is to improve the server and client sides of the addon server, as suggested above.&lt;br /&gt;
[[Category:Summer of Code|*]]&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=23995</id>
		<title>AddonServer</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=AddonServer&amp;diff=23995"/>
		<updated>2008-03-20T16:08:32Z</updated>

		<summary type="html">&lt;p&gt;Giebfried: New page: == Me == account names:   gna: giebfried  forum: giebfried  irc: giebfried  preferred email: andrewgiebfried@gmail.com  == Introduction == Hi, I'd like to participate in Summer of Code pri...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Me ==&lt;br /&gt;
account names:&lt;br /&gt;
 &lt;br /&gt;
gna: giebfried&lt;br /&gt;
&lt;br /&gt;
forum: giebfried&lt;br /&gt;
&lt;br /&gt;
irc: giebfried&lt;br /&gt;
&lt;br /&gt;
preferred email: andrewgiebfried@gmail.com&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Hi, I'd like to participate in Summer of Code primarily to learn first hand how programs are written in a group environment. In addition, working for GSoC will help fulfill some of my academic program's &amp;quot;Work Term&amp;quot; requirements. Currently, I am in first year engineering with the intent of going into computer engineering.&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
I have worked on many of my own small to medium-sized programs on various things. I have only worked on individual projects so far. This will be my first time participating in Google Summer of Code. I am not involved with any open-source projects so far.&lt;br /&gt;
&lt;br /&gt;
I am a bit of a gamer, most of the games I find myself playing mostly turn-based strategy games with a few real time strategy games as well. I find game play crucial, but the storyline is still very important. I've played Wesnoth for awhile, probably 2 years. I play single player - mostly with the campaigns but I've also played some multiplayer maps versus the AI as well. &lt;br /&gt;
&lt;br /&gt;
I take advice very well and can discern good advice from useless advice. I am fluent in Java and I know C++ and Python. I mostly use Eclipse to develop code written in Java and C++. I have used Java for over three years and I have used Python and C++ to a lesser extent for over a year. I have two years of AP Com Sci and a year of independent study in computing in high school where I used Java. I currently am taking a required class in basic programming in C++. In my independent study I studied drag and drop, networking, the implementation of the math library, and a simple paint program. I have not used SVN yet, but I will learn it soon. For this project  would use a waterfall development model.&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
I intend to work on the suggested project on the addon server. I plan to update the existing server code for strong integration with WesCamp and use certain WML tools on content. For the client side, I plan to make the addon server GUI more informative to the user as well as simple and straight-forward to use. I also plan to make updates simple to notice for the client. Translations, Eras, etc would be shown in separate categories from campaigns and easier to download and use for the client. &lt;br /&gt;
&lt;br /&gt;
I plan to spend about half of my time on the server side and half on the client side. I will start working with most of my emphasis on the server side and then work on the client side. For the server side, I will also spend about half of that time on WesCamp work and the WML tools work. On the client side, I plan to work on functionality first and then enhance the GUI.  For the GUI I plan to redesign the current screen  &lt;br /&gt;
&lt;br /&gt;
I chose this project because it covers many different areas of programming. It  incorporates networking,  and GUIs, both of which I have some experience already. Also, I feel like this is an important part of Wesnoth that might be overlooked at times since it isn't directly involved with gameplay. After the GsoC ends, I plan to stay with the community; my appreciation for Wesnoth and the friends I will make will keep me in the community.&lt;br /&gt;
&lt;br /&gt;
== Practical ==&lt;br /&gt;
After I complete this project I would like to have improved my coding skills and more importantly&lt;br /&gt;
learn about how coding is done in community projects. &lt;br /&gt;
&lt;br /&gt;
My only spoken language is English and  I am fluent in written English. I am awake at 10:30AM to 1:30AM (UTC) an I would not mind talking with a mentor over VOIP.&lt;br /&gt;
&lt;br /&gt;
== Short Essay ==&lt;br /&gt;
&lt;br /&gt;
	I wish to join this project for GSoC and beyond because of Wesnoth's strong community I wish to be a member of. The Battle for Wesnoth was one of the first open source games I used. Wesnoth stood out against most of the other games I previously played. It had a professional feel and had a strong sense of how I now view open source. &lt;br /&gt;
&lt;br /&gt;
	When I first took Computer Science in High School, I enjoyed the lab time writing programs. However, it took a bit longer for me to realize why. Coding for an assignment was enjoyable, but it was coding with a group of people that was more enjoyable. Talking about our assignments and working as a team was where the most enjoyment came from.  I feel The Battle for Wesnoth has the strong community where I won't just be working on my project, but contribute to a project surrounded by a helpful community. To me, Wesnoth is a strong example of an open source project. &lt;br /&gt;
&lt;br /&gt;
	Open source  is defined by the community that makes it. If the community is strong, the software will also be strong. This community has people all working together to make something worthwhile, for the good of the world. This community is open: it lets anyone come in and contribute ideas, art, code, etc. It also teaches people about everything. The source code given to anyone who wants to read it, however looking at the Wesnoth forums is stronger proof of the teaching power. When someone contributes art, it almost always is improved by the advice of others in the Wesnoth community. The same for translations: this community helps people find the right words for languages that they might not even speak. When I think about open source, I immediately think of the people who make projects like Wesnoth work. &lt;br /&gt;
&lt;br /&gt;
	I discovered open source through Linux and Wesnoth. A friend suggested that I should try Linux and I did. However, I decided to choose Debian because it was completely free, although I didn't grasp the true meaning until later.  I saw open source as simply source code that could be read. After I finally got KDE to work, I played some of the games that were included on the disks and one of them was The Battle for Wesnoth. When I the main menu appeared, I knew that this game was a work of art; The music, drawings, and the underlying code were all integrated to make a masterpiece. All of this work was done by a group of people not for profit, but for making an excellent game. This was all their work. Wesnoth defined my idea of open source from the naïve notion that  it is merely code that can be read to the definition explained above.   &lt;br /&gt;
&lt;br /&gt;
	I have much to gain working for open source software. I  have all the benefits of working for a software company, and much more. I get to meet people across the world. I join an open source community.  I will learn many things from this community. I will have an deeper understanding and appreciation for this project. I will improve my developing and coding skills. In addition, I will learn things not directly tied with coding. I may improve my art skills, for example, when I'm working on the GUI for the client with the help of the many artists who contribute to Wesnoth. &lt;br /&gt;
&lt;br /&gt;
	I also believe I have much to give to the community. I will be contributing with my project, but I will be contributing much more. This is another reason I wish to participate with Wesnoth for GSoC. This community facilitates communicating with different groups in Wesnoth. I will be contributing to different aspects of this software, it may be art, ideas, maybe even the Latin translation.&lt;br /&gt;
&lt;br /&gt;
	I enjoy trying to solve the problems I encounter. Whether in a game, life, developing or programming, I look for problems and try to fix them. It's an engineering thing I think. When I wrote my own programs, I always did something I knew I would have a little difficulty in. I would have to learn how to fix the problem. The satisfaction of solving a problem keeps me wanting to solve more problems. When I am writing part of a program that is not much of a problem, I keep motivated by remembering my goals for the program I'm writing. For the project for GSoC I would also be motivated by my sense of responsibility to the Wesnoth community. My thirst for knowledge also keeps me coding, I find researching what I have to do as enjoyable as designing programs. &lt;br /&gt;
&lt;br /&gt;
	I would be honored to work for The Battle for Wesnoth through GSoC.&lt;/div&gt;</summary>
		<author><name>Giebfried</name></author>
		
	</entry>
</feed>