<?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=Radx</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=Radx"/>
	<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/Special:Contributions/Radx"/>
	<updated>2026-04-12T01:27:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=25734</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=25734"/>
		<updated>2008-05-19T19:39:39Z</updated>

		<summary type="html">&lt;p&gt;Radx: /* Experience */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'mkonyk_A-T_gmail_D-O-T_com'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project is published on Google Code.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
The main idea of my proposal is to get people interested in submitting stats. Players could see how they perform comparing to other players, while developers will get the necessary statistical data.&lt;br /&gt;
&lt;br /&gt;
I propose two main ideas:&lt;br /&gt;
&lt;br /&gt;
*First is to modify/upgrade the existing stats system and make sure it is scalable (will perform well enough under increased amount of log submissions). &lt;br /&gt;
**I plan to test the current cgi log submission system and see how it performs under these conditions. If there's a problem with this approach, I will rewrite this part as a daemon (using c++, boost, perhaps asio library). This part most likely will be implemented as a lightweight HTTP based daemon (so it could still accept logs from old clients and use port 80).&lt;br /&gt;
**Increase the number of useful stats for both players and developers. Let developers compare statistical differences between versions. &lt;br /&gt;
**Give developers the ability to log specific campaign parts (this could be implemented by tagging units as special units without any back-end changes). &lt;br /&gt;
**Implement OS/platform specific log gathering. &lt;br /&gt;
**Remove slow and expensive chart drawing SVG routines and use of Google Charts API instead (offload this unnecessary work from the web-server). &lt;br /&gt;
**Finally, make the system visually appealing to both players and developers.&lt;br /&gt;
&lt;br /&gt;
*Secondly, build chart/graph drawing system into the Wesnoth client. This system would let players upload and compare their results to the rest of the player base after each single-player or multi-player campaign.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. I also plan to post several threads on Wesnoth forums regarding my idea and collect interesting, insightful ideas from the Wesnoth community.&lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system (web part) by the end of June.&lt;br /&gt;
* At that point I will start working on integrating statistics system into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; should the time permit (if I finish everything mentioned above before the end of term) I could work on integrating a basic crash report system.&lt;br /&gt;
* I intend to finish the above described idea no matter what; even if it will take more than just a summer or Google Summer of Code program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents some statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=25733</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=25733"/>
		<updated>2008-05-19T19:39:23Z</updated>

		<summary type="html">&lt;p&gt;Radx: /* Experience */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'mkonyk_A-T_gmail_D-O-T_com'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project is be published on Google Code.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
The main idea of my proposal is to get people interested in submitting stats. Players could see how they perform comparing to other players, while developers will get the necessary statistical data.&lt;br /&gt;
&lt;br /&gt;
I propose two main ideas:&lt;br /&gt;
&lt;br /&gt;
*First is to modify/upgrade the existing stats system and make sure it is scalable (will perform well enough under increased amount of log submissions). &lt;br /&gt;
**I plan to test the current cgi log submission system and see how it performs under these conditions. If there's a problem with this approach, I will rewrite this part as a daemon (using c++, boost, perhaps asio library). This part most likely will be implemented as a lightweight HTTP based daemon (so it could still accept logs from old clients and use port 80).&lt;br /&gt;
**Increase the number of useful stats for both players and developers. Let developers compare statistical differences between versions. &lt;br /&gt;
**Give developers the ability to log specific campaign parts (this could be implemented by tagging units as special units without any back-end changes). &lt;br /&gt;
**Implement OS/platform specific log gathering. &lt;br /&gt;
**Remove slow and expensive chart drawing SVG routines and use of Google Charts API instead (offload this unnecessary work from the web-server). &lt;br /&gt;
**Finally, make the system visually appealing to both players and developers.&lt;br /&gt;
&lt;br /&gt;
*Secondly, build chart/graph drawing system into the Wesnoth client. This system would let players upload and compare their results to the rest of the player base after each single-player or multi-player campaign.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. I also plan to post several threads on Wesnoth forums regarding my idea and collect interesting, insightful ideas from the Wesnoth community.&lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system (web part) by the end of June.&lt;br /&gt;
* At that point I will start working on integrating statistics system into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; should the time permit (if I finish everything mentioned above before the end of term) I could work on integrating a basic crash report system.&lt;br /&gt;
* I intend to finish the above described idea no matter what; even if it will take more than just a summer or Google Summer of Code program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents some statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=25732</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=25732"/>
		<updated>2008-05-19T19:28:12Z</updated>

		<summary type="html">&lt;p&gt;Radx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'mkonyk_A-T_gmail_D-O-T_com'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project will be published on Google Code soon.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
The main idea of my proposal is to get people interested in submitting stats. Players could see how they perform comparing to other players, while developers will get the necessary statistical data.&lt;br /&gt;
&lt;br /&gt;
I propose two main ideas:&lt;br /&gt;
&lt;br /&gt;
*First is to modify/upgrade the existing stats system and make sure it is scalable (will perform well enough under increased amount of log submissions). &lt;br /&gt;
**I plan to test the current cgi log submission system and see how it performs under these conditions. If there's a problem with this approach, I will rewrite this part as a daemon (using c++, boost, perhaps asio library). This part most likely will be implemented as a lightweight HTTP based daemon (so it could still accept logs from old clients and use port 80).&lt;br /&gt;
**Increase the number of useful stats for both players and developers. Let developers compare statistical differences between versions. &lt;br /&gt;
**Give developers the ability to log specific campaign parts (this could be implemented by tagging units as special units without any back-end changes). &lt;br /&gt;
**Implement OS/platform specific log gathering. &lt;br /&gt;
**Remove slow and expensive chart drawing SVG routines and use of Google Charts API instead (offload this unnecessary work from the web-server). &lt;br /&gt;
**Finally, make the system visually appealing to both players and developers.&lt;br /&gt;
&lt;br /&gt;
*Secondly, build chart/graph drawing system into the Wesnoth client. This system would let players upload and compare their results to the rest of the player base after each single-player or multi-player campaign.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. I also plan to post several threads on Wesnoth forums regarding my idea and collect interesting, insightful ideas from the Wesnoth community.&lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system (web part) by the end of June.&lt;br /&gt;
* At that point I will start working on integrating statistics system into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; should the time permit (if I finish everything mentioned above before the end of term) I could work on integrating a basic crash report system.&lt;br /&gt;
* I intend to finish the above described idea no matter what; even if it will take more than just a summer or Google Summer of Code program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents some statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24770</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24770"/>
		<updated>2008-03-27T19:39:28Z</updated>

		<summary type="html">&lt;p&gt;Radx: Fixing typos in Idea section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'mkonyk_A-T_gmail_D-O-T_com'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project will be published on Google Code soon.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
The main idea of my proposal is to get people interested in submitting stats. Players could see how they perform comparing to other players, while developers will get the necessary statistical data.&lt;br /&gt;
&lt;br /&gt;
I propose two main ideas:&lt;br /&gt;
&lt;br /&gt;
*First is to modify/upgrade the existing stats system and make sure it is scalable (will perform well enough under increased amount of log submissions). &lt;br /&gt;
**I plan to test the current cgi log submission system and see how it performs under these conditions. If there's a problem with this approach, I will rewrite this part as a daemon (using c++, boost, perhaps asio library). This part most likely will be implemented as a lightweight HTTP based daemon (so it could still accept logs from old clients and use port 80).&lt;br /&gt;
**Increase the number of useful stats for both players and developers. Let developers compare statistical differences between versions. &lt;br /&gt;
**Give developers the ability to log specific campaign parts (this could be implemented by tagging units as special units without any back-end changes). &lt;br /&gt;
**Implement OS/platform specific log gathering. &lt;br /&gt;
**Remove slow and expensive chart drawing SVG routines and use of Google Charts API instead (offload this unnecessary work from the web-server). &lt;br /&gt;
**Finally, make the system visually appealing to both players and developers.&lt;br /&gt;
&lt;br /&gt;
*Secondly, build chart/graph drawing system into the Wesnoth client. This system would let players upload and compare their results to the rest of the player base after each single-player or multi-player campaign.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. I also plan to post several threads on Wesnoth forums regarding my idea and collect interesting, insightful ideas from the Wesnoth community.&lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system (web part) by the end of June.&lt;br /&gt;
* At that point I will start working on integrating statistics system into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; should the time permit (if I finish everything mentioned above before the end of term) I could work on integrating a basic crash report system.&lt;br /&gt;
* I intend to finish the above described idea no matter what; even if it will take more than just a summer or Google Summer of Code program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents some statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
This prototype can be accessed at http://wesnoth.radx.org/player&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24641</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24641"/>
		<updated>2008-03-26T02:28:08Z</updated>

		<summary type="html">&lt;p&gt;Radx: Fixing idea typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'mkonyk_A-T_gmail_D-O-T_com'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project will be published on Google Code soon.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
The main idea is to get people interested in submitting stats. Players could compare how they perform to the rest of players, while developers will get the necessary statistical data.&lt;br /&gt;
&lt;br /&gt;
I propose two main ideas:&lt;br /&gt;
&lt;br /&gt;
*First is to modify/upgrade the existing stats system and make sure it is scalable (will perform well enough under increased amount of log submissions). &lt;br /&gt;
**I plan to test the current cgi log submission system and see how it performs under these conditions. If there's a problem with this approach, I will rewrite this part as a daemon (using c++, boost, perhaps asio library). This part most likely will be implemented as a lightweight HTTP based daemon (so it could still accept logs from old clients and use port 80).&lt;br /&gt;
**Increase the number of useful stats for both players and developers. Let developers compare statistical differences between versions. &lt;br /&gt;
**Give developers the ability to log specific campaign parts (this could be implemented by tagging units as special units without any back-end changes). &lt;br /&gt;
**Implement OS/platform specific log gathering. &lt;br /&gt;
**Remove slow and expensive chart drawing SVG routines and use of Google Charts API instead (offload this unnecessary work from the web-server). &lt;br /&gt;
**Finally, make the system visually appealing to both players and developers.&lt;br /&gt;
&lt;br /&gt;
*Secondly, build chart/graph drawing system into the Wesnoth client. This system would let players upload and compare their results to the rest of the player base after each single-player or multi-player campaign.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. I also plan to post several threads on Wesnoth forums regarding my idea and collect interesting, insightful ideas from the Wesnoth community.&lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system (web part) by the end of June.&lt;br /&gt;
* At that point I will start working on integrating statistics system into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; should the time permit (if I finish everything mentioned above before the end of term) I could work on integrating a basic crash report system.&lt;br /&gt;
* I intend to finish the above described idea no matter what; even if it will take more than just a summer or Google Summer of Code program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents some statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
This prototype can be accessed at http://wesnoth.radx.org/player&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24637</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24637"/>
		<updated>2008-03-26T01:56:32Z</updated>

		<summary type="html">&lt;p&gt;Radx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'mkonyk_A-T_gmail_D-O-T_com'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project will be published on Google Code soon.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
The main idea is to get people interested in submitting stats. Players could compare how they perform to the rest of players, while developers will get the necessary statistical data.&lt;br /&gt;
&lt;br /&gt;
I propose two main ideas:&lt;br /&gt;
&lt;br /&gt;
*First is to modify/upgrade the existing stats system and make sure it is scalable (will perform well enough under increased amount of log submissions). &lt;br /&gt;
**I plan to test the current cgi log submission system and see how it performs under these conditions. If there's a problem with this approach, I will rewrite this part as a daemon (using c++, boost, perhaps asio library). This part most likely will be implemented as a lightweight HTTP based daemon (so it could still accept logs from old clients and use port 80).&lt;br /&gt;
**Increase the number of useful stats for both players and developers. Let developers compare statistical differences between versions. &lt;br /&gt;
**Give developers the ability to log specific campaign parts (this could be implemented by tagging units as special units without any back-end changes). &lt;br /&gt;
**Implement OS/platform specific log gathering. &lt;br /&gt;
**Remove slow and expensive chart drawing SVG routines and use of Google Charts API instead (offload this unnecessary work from the web-server). &lt;br /&gt;
**Finally, make the system visually appealing to both players and developers.&lt;br /&gt;
&lt;br /&gt;
*Secondly, build-in chart/graph drawing system into the Wesnoth client. This system would let players upload and compare their results to the rest of the player base after each single-player or multi-player campaign.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. I also plan to post several threads on Wesnoth forums regarding my idea and collect interesting, insightful ideas from the Wesnoth community.&lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system (web part) by the end of June.&lt;br /&gt;
* At that point I will start working on integrating statistics system into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; should the time permit (if I finish everything mentioned above before the end of term) I could work on integrating a basic crash report system.&lt;br /&gt;
* I intend to finish the above described idea no matter what; even if it will take more than just a summer or Google Summer of Code program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents some statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
This prototype can be accessed at http://wesnoth.radx.org/player&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24636</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24636"/>
		<updated>2008-03-26T01:55:30Z</updated>

		<summary type="html">&lt;p&gt;Radx: Idea section ident changes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'mkonyk_A-T_gmail_D-O-T_com'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project will be published on Google Code soon.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
The main idea is to get people interested in submitting stats. Players could compare how they perform to the rest of players, while developers will get the necessary statistical data.&lt;br /&gt;
&lt;br /&gt;
I propose two main ideas:&lt;br /&gt;
&lt;br /&gt;
*First is to modify/upgrade the existing stats system and make sure it is scalable (will perform well enough under increased amount of log submissions). &lt;br /&gt;
**I plan to test the current cgi log submission system and see how it performs under these conditions. If there's a problem with this approach, I will rewrite this part as a daemon (using c++, boost, perhaps asio library). This part most likely will be implemented as a lightweight HTTP based daemon (so it could still accept logs from old clients and use port 80).&lt;br /&gt;
**Increase the number of useful stats for both players and developers. Let developers compare statistical differences between versions. &lt;br /&gt;
**Give developers the ability to log specific campaign parts (this could be implemented by tagging units as special units without any back-end changes). &lt;br /&gt;
**Implement OS/platform specific log gathering. &lt;br /&gt;
**Additionally for the statistics web system, remove slow and expensive chart drawing SVG routines and use of Google Charts API instead (offload this unnecessary work from the web-server). &lt;br /&gt;
**Finally, make the system visually appealing to both players and developers.&lt;br /&gt;
&lt;br /&gt;
*Secondly, build-in chart/graph drawing system into the Wesnoth client. This system would let players upload and compare their results to the rest of the player base after each single-player or multi-player campaign.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. I also plan to post several threads on Wesnoth forums regarding my idea and collect interesting, insightful ideas from the Wesnoth community.&lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system (web part) by the end of June.&lt;br /&gt;
* At that point I will start working on integrating statistics system into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; should the time permit (if I finish everything mentioned above before the end of term) I could work on integrating a basic crash report system.&lt;br /&gt;
* I intend to finish the above described idea no matter what; even if it will take more than just a summer or Google Summer of Code program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents some statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
This prototype can be accessed at http://wesnoth.radx.org/player&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24635</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24635"/>
		<updated>2008-03-26T01:53:34Z</updated>

		<summary type="html">&lt;p&gt;Radx: Changes to idea, timeline sections.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'mkonyk_A-T_gmail_D-O-T_com'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project will be published on Google Code soon.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
The main idea is to get people interested in submitting stats. Players could compare how they perform to the rest of players, while developers will get the necessary statistical data.&lt;br /&gt;
&lt;br /&gt;
I propose two main ideas:&lt;br /&gt;
&lt;br /&gt;
First is to modify/upgrade the existing stats system and make sure it is scalable (will perform well enough under increased amount of log submissions). I plan to test the current cgi log submission system and see how it performs under these conditions. If there's a problem with this approach, I will rewrite this part as a daemon (using c++, boost, perhaps asio library). This part most likely will be implemented as a lightweight HTTP based daemon (so we could still accept logs from old clients and use port 80).&lt;br /&gt;
Increase the number of useful stats for both players and developers. Let developers compare statistical differences between versions. Give developers the ability to log specific campaign parts (this could be implemented by tagging units as special units without any back-end changes). Implement OS/platform specific log gathering. Additionally for the statistics web system, remove slow and expensive chart drawing SVG routines and use of Google Charts API instead (offload this unnecessary work from the web-server). And finally, make the system visually appealing to both players and developers.&lt;br /&gt;
&lt;br /&gt;
Secondly, build-in chart/graph drawing system into the Wesnoth client. This system would let players upload and compare their results to the rest of the player base after each single-player or multi-player campaign.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. I also plan to post several threads on Wesnoth forums regarding my idea and collect interesting, insightful ideas from the Wesnoth community.&lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system (web part) by the end of June.&lt;br /&gt;
* At that point I will start working on integrating statistics system into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; should the time permit (if I finish everything mentioned above before the end of term) I could work on integrating a basic crash report system.&lt;br /&gt;
* I intend to finish the above described idea no matter what; even if it will take more than just a summer or Google Summer of Code program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents some statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
This prototype can be accessed at http://wesnoth.radx.org/player&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24497</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24497"/>
		<updated>2008-03-24T17:44:01Z</updated>

		<summary type="html">&lt;p&gt;Radx: Added crash report idea.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'mkonyk_A-T_gmail_D-O-T_com'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project will be published on Google Code soon.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
This current statistics system has a couple of problems, however. In this idea I will try to address some of these problems and discuss possible solutions.&lt;br /&gt;
&lt;br /&gt;
First of all, in order to receive more accurate results about campaigns we would need to increase our dataset. This could be achieved by making 'log submission' option more accessible to the player; for example creating a dialog which would ask user if it's ok to submit the data upon the first run of the Wesnoth client. This would bring more people into the statistics submission program.&lt;br /&gt;
&lt;br /&gt;
However it would also increase the stress on the server part which is responsible for accepting logs from players.&lt;br /&gt;
&lt;br /&gt;
Another problem with the current statistics system is that the charts which are used to present statistical information are drawn using slow and resource hungry SVG generation routines; It would make more sense to offload this part onto the 3rd party service, such as Google Charts (please see http://code.google.com/apis/chart ).&lt;br /&gt;
&lt;br /&gt;
Additionally, the statistics information that is submitted by the Wesnoth client is quite limited at the moment. It would be quite useful if clients could submit additional information, such as hardware and OS information (of course again, with user's permission) - this could be useful to the developers. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools and implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I will implement the described above system which would consist of:&lt;br /&gt;
* Modifying the current cgi part responsible for accepting logs from players and making sure that it is scalable. I plan to use Ruby to implement this part. However If it's not available I could rewrite the cgi in any available language I am familiar with (perl, tcl, c).&lt;br /&gt;
* Modifying the existing statistics web part and rewriting it to make use of the Google Charts API. This would involve making modifications to the existing php code.&lt;br /&gt;
* Performing necessary stress tests to make sure the system is scalable.&lt;br /&gt;
* Modifying Wesnoth client to submit additional statistical data.&lt;br /&gt;
* Making necessary UI modifications to Wesnoth client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. &lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system by the end of June.&lt;br /&gt;
* At that point I will start working on integrating additional statistics gathering routines into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; Should the time permit (if I finish everything mentioned above before the end of term) I could work on integrating a basic crash report system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents some statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
This prototype can be accessed at http://wesnoth.radx.org/player&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24496</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24496"/>
		<updated>2008-03-24T17:29:07Z</updated>

		<summary type="html">&lt;p&gt;Radx: Fixing email address.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'mkonyk_A-T_gmail_D-O-T_com'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project will be published on Google Code soon.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
This current statistics system has a couple of problems, however. In this idea I will try to address some of these problems and discuss possible solutions.&lt;br /&gt;
&lt;br /&gt;
First of all, in order to receive more accurate results about campaigns we would need to increase our dataset. This could be achieved by making 'log submission' option more accessible to the player; for example creating a dialog which would ask user if it's ok to submit the data upon the first run of the Wesnoth client. This would bring more people into the statistics submission program.&lt;br /&gt;
&lt;br /&gt;
However it would also increase the stress on the server part which is responsible for accepting logs from players.&lt;br /&gt;
&lt;br /&gt;
Another problem with the current statistics system is that the charts which are used to present statistical information are drawn using slow and resource hungry SVG generation routines; It would make more sense to offload this part onto the 3rd party service, such as Google Charts (please see http://code.google.com/apis/chart ).&lt;br /&gt;
&lt;br /&gt;
Additionally, the statistics information that is submitted by the Wesnoth client is quite limited at the moment. It would be quite useful if clients could submit additional information, such as hardware and OS information (of course again, with user's permission) - this could be useful to the developers. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools and implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I will implement the described above system which would consist of:&lt;br /&gt;
* Modifying the current cgi part responsible for accepting logs from players and making sure that it is scalable. I plan to use Ruby to implement this part. However If it's not available I could rewrite the cgi in any available language I am familiar with (perl, tcl, c).&lt;br /&gt;
* Modifying the existing statistics web part and rewriting it to make use of the Google Charts API. This would involve making modifications to the existing php code.&lt;br /&gt;
* Performing necessary stress tests to make sure the system is scalable.&lt;br /&gt;
* Modifying Wesnoth client to submit additional statistical data.&lt;br /&gt;
* Making necessary UI modifications to Wesnoth client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. &lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system by the end of June.&lt;br /&gt;
* At that point I will start working on integrating additional statistics gathering routines into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; Should the time permit (if I finish everything mentioned above before the end of term) I could work on the Addon server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents some statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
This prototype can be accessed at http://wesnoth.radx.org/player&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code]]&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=24455</id>
		<title>SummerOfCodeIdeas</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=SummerOfCodeIdeas&amp;diff=24455"/>
		<updated>2008-03-24T03:00:03Z</updated>

		<summary type="html">&lt;p&gt;Radx: Added other section, Adde description/link to my GSoC 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;
Also see the [[DeveloperResources]] link (from the [[Project]] page).&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;
===[[SoC Ideas FormulaAI|Formula AI]]===&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;
==== [[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;
====[[FormulaAIBaseAI]] (Dragonking) ====&lt;br /&gt;
Developing smart and pluggable AI, which would be really easy tweakable by Scenario and Campaign Developers &lt;br /&gt;
&lt;br /&gt;
===[[SoC Ideas Multiplayer server|Multiplayer Server]]===&lt;br /&gt;
====[[ExtendingMultiplayerServer]] (dudegaurav) ====&lt;br /&gt;
Under Construction ... &lt;br /&gt;
&lt;br /&gt;
===[[SoC Ideas Scenario and Campaign Editor|Scenario/Campaign Editor]]===&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;
====[[pyQTScenarioEditor]] (Malle) ====&lt;br /&gt;
That's me!&lt;br /&gt;
&lt;br /&gt;
====[[RujasuScenarioEditor]] (rujasu) ====&lt;br /&gt;
Scenario editor that will coordinate with the look and feel of the Wesnoth game.&lt;br /&gt;
&lt;br /&gt;
===[[SoC Ideas Addon Server|Addon Server]]===&lt;br /&gt;
====[[AddonServerSocial]] (lao) ====&lt;br /&gt;
Improving addon Server/Client by adding some social content.&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;
===[[SoC Ideas Map Editor|Map Editor]]===&lt;br /&gt;
====[[EvolutionaryMapEditor]] (xonev) ====&lt;br /&gt;
Under Construction&lt;br /&gt;
&lt;br /&gt;
====[[VimzardMapEditor]] (vimzard) ====&lt;br /&gt;
A better random map generator, some essential features and a tie-in with the Scenario Editor.&lt;br /&gt;
&lt;br /&gt;
====[[NewMapEditor]] (Cecen) ====&lt;br /&gt;
This is basically a rewrite of the current map editor with various added features and tweaks to both increase the versatility of the editor and make it easier for the user to create maps with.&lt;br /&gt;
&lt;br /&gt;
===Map Generator===&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;
===Other===&lt;br /&gt;
====[[WesnothStatistics]] (radx) ====&lt;br /&gt;
Project related to Wesnoth statistics (campaign) submission, gathering and presentation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Summer of Code|*]]&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24454</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24454"/>
		<updated>2008-03-24T02:56:14Z</updated>

		<summary type="html">&lt;p&gt;Radx: Fixing typos in Prototype section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'gamedev_A-T_konyk_D-O-T_org'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project will be published on Google Code soon.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
This current statistics system has a couple of problems, however. In this idea I will try to address some of these problems and discuss possible solutions.&lt;br /&gt;
&lt;br /&gt;
First of all, in order to receive more accurate results about campaigns we would need to increase our dataset. This could be achieved by making 'log submission' option more accessible to the player; for example creating a dialog which would ask user if it's ok to submit the data upon the first run of the Wesnoth client. This would bring more people into the statistics submission program.&lt;br /&gt;
&lt;br /&gt;
However it would also increase the stress on the server part which is responsible for accepting logs from players.&lt;br /&gt;
&lt;br /&gt;
Another problem with the current statistics system is that the charts which are used to present statistical information are drawn using slow and resource hungry SVG generation routines; It would make more sense to offload this part onto the 3rd party service, such as Google Charts (please see http://code.google.com/apis/chart ).&lt;br /&gt;
&lt;br /&gt;
Additionally, the statistics information that is submitted by the Wesnoth client is quite limited at the moment. It would be quite useful if clients could submit additional information, such as hardware and OS information (of course again, with user's permission) - this could be useful to the developers. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools and implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I will implement the described above system which would consist of:&lt;br /&gt;
* Modifying the current cgi part responsible for accepting logs from players and making sure that it is scalable. I plan to use Ruby to implement this part. However If it's not available I could rewrite the cgi in any available language I am familiar with (perl, tcl, c).&lt;br /&gt;
* Modifying the existing statistics web part and rewriting it to make use of the Google Charts API. This would involve making modifications to the existing php code.&lt;br /&gt;
* Performing necessary stress tests to make sure the system is scalable.&lt;br /&gt;
* Modifying Wesnoth client to submit additional statistical data.&lt;br /&gt;
* Making necessary UI modifications to Wesnoth client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. &lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system by the end of June.&lt;br /&gt;
* At that point I will start working on integrating additional statistics gathering routines into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; Should the time permit (if I finish everything mentioned above before the end of term) I could work on the Addon server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents some statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
This prototype can be accessed at http://wesnoth.radx.org/player&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24453</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24453"/>
		<updated>2008-03-24T02:53:20Z</updated>

		<summary type="html">&lt;p&gt;Radx: small typo fix: url&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'gamedev_A-T_konyk_D-O-T_org'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project will be published on Google Code soon.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
This current statistics system has a couple of problems, however. In this idea I will try to address some of these problems and discuss possible solutions.&lt;br /&gt;
&lt;br /&gt;
First of all, in order to receive more accurate results about campaigns we would need to increase our dataset. This could be achieved by making 'log submission' option more accessible to the player; for example creating a dialog which would ask user if it's ok to submit the data upon the first run of the Wesnoth client. This would bring more people into the statistics submission program.&lt;br /&gt;
&lt;br /&gt;
However it would also increase the stress on the server part which is responsible for accepting logs from players.&lt;br /&gt;
&lt;br /&gt;
Another problem with the current statistics system is that the charts which are used to present statistical information are drawn using slow and resource hungry SVG generation routines; It would make more sense to offload this part onto the 3rd party service, such as Google Charts (please see http://code.google.com/apis/chart ).&lt;br /&gt;
&lt;br /&gt;
Additionally, the statistics information that is submitted by the Wesnoth client is quite limited at the moment. It would be quite useful if clients could submit additional information, such as hardware and OS information (of course again, with user's permission) - this could be useful to the developers. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools and implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I will implement the described above system which would consist of:&lt;br /&gt;
* Modifying the current cgi part responsible for accepting logs from players and making sure that it is scalable. I plan to use Ruby to implement this part. However If it's not available I could rewrite the cgi in any available language I am familiar with (perl, tcl, c).&lt;br /&gt;
* Modifying the existing statistics web part and rewriting it to make use of the Google Charts API. This would involve making modifications to the existing php code.&lt;br /&gt;
* Performing necessary stress tests to make sure the system is scalable.&lt;br /&gt;
* Modifying Wesnoth client to submit additional statistical data.&lt;br /&gt;
* Making necessary UI modifications to Wesnoth client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. &lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system by the end of June.&lt;br /&gt;
* At that point I will start working on integrating additional statistics gathering routines into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; Should the time permit (if I finish everything mentioned above before the end of term) I could work on the Addon server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype in using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents the statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
This prototype can be accessed at http://wesnoth.radx.org/player&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24452</id>
		<title>WesnothStatistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WesnothStatistics&amp;diff=24452"/>
		<updated>2008-03-24T02:51:16Z</updated>

		<summary type="html">&lt;p&gt;Radx: New page: == Basics ==   My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada.   My preferred email address is 'gamedev_A-T_konyk_D-O-T_or...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My name is Myk and I am currently a full time graduate student (Masters, Computer Science) at CU, Ottawa, Canada. &lt;br /&gt;
&lt;br /&gt;
My preferred email address is 'gamedev_A-T_konyk_D-O-T_org'. On IRC/forums/gna I am 'radx'.&lt;br /&gt;
&lt;br /&gt;
My main reason for participating in this project is that I am passionate about any kind of game development. I would certainly want to work in a gamedev industry once I graduate; I have also never participated in the Google Summer of Code, which I hope will prove to be an exciting, interesting, and of course challenging, experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What programs/software have you worked on before?&lt;br /&gt;
** I participated in several commercial projects, including a commercial FPS game (during my CO-OP). As far as open source goes, I wrote a semantic web plugin for the OpenBabel chemical suite (part of my research). This project will be published on Google Code soon.&lt;br /&gt;
&lt;br /&gt;
* Have you developed software in a team environment before? (As opposed to hacking on something on your own)&lt;br /&gt;
** Yes; I participated in several team projects involving software development before (both university and work).&lt;br /&gt;
&lt;br /&gt;
* Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?&lt;br /&gt;
** No, I have not participated before; I was going to apply last year (Ogre3d SoC project), but I decided not to because of the additional summer workload.&lt;br /&gt;
&lt;br /&gt;
* What development model would you use (e.g. keywords: V-model, XP programming, agile programming, iterative; with the help of prototyping, formal specifications, tests, etc).&lt;br /&gt;
**I would use a mix of iterative/agile model with unit-testing and prototyping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&lt;br /&gt;
** I am not involved with any open source project at the moment. I have been previously involved (please see above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gaming experience ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Are you a gamer? If so...&lt;br /&gt;
** Yes, I play now and then.&lt;br /&gt;
&lt;br /&gt;
* What type of games?&lt;br /&gt;
** I prefer turn based strategy games, arcade console games and occasional FPS action.&lt;br /&gt;
&lt;br /&gt;
* What type of opponents do you prefer?&lt;br /&gt;
** Non-cheating humans, of course. I am not a great fan of AI opponents.&lt;br /&gt;
&lt;br /&gt;
* Are you more interested in story or gameplay?&lt;br /&gt;
** I am interested in both, since both are crucial.&lt;br /&gt;
&lt;br /&gt;
* Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&lt;br /&gt;
** I have played Wesnoth for about a week now. In order to build a prototype system for this project I played through several Wesnoth single players campaigns. I haven't tried multi-player mode yet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication skills ==&lt;br /&gt;
&lt;br /&gt;
* Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.&lt;br /&gt;
** Even though English is not my first language, I would say I am quite fluent.&lt;br /&gt;
&lt;br /&gt;
* Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&lt;br /&gt;
** Absolutely! So far my impression of the Wesnoth developer community is great. People on IRC have been quite helpful and friendly.&lt;br /&gt;
&lt;br /&gt;
* Do you give constructive advice?&lt;br /&gt;
** Yes, If it is something I can help with, I have no problem explaining/expressing myself. I am usually quite helpful in that sense.&lt;br /&gt;
&lt;br /&gt;
* Do you receive advice well?&lt;br /&gt;
** Yes, of course. I am always interested in alternative opinions/solutions.&lt;br /&gt;
&lt;br /&gt;
* Are you good at sorting useful criticisms from useless ones? &lt;br /&gt;
** I find that development experience usually helps with this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Did you select a project from our list? If that is the case, what project did you select?&lt;br /&gt;
** I chose a project which is not in the provided list. My project is 'Wesnoth Statistics'.&lt;br /&gt;
&lt;br /&gt;
* Why did you choose this project?&lt;br /&gt;
** I chose this project after talking to some Wesnoth developers on the IRC channel. It seemed like an interesting and challenging project.&lt;br /&gt;
&lt;br /&gt;
* Include an estimated timeline for your work on the project&lt;br /&gt;
** Please see 'Timeline' section.&lt;br /&gt;
&lt;br /&gt;
* Include as much technical detail about your implementation as you can&lt;br /&gt;
** Please see 'Idea' and 'Tools and implementation' section.&lt;br /&gt;
&lt;br /&gt;
* What do you expect to gain from this project?&lt;br /&gt;
** I expect to gain two things: first of all development experience and secondly, experience participating in a big open source project.&lt;br /&gt;
&lt;br /&gt;
* What would make you stay in the Wesnoth community after the conclusion of SOC?&lt;br /&gt;
** It is possible, however I will not have as much time after the summer, graduate school tends to eat a lot of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Practical considerations ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Are you familiar with any of the following tools?&lt;br /&gt;
** I have used SVN before, however I tend to use other VCS, mostly Perforce. &lt;br /&gt;
** c++ is my main programming language (STL, boost).&lt;br /&gt;
** I have no experience using Python whatsoever; My main scripting language is Ruby.&lt;br /&gt;
&lt;br /&gt;
* Which tools do you normally use for development? Why do you use them?&lt;br /&gt;
** I use c++ (gcc / intel compiler) and xcode ide to write my software, with my main dev system being a mac. I am also used to working with visual c++ (I went pretty much through all vc versions), since I mostly have to write code which has to be portable.&lt;br /&gt;
&lt;br /&gt;
* What programming languages are you fluent in?&lt;br /&gt;
** Relevant to the project: c++, Ruby, php&lt;br /&gt;
&lt;br /&gt;
* What spoken languages are you fluent in?&lt;br /&gt;
** English, Ukrainian, Russian&lt;br /&gt;
&lt;br /&gt;
* At what hours are you awake (please specify in UTC)&lt;br /&gt;
** Usually from 11 AM EST to 2 AM EST (EST is -5).&lt;br /&gt;
&lt;br /&gt;
* Would you mind talking with your mentor on telephone / internet phone? &lt;br /&gt;
** I would prefer to communicate via messaging (IRC, email, any IM). But if it's necessary I won't mind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the moment Wesnoth has a statistics system which could be accessed at http://stats.wesnoth.org . In Wesnoth client, there's an option which enables anonymous log submission to the existing statistics server. If enabled, Wesnoth client will submit campaign logs to the statistics server. With this information available, developers could track potential problems across existing campaigns - check where people tend to have problems, where people tend to give up, or where they have an easy time, and so on. &lt;br /&gt;
&lt;br /&gt;
This current statistics system has a couple of problems, however. In this idea I will try to address some of these problems and discuss possible solutions.&lt;br /&gt;
&lt;br /&gt;
First of all, in order to receive more accurate results about campaigns we would need to increase our dataset. This could be achieved by making 'log submission' option more accessible to the player; for example creating a dialog which would ask user if it's ok to submit the data upon the first run of the Wesnoth client. This would bring more people into the statistics submission program.&lt;br /&gt;
&lt;br /&gt;
However it would also increase the stress on the server part which is responsible for accepting logs from players.&lt;br /&gt;
&lt;br /&gt;
Another problem with the current statistics system is that the charts which are used to present statistical information are drawn using slow and resource hungry SVG generation routines; It would make more sense to offload this part onto the 3rd party service, such as Google Charts (please see http://code.google.com/apis/chart ).&lt;br /&gt;
&lt;br /&gt;
Additionally, the statistics information that is submitted by the Wesnoth client is quite limited at the moment. It would be quite useful if clients could submit additional information, such as hardware and OS information (of course again, with user's permission) - this could be useful to the developers. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools and implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I will implement the described above system which would consist of:&lt;br /&gt;
* Modifying the current cgi part responsible for accepting logs from players and making sure that it is scalable. I plan to use Ruby to implement this part. However If it's not available I could rewrite the cgi in any available language I am familiar with (perl, tcl, c).&lt;br /&gt;
* Modifying the existing statistics web part and rewriting it to make use of the Google Charts API. This would involve making modifications to the existing php code.&lt;br /&gt;
* Performing necessary stress tests to make sure the system is scalable.&lt;br /&gt;
* Modifying Wesnoth client to submit additional statistical data.&lt;br /&gt;
* Making necessary UI modifications to Wesnoth client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Until the end of April I plan to hammer out the requirements and have a strong prototype model. I plan to interact with developers and get into the Wesnoth source. &lt;br /&gt;
* Unfortunately I cannot start working on this early as I have exams which are coming up in April.&lt;br /&gt;
* I expect to have a completely tested and working statistics system by the end of June.&lt;br /&gt;
* At that point I will start working on integrating additional statistics gathering routines into the Wesnoth client.&lt;br /&gt;
* I am quite flexible with my time; Should the time permit (if I finish everything mentioned above before the end of term) I could work on the Addon server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prototype == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have already implemented a working prototype for the proposed above system; Because I did not have much time, I implemented the prototype in using my preferred tools (Ruby and Rails); However the choice of final tools (depending on the current hosting) is flexible.&lt;br /&gt;
&lt;br /&gt;
At this moment I recompiled my Wesnoth client and forced it to submit campaign logs to my webserver; I rewrote the existing cgi script to parse the logs and upload them to local MySQL database; I also implemented a simple web service (in Ruby on Rails) which presents the statistical data to the user. The images are generated using the Google Charts API.&lt;br /&gt;
&lt;br /&gt;
This prototype can be accessed at http://wesnoth.radx.org&lt;/div&gt;</summary>
		<author><name>Radx</name></author>
		
	</entry>
</feed>