<?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=Rho</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=Rho"/>
	<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/Special:Contributions/Rho"/>
	<updated>2026-04-22T12:21:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50857</id>
		<title>User:Rho</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50857"/>
		<updated>2013-05-03T13:22:59Z</updated>

		<summary type="html">&lt;p&gt;Rho: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
My goal is to develop a defense strategy, instead of just attacking the enemies to win, some AI Algorithms can be implemented to win without attacking the enemies, i think about adding new objects to the game to support the total defense strategy. but I'm not sure if the game will be boring after these algorithms or not.!&lt;br /&gt;
&lt;br /&gt;
==Defense Algorithm==&lt;br /&gt;
&lt;br /&gt;
Sometime defending is better attacking: player can stay in his castle or somewhere near and use the defense startegy to win.&lt;br /&gt;
Things to be taken in considration in the defense algorithm:&lt;br /&gt;
&lt;br /&gt;
* get the locations of the enemies and their damage effect&lt;br /&gt;
* use some object to defend like surronding the castle with borders or turn off fire at night in order not to be seen.&lt;br /&gt;
* Backing to houses which no or few enemy can reach.&lt;br /&gt;
* hide the leader in a safe place&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Rho&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;1) Basics&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.1) Write a small introduction to yourself.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm 21 Egyptian Muslim engineer, student at the faculty of engineering Ain Shams University 3rd year computer and systems department, AI is one of my&amp;amp;nbsp;favorite&amp;amp;nbsp;fields of study, &amp;amp;nbsp;i participated in many AI online classes and &amp;lt;a href=&amp;quot;http://www.mediafire.com/view/?uy150eb43hp1l8x&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;passed the exam in AI planning class&amp;lt;/a&amp;gt;, i really&amp;amp;nbsp;appreciate&amp;amp;nbsp;the open&amp;amp;nbsp;source principle.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;other&amp;amp;nbsp;interests: playing games, listen to music, play piano and explore new&amp;amp;nbsp;experiences&amp;amp;nbsp;in different fields&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.2) State your preferred email address.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ranianr91@gmail.com&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Rho&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.4) Why do you want to participate in summer of code?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GSoC is a great opportunity to explore new experience and work on a real open source project.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i hope i have the enough skills and knowledge to make it!&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.5) What are you studying, subject, level and school?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Computer and Systems engineering at the faculty of engineering Ain Shams University.&amp;lt;/p&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.6) What country are you from, at what time are you most likely to be able to join IRC?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm from Egypt (GMT +2), mostly available to join IRC from 10 am to 9 pm&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;My exams will end by the end of&amp;amp;nbsp;June, i may travel 10 days in August, and back to collage again by the end of&amp;amp;nbsp;September.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;2) Experience&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.1) What programs/software have you worked on before?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Many websites and web applications&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple calender systems using c++&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Implementation of some basic AI Algorithms&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Text based game using Java&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple instruction processor using verilog&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* embedded software for robots&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;working now on NLP project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;most of the collage project were teams from 4 to 8 members &amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.3) 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?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5) Gaming experience - Are you a gamer?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.1) What type of gamer are you?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;moderate player (not always the winner)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.2) What type of games?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Speed games, then strategic games&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.3) What type of opponents do you prefer?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;real players, then AI agents&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.4) Are you more interested in story or gameplay?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;gameplay is my&amp;amp;nbsp;favorite.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, but not so much (few&amp;amp;nbsp;campaigns)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.6) If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our repository (during the evaluation period or earlier) please state so.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Didn't contribute with anything till now.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;3) Communication skills&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.1) Though most of our developers are not native English speakers, English is the project's working language. &amp;amp;nbsp;Describe your fluency level in written English.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;I'm fluent in written english&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.2) What spoken languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;Arabic, English and fair knowledge about french&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i think I'm good at interacting with other players&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.4) Do you give constructive advice?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, when i have the enough knowledge and experience&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.5) Do you receive advice well?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.6) Are you good at sorting useful criticisms from useless ones?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i think yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.7) How autonomous are you when developing ? Would you rather discuss intensively changes and not start coding until you know what you want to do or would you rather code a proof of concept to &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i would rather code a proof of concept to see how it work&amp;lt;strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;4) Project&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.1) Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;AI defense strategy, and i want to concentrate on locating the enemies and measure their damage effect part&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.3) Why did you choose this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;because I'm interested in AI, and would like to provide new user experience through adding the new defense strategy to the game&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.4) Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;July 1st to July 10th --&amp;amp;gt; understand the current algorithm and check the effect of small edits on the code&amp;lt;br /&amp;gt;July 10th to July 30th --&amp;amp;gt; implement the algorithm that determines the locations of the enemies and their locations and support the defense system&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;during August -&amp;amp;gt; test and optimize the code&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;then document the project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.5) Include as much technical detail about your implementation as you can&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;I plan to develop the current AI algorithm and make it support the defense strategy, i really don't know the current algorithm but i will study it well before start developing my own algorithm. &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;to search the map for enemies i will use breadth first search, and record the locations of the enemies and their damage effect in each turn.&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.6) What do you expect to gain from this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;Gain experience in AI field , learn more about strategic games development , and be prepared to be a part of open source community.&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;The open source community itself&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;5) Practical considerations&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.1) Are you familiar with any of the following tools or languages?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Git (used for all commits)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* C++ (language used for all the normal source code) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* STL, Boost, Sdl (C++ libraries used by Wesnoth)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Python (optional, mainly used for tools) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* build environments (eg cmake/scons)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* WML (the wesnoth specific scenario language)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Lua (used in combination with WML to create scenarios)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.2) Which tools do you normally use for development? Why do you use them?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GCC compiler for C/C++ on Linux, Microsoft visual studio for C/C++ on windows, Netbeans for Java, Python IDE, Dreamwaver for PHP&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.3) What programming languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;C, C++, Java, python, PHP &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.4) Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of &amp;quot;there is no way to contact you&amp;quot; does arise!&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i agree and will post my phone in GSoC application&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rho</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50856</id>
		<title>User:Rho</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50856"/>
		<updated>2013-05-03T13:21:43Z</updated>

		<summary type="html">&lt;p&gt;Rho: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
My goal is to develop a defense strategy, instead of just attacking the enemies to win, some AI Algorithms can be implemented to win without attacking the enemies, i think about adding new objects to the game to support the total defense strategy. but I'm not sure if the game will be boring after these algorithms or not.!&lt;br /&gt;
&lt;br /&gt;
==Defense Algorithm==&lt;br /&gt;
&lt;br /&gt;
Sometime defending is better attacking: player can stay in his castle or somewhere near and use the defense startegy to win.&lt;br /&gt;
Things to be taken in considration in the defense algorithm:&lt;br /&gt;
&lt;br /&gt;
* get the locations of the enemies and their damage effect&lt;br /&gt;
* use some object to defend like surronding the castle with borders or turn off fire at night in order not to be seen.&lt;br /&gt;
* Backing to houses which no or few enemy can reach.&lt;br /&gt;
* hide the leader in a safe place&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
Rho&lt;br /&gt;
&lt;br /&gt;
=Questionnaire=&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;1) Basics&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.1) Write a small introduction to yourself.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm 21 Egyptian Muslim engineer, student at the faculty of engineering Ain Shams University 3rd year computer and systems department, AI is one of my&amp;amp;nbsp;favorite&amp;amp;nbsp;fields of study, &amp;amp;nbsp;i participated in many AI online classes and &amp;lt;a href=&amp;quot;http://www.mediafire.com/view/?uy150eb43hp1l8x&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;passed the exam in AI planning class&amp;lt;/a&amp;gt;, i really&amp;amp;nbsp;appreciate&amp;amp;nbsp;the open&amp;amp;nbsp;source principle.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;other&amp;amp;nbsp;interests: playing games, listen to music, play piano and explore new&amp;amp;nbsp;experiences&amp;amp;nbsp;in different fields&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.2) State your preferred email address.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ranianr91@gmail.com&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Rho&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.4) Why do you want to participate in summer of code?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GSoC is a great opportunity to explore new experience and work on a real open source project.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i hope i have the enough skills and knowledge to make it!&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.5) What are you studying, subject, level and school?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Computer and Systems engineering at the faculty of engineering Ain Shams University.&amp;lt;/p&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.6) What country are you from, at what time are you most likely to be able to join IRC?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm from Egypt (GMT +2), mostly available to join IRC from 10 am to 9 pm&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;My exams will end by the end of&amp;amp;nbsp;June, i may travel 10 days in August, and back to collage again by the end of&amp;amp;nbsp;September.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;2) Experience&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.1) What programs/software have you worked on before?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Many websites and web applications&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple calender systems using c++&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Implementation of some basic AI Algorithms&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Text based game using Java&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple instruction processor using verilog&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* embedded software for robots&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;working now on NLP project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;most of the collage project were teams from 4 to 8 members &amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.3) 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?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5) Gaming experience - Are you a gamer?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.1) What type of gamer are you?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;moderate player (not always the winner)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.2) What type of games?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Speed games, then strategic games&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.3) What type of opponents do you prefer?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;real players, then AI agents&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.4) Are you more interested in story or gameplay?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;gameplay is my&amp;amp;nbsp;favorite.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, but not so much (few&amp;amp;nbsp;campaigns)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.6) If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our repository (during the evaluation period or earlier) please state so.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Didn't contribute with anything till now.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;3) Communication skills&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.1) Though most of our developers are not native English speakers, English is the project's working language. &amp;amp;nbsp;Describe your fluency level in written English.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;I'm fluent in written english&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.2) What spoken languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;Arabic, English and fair knowledge about french&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i think I'm good at interacting with other players&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.4) Do you give constructive advice?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, when i have the enough knowledge and experience&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.5) Do you receive advice well?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.6) Are you good at sorting useful criticisms from useless ones?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i think yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.7) How autonomous are you when developing ? Would you rather discuss intensively changes and not start coding until you know what you want to do or would you rather code a proof of concept to &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i would rather code a proof of concept to see how it work&amp;lt;strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;4) Project&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.1) Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;AI defense strategy, and i want to concentrate on locating the enemies and measure their damage effect part&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.3) Why did you choose this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;because I'm interested in AI, and would like to provide new user experience through adding the new defense strategy to the game&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.4) Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;July 1st to July 10th --&amp;amp;gt; understand the current algorithm and check the effect of small edits on the code&amp;lt;br /&amp;gt;July 10th to July 30th --&amp;amp;gt; implement the algorithm that determines the locations of the enemies and their locations and support the defense system&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;during August -&amp;amp;gt; test and optimize the code&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;then document the project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.5) Include as much technical detail about your implementation as you can&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;I plan to develop the current AI algorithm and make it support the defense strategy, i really don't know the current algorithm but i will study it well before start developing my own algorithm. &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;to search the map for enemies i will use breadth first search, and record the locations of the enemies and their damage effect in each turn.&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.6) What do you expect to gain from this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;Gain experience in AI field , learn more about strategic games development , and be prepared to be a part of open source community.&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;The open source community itself&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;5) Practical considerations&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.1) Are you familiar with any of the following tools or languages?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Git (used for all commits)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* C++ (language used for all the normal source code) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* STL, Boost, Sdl (C++ libraries used by Wesnoth)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Python (optional, mainly used for tools) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* build environments (eg cmake/scons)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* WML (the wesnoth specific scenario language)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Lua (used in combination with WML to create scenarios)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.2) Which tools do you normally use for development? Why do you use them?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GCC compiler for C/C++ on Linux, Microsoft visual studio for C/C++ on windows, Netbeans for Java, Python IDE, Dreamwaver for PHP&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.3) What programming languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;C, C++, Java, python, PHP &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.4) Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of &amp;quot;there is no way to contact you&amp;quot; does arise!&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i agree and my phone 02-01005266087&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rho</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50855</id>
		<title>User:Rho</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50855"/>
		<updated>2013-05-03T13:20:40Z</updated>

		<summary type="html">&lt;p&gt;Rho: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
My goal is to develop a defense strategy, instead of just attacking the enemies to win, some AI Algorithms can be implemented to win without attacking the enemies, i think about adding new objects to the game to support the total defense strategy. but I'm not sure if the game will be boring after these algorithms or not.!&lt;br /&gt;
&lt;br /&gt;
==Defense Algorithm==&lt;br /&gt;
&lt;br /&gt;
Sometime defending is better attacking: player can stay in his castle or somewhere near and use the defense startegy to win.&lt;br /&gt;
Things to be taken in considration in the defense algorithm:&lt;br /&gt;
&lt;br /&gt;
* get the locations of the enemies and their damage effect&lt;br /&gt;
* use some object to defend like surronding the castle with borders or turn off fire at night in order not to be seen.&lt;br /&gt;
* Backing to houses which no or few enemy can reach.&lt;br /&gt;
* hide the leader in a safe place&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;1) Basics&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.1) Write a small introduction to yourself.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm 21 Egyptian Muslim engineer, student at the faculty of engineering Ain Shams University 3rd year computer and systems department, AI is one of my&amp;amp;nbsp;favorite&amp;amp;nbsp;fields of study, &amp;amp;nbsp;i participated in many AI online classes and &amp;lt;a href=&amp;quot;http://www.mediafire.com/view/?uy150eb43hp1l8x&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;passed the exam in AI planning class&amp;lt;/a&amp;gt;, i really&amp;amp;nbsp;appreciate&amp;amp;nbsp;the open&amp;amp;nbsp;source principle.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;other&amp;amp;nbsp;interests: playing games, listen to music, play piano and explore new&amp;amp;nbsp;experiences&amp;amp;nbsp;in different fields&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.2) State your preferred email address.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ranianr91@gmail.com&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Rho&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.4) Why do you want to participate in summer of code?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GSoC is a great opportunity to explore new experience and work on a real open source project.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i hope i have the enough skills and knowledge to make it!&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.5) What are you studying, subject, level and school?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Computer and Systems engineering at the faculty of engineering Ain Shams University.&amp;lt;/p&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.6) What country are you from, at what time are you most likely to be able to join IRC?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm from Egypt (GMT +2), mostly available to join IRC from 10 am to 9 pm&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;My exams will end by the end of&amp;amp;nbsp;June, i may travel 10 days in August, and back to collage again by the end of&amp;amp;nbsp;September.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;2) Experience&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.1) What programs/software have you worked on before?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Many websites and web applications&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple calender systems using c++&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Implementation of some basic AI Algorithms&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Text based game using Java&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple instruction processor using verilog&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* embedded software for robots&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;working now on NLP project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;most of the collage project were teams from 4 to 8 members &amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.3) 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?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5) Gaming experience - Are you a gamer?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.1) What type of gamer are you?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;moderate player (not always the winner)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.2) What type of games?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Speed games, then strategic games&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.3) What type of opponents do you prefer?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;real players, then AI agents&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.4) Are you more interested in story or gameplay?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;gameplay is my&amp;amp;nbsp;favorite.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, but not so much (few&amp;amp;nbsp;campaigns)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.6) If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our repository (during the evaluation period or earlier) please state so.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Didn't contribute with anything till now.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;3) Communication skills&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.1) Though most of our developers are not native English speakers, English is the project's working language. &amp;amp;nbsp;Describe your fluency level in written English.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;I'm fluent in written english&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.2) What spoken languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;Arabic, English and fair knowledge about french&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i think I'm good at interacting with other players&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.4) Do you give constructive advice?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, when i have the enough knowledge and experience&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.5) Do you receive advice well?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.6) Are you good at sorting useful criticisms from useless ones?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i think yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.7) How autonomous are you when developing ? Would you rather discuss intensively changes and not start coding until you know what you want to do or would you rather code a proof of concept to &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i would rather code a proof of concept to see how it work&amp;lt;strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;4) Project&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.1) Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;AI defense strategy, and i want to concentrate on locating the enemies and measure their damage effect part&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.3) Why did you choose this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;because I'm interested in AI, and would like to provide new user experience through adding the new defense strategy to the game&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.4) Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;July 1st to July 10th --&amp;amp;gt; understand the current algorithm and check the effect of small edits on the code&amp;lt;br /&amp;gt;July 10th to July 30th --&amp;amp;gt; implement the algorithm that determines the locations of the enemies and their locations and support the defense system&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;during August -&amp;amp;gt; test and optimize the code&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;then document the project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.5) Include as much technical detail about your implementation as you can&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;I plan to develop the current AI algorithm and make it support the defense strategy, i really don't know the current algorithm but i will study it well before start developing my own algorithm. &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;to search the map for enemies i will use breadth first search, and record the locations of the enemies and their damage effect in each turn.&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.6) What do you expect to gain from this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;Gain experience in AI field , learn more about strategic games development , and be prepared to be a part of open source community.&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;The open source community itself&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;5) Practical considerations&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.1) Are you familiar with any of the following tools or languages?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Git (used for all commits)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* C++ (language used for all the normal source code) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* STL, Boost, Sdl (C++ libraries used by Wesnoth)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Python (optional, mainly used for tools) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* build environments (eg cmake/scons)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* WML (the wesnoth specific scenario language)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Lua (used in combination with WML to create scenarios)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.2) Which tools do you normally use for development? Why do you use them?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GCC compiler for C/C++ on Linux, Microsoft visual studio for C/C++ on windows, Netbeans for Java, Python IDE, Dreamwaver for PHP&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.3) What programming languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;C, C++, Java, python, PHP &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.4) Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of &amp;quot;there is no way to contact you&amp;quot; does arise!&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i agree and my phone 02-01005266087&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rho</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50854</id>
		<title>User:Rho</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50854"/>
		<updated>2013-05-03T13:11:38Z</updated>

		<summary type="html">&lt;p&gt;Rho: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
My goal is to develop a defense strategy, instead of just attacking the enemies to win, some AI Algorithms can be implemented to win without attacking the enemies, i think about adding new objects to the game to support the total defense strategy. but I'm not sure if the game will be boring after these algorithms or not.!&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;1) Basics&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.1) Write a small introduction to yourself.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm 21 Egyptian Muslim engineer, student at the faculty of engineering Ain Shams University 3rd year computer and systems department, AI is one of my&amp;amp;nbsp;favorite&amp;amp;nbsp;fields of study, &amp;amp;nbsp;i participated in many AI online classes and &amp;lt;a href=&amp;quot;http://www.mediafire.com/view/?uy150eb43hp1l8x&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;passed the exam in AI planning class&amp;lt;/a&amp;gt;, i really&amp;amp;nbsp;appreciate&amp;amp;nbsp;the open&amp;amp;nbsp;source principle.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;other&amp;amp;nbsp;interests: playing games, listen to music, play piano and explore new&amp;amp;nbsp;experiences&amp;amp;nbsp;in different fields&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.2) State your preferred email address.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ranianr91@gmail.com&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Rho&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.4) Why do you want to participate in summer of code?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GSoC is a great opportunity to explore new experience and work on a real open source project.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i hope i have the enough skills and knowledge to make it!&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.5) What are you studying, subject, level and school?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Computer and Systems engineering at the faculty of engineering Ain Shams University.&amp;lt;/p&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.6) What country are you from, at what time are you most likely to be able to join IRC?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm from Egypt (GMT +2), mostly available to join IRC from 10 am to 9 pm&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;My exams will end by the end of&amp;amp;nbsp;June, i may travel 10 days in August, and back to collage again by the end of&amp;amp;nbsp;September.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;2) Experience&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.1) What programs/software have you worked on before?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Many websites and web applications&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple calender systems using c++&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Implementation of some basic AI Algorithms&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Text based game using Java&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple instruction processor using verilog&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* embedded software for robots&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;working now on NLP project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;most of the collage project were teams from 4 to 8 members &amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.3) 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?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5) Gaming experience - Are you a gamer?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.1) What type of gamer are you?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;moderate player (not always the winner)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.2) What type of games?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Speed games, then strategic games&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.3) What type of opponents do you prefer?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;real players, then AI agents&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.4) Are you more interested in story or gameplay?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;gameplay is my&amp;amp;nbsp;favorite.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, but not so much (few&amp;amp;nbsp;campaigns)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.6) If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our repository (during the evaluation period or earlier) please state so.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Didn't contribute with anything till now.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;3) Communication skills&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.1) Though most of our developers are not native English speakers, English is the project's working language. &amp;amp;nbsp;Describe your fluency level in written English.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;I'm fluent in written english&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.2) What spoken languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;Arabic, English and fair knowledge about french&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i think I'm good at interacting with other players&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.4) Do you give constructive advice?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, when i have the enough knowledge and experience&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.5) Do you receive advice well?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.6) Are you good at sorting useful criticisms from useless ones?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i think yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.7) How autonomous are you when developing ? Would you rather discuss intensively changes and not start coding until you know what you want to do or would you rather code a proof of concept to &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i would rather code a proof of concept to see how it work&amp;lt;strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;4) Project&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.1) Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;AI defense strategy, and i want to concentrate on locating the enemies and measure their damage effect part&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.3) Why did you choose this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;because I'm interested in AI, and would like to provide new user experience through adding the new defense strategy to the game&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.4) Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;July 1st to July 10th --&amp;amp;gt; understand the current algorithm and check the effect of small edits on the code&amp;lt;br /&amp;gt;July 10th to July 30th --&amp;amp;gt; implement the algorithm that determines the locations of the enemies and their locations and support the defense system&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;during August -&amp;amp;gt; test and optimize the code&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;then document the project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.5) Include as much technical detail about your implementation as you can&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;I plan to develop the current AI algorithm and make it support the defense strategy, i really don't know the current algorithm but i will study it well before start developing my own algorithm. &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;to search the map for enemies i will use breadth first search, and record the locations of the enemies and their damage effect in each turn.&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.6) What do you expect to gain from this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;Gain experience in AI field , learn more about strategic games development , and be prepared to be a part of open source community.&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;The open source community itself&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;5) Practical considerations&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.1) Are you familiar with any of the following tools or languages?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Git (used for all commits)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* C++ (language used for all the normal source code) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* STL, Boost, Sdl (C++ libraries used by Wesnoth)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Python (optional, mainly used for tools) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* build environments (eg cmake/scons)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* WML (the wesnoth specific scenario language)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Lua (used in combination with WML to create scenarios)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.2) Which tools do you normally use for development? Why do you use them?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GCC compiler for C/C++ on Linux, Microsoft visual studio for C/C++ on windows, Netbeans for Java, Python IDE, Dreamwaver for PHP&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.3) What programming languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;C, C++, Java, python, PHP &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.4) Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of &amp;quot;there is no way to contact you&amp;quot; does arise!&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i agree and my phone 02-01005266087&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rho</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50853</id>
		<title>User:Rho</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50853"/>
		<updated>2013-05-03T13:10:53Z</updated>

		<summary type="html">&lt;p&gt;Rho: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;1) Basics&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.1) Write a small introduction to yourself.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm 21 Egyptian Muslim engineer, student at the faculty of engineering Ain Shams University 3rd year computer and systems department, AI is one of my&amp;amp;nbsp;favorite&amp;amp;nbsp;fields of study, &amp;amp;nbsp;i participated in many AI online classes and &amp;lt;a href=&amp;quot;http://www.mediafire.com/view/?uy150eb43hp1l8x&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;passed the exam in AI planning class&amp;lt;/a&amp;gt;, i really&amp;amp;nbsp;appreciate&amp;amp;nbsp;the open&amp;amp;nbsp;source principle.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;other&amp;amp;nbsp;interests: playing games, listen to music, play piano and explore new&amp;amp;nbsp;experiences&amp;amp;nbsp;in different fields&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.2) State your preferred email address.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ranianr91@gmail.com&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Rho&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.4) Why do you want to participate in summer of code?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GSoC is a great opportunity to explore new experience and work on a real open source project.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i hope i have the enough skills and knowledge to make it!&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.5) What are you studying, subject, level and school?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Computer and Systems engineering at the faculty of engineering Ain Shams University.&amp;lt;/p&amp;gt;&lt;br /&gt;
==Overview==&lt;br /&gt;
My goal is to develop a defense strategy, instead of just attacking the enemies to win, some AI Algorithms can be implemented to win without attacking the enemies, i think about adding new objects to the game to support the total defense strategy. but I'm not sure if the game will be boring after these algorithms or not.!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.6) What country are you from, at what time are you most likely to be able to join IRC?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm from Egypt (GMT +2), mostly available to join IRC from 10 am to 9 pm&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;My exams will end by the end of&amp;amp;nbsp;June, i may travel 10 days in August, and back to collage again by the end of&amp;amp;nbsp;September.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;2) Experience&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.1) What programs/software have you worked on before?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Many websites and web applications&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple calender systems using c++&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Implementation of some basic AI Algorithms&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Text based game using Java&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple instruction processor using verilog&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* embedded software for robots&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;working now on NLP project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;most of the collage project were teams from 4 to 8 members &amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.3) 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?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5) Gaming experience - Are you a gamer?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.1) What type of gamer are you?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;moderate player (not always the winner)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.2) What type of games?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Speed games, then strategic games&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.3) What type of opponents do you prefer?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;real players, then AI agents&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.4) Are you more interested in story or gameplay?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;gameplay is my&amp;amp;nbsp;favorite.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, but not so much (few&amp;amp;nbsp;campaigns)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.6) If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our repository (during the evaluation period or earlier) please state so.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Didn't contribute with anything till now.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;3) Communication skills&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.1) Though most of our developers are not native English speakers, English is the project's working language. &amp;amp;nbsp;Describe your fluency level in written English.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;I'm fluent in written english&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.2) What spoken languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;Arabic, English and fair knowledge about french&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i think I'm good at interacting with other players&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.4) Do you give constructive advice?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, when i have the enough knowledge and experience&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.5) Do you receive advice well?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.6) Are you good at sorting useful criticisms from useless ones?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i think yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.7) How autonomous are you when developing ? Would you rather discuss intensively changes and not start coding until you know what you want to do or would you rather code a proof of concept to &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i would rather code a proof of concept to see how it work&amp;lt;strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;4) Project&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.1) Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;AI defense strategy, and i want to concentrate on locating the enemies and measure their damage effect part&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.3) Why did you choose this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;because I'm interested in AI, and would like to provide new user experience through adding the new defense strategy to the game&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.4) Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;July 1st to July 10th --&amp;amp;gt; understand the current algorithm and check the effect of small edits on the code&amp;lt;br /&amp;gt;July 10th to July 30th --&amp;amp;gt; implement the algorithm that determines the locations of the enemies and their locations and support the defense system&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;during August -&amp;amp;gt; test and optimize the code&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;then document the project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.5) Include as much technical detail about your implementation as you can&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;I plan to develop the current AI algorithm and make it support the defense strategy, i really don't know the current algorithm but i will study it well before start developing my own algorithm. &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;to search the map for enemies i will use breadth first search, and record the locations of the enemies and their damage effect in each turn.&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.6) What do you expect to gain from this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;Gain experience in AI field , learn more about strategic games development , and be prepared to be a part of open source community.&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;The open source community itself&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;5) Practical considerations&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.1) Are you familiar with any of the following tools or languages?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Git (used for all commits)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* C++ (language used for all the normal source code) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* STL, Boost, Sdl (C++ libraries used by Wesnoth)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Python (optional, mainly used for tools) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* build environments (eg cmake/scons)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* WML (the wesnoth specific scenario language)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Lua (used in combination with WML to create scenarios)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.2) Which tools do you normally use for development? Why do you use them?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GCC compiler for C/C++ on Linux, Microsoft visual studio for C/C++ on windows, Netbeans for Java, Python IDE, Dreamwaver for PHP&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.3) What programming languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;C, C++, Java, python, PHP &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.4) Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of &amp;quot;there is no way to contact you&amp;quot; does arise!&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i agree and my phone 02-01005266087&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rho</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50852</id>
		<title>User:Rho</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50852"/>
		<updated>2013-05-03T13:03:04Z</updated>

		<summary type="html">&lt;p&gt;Rho: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;1) Basics&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.1) Write a small introduction to yourself.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm 21 Egyptian Muslim engineer, student at the faculty of engineering Ain Shams University 3rd year computer and systems department, AI is one of my&amp;amp;nbsp;favorite&amp;amp;nbsp;fields of study, &amp;amp;nbsp;i participated in many AI online classes and &amp;lt;a href=&amp;quot;http://www.mediafire.com/view/?uy150eb43hp1l8x&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;passed the exam in AI planning class&amp;lt;/a&amp;gt;, i really&amp;amp;nbsp;appreciate&amp;amp;nbsp;the open&amp;amp;nbsp;source principle.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;other&amp;amp;nbsp;interests: playing games, listen to music, play piano and explore new&amp;amp;nbsp;experiences&amp;amp;nbsp;in different fields&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.2) State your preferred email address.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ranianr91@gmail.com&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Rho&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.4) Why do you want to participate in summer of code?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GSoC is a great opportunity to explore new experience and work on a real open source project.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i hope i have the enough skills and knowledge to make it!&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.5) What are you studying, subject, level and school?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Computer and Systems engineering at the faculty of engineering Ain Shams University.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.6) What country are you from, at what time are you most likely to be able to join IRC?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm from Egypt (GMT +2), mostly available to join IRC from 10 am to 9 pm&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;My exams will end by the end of&amp;amp;nbsp;June, i may travel 10 days in August, and back to collage again by the end of&amp;amp;nbsp;September.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;2) Experience&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.1) What programs/software have you worked on before?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Many websites and web applications&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple calender systems using c++&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Implementation of some basic AI Algorithms&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Text based game using Java&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple instruction processor using verilog&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* embedded software for robots&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;working now on NLP project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;most of the collage project were teams from 4 to 8 members &amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.3) 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?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5) Gaming experience - Are you a gamer?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.1) What type of gamer are you?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;moderate player (not always the winner)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.2) What type of games?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Speed games, then strategic games&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.3) What type of opponents do you prefer?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;real players, then AI agents&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.4) Are you more interested in story or gameplay?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;gameplay is my&amp;amp;nbsp;favorite.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, but not so much (few&amp;amp;nbsp;campaigns)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.6) If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our repository (during the evaluation period or earlier) please state so.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Didn't contribute with anything till now.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;3) Communication skills&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.1) Though most of our developers are not native English speakers, English is the project's working language. &amp;amp;nbsp;Describe your fluency level in written English.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;I'm fluent in written english&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.2) What spoken languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;Arabic, English and fair knowledge about french&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i think I'm good at interacting with other players&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.4) Do you give constructive advice?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, when i have the enough knowledge and experience&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.5) Do you receive advice well?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.6) Are you good at sorting useful criticisms from useless ones?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i think yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.7) How autonomous are you when developing ? Would you rather discuss intensively changes and not start coding until you know what you want to do or would you rather code a proof of concept to &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i would rather code a proof of concept to see how it work&amp;lt;strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;4) Project&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.1) Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;AI defense strategy, and i want to concentrate on locating the enemies and measure their damage effect part&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.3) Why did you choose this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;because I'm interested in AI, and would like to provide new user experience through adding the new defense strategy to the game&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.4) Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;July 1st to July 10th --&amp;amp;gt; understand the current algorithm and check the effect of small edits on the code&amp;lt;br /&amp;gt;July 10th to July 30th --&amp;amp;gt; implement the algorithm that determines the locations of the enemies and their locations and support the defense system&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;during August -&amp;amp;gt; test and optimize the code&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;then document the project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.5) Include as much technical detail about your implementation as you can&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;I plan to develop the current AI algorithm and make it support the defense strategy, i really don't know the current algorithm but i will study it well before start developing my own algorithm. &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;to search the map for enemies i will use breadth first search, and record the locations of the enemies and their damage effect in each turn.&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.6) What do you expect to gain from this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;Gain experience in AI field , learn more about strategic games development , and be prepared to be a part of open source community.&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;The open source community itself&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;5) Practical considerations&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.1) Are you familiar with any of the following tools or languages?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Git (used for all commits)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* C++ (language used for all the normal source code) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* STL, Boost, Sdl (C++ libraries used by Wesnoth)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Python (optional, mainly used for tools) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* build environments (eg cmake/scons)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* WML (the wesnoth specific scenario language)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Lua (used in combination with WML to create scenarios)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.2) Which tools do you normally use for development? Why do you use them?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GCC compiler for C/C++ on Linux, Microsoft visual studio for C/C++ on windows, Netbeans for Java, Python IDE, Dreamwaver for PHP&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.3) What programming languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;C, C++, Java, python, PHP &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.4) Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of &amp;quot;there is no way to contact you&amp;quot; does arise!&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i agree and my phone 02-01005266087&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rho</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50851</id>
		<title>User:Rho</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50851"/>
		<updated>2013-05-03T12:59:34Z</updated>

		<summary type="html">&lt;p&gt;Rho: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;1) Basics&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.1) Write a small introduction to yourself.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm 21 Egyptian Muslim engineer, student at the faculty of engineering Ain Shams University 3rd year computer and systems department, AI is one of my&amp;amp;nbsp;favorite&amp;amp;nbsp;fields of study, &amp;amp;nbsp;i participated in many AI online classes and &amp;lt;a href=&amp;quot;http://www.mediafire.com/view/?uy150eb43hp1l8x&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;passed the exam in AI planning class&amp;lt;/a&amp;gt;, i really&amp;amp;nbsp;appreciate&amp;amp;nbsp;the open&amp;amp;nbsp;source principle.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;other&amp;amp;nbsp;interests: playing games, listen to music, play piano and explore new&amp;amp;nbsp;experiences&amp;amp;nbsp;in different fields&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.2) State your preferred email address.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ranianr91@gmail.com&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Rho&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.4) Why do you want to participate in summer of code?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GSoC is a great opportunity to explore new experience and work on a real open source project.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i hope i have the enough skills and knowledge to make it!&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.5) What are you studying, subject, level and school?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Computer and Systems engineering at the faculty of engineering Ain Shams University.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.6) What country are you from, at what time are you most likely to be able to join IRC?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;I'm from Egypt (GMT +2), mostly available to join IRC from 10 am to 9 pm&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;My exams will end by the end of&amp;amp;nbsp;June, i may travel 10 days in August, and back to collage again by the end of&amp;amp;nbsp;September.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;2) Experience&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.1) What programs/software have you worked on before?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Many websites and web applications&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple calender systems using c++&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Implementation of some basic AI Algoritms&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Text based game using Java&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* Simple instruction processor using verilog&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;* embedded software for robots&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;working now on NLP project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;most of the collage project were teams from 4 to 8 members &amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.3) 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?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;No, it is my first time&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5) Gaming experience - Are you a gamer?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.1) What type of gamer are you?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;moderate player (not always the winner)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.2) What type of games?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Speed games, then strategic games&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.3) What type of opponents do you prefer?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;real players, then AI agents&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.4) Are you more interested in story or gameplay?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;gameplay is my&amp;amp;nbsp;favorite.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, but not so much (few&amp;amp;nbsp;campaigns)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;2.6) If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for GSoC. If you have gained commit access to our repository (during the evaluation period or earlier) please state so.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Didn't contribute with anything till now.&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;3) Communication skills&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.1) Though most of our developers are not native English speakers, English is the project's working language. &amp;amp;nbsp;Describe your fluency level in written English.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;I'm fluent in written english&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.2) What spoken languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;Arabic, English and fair knowledge about french&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i think I'm good at interacting with other players&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.4) Do you give constructive advice?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;yeah, when i have the enough knowledge and experience&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.5) Do you receive advice well?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.6) Are you good at sorting useful criticisms from useless ones?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i think yeah&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;3.7) How autonomous are you when developing ? Would you rather discuss intensively changes and not start coding until you know what you want to do or would you rather code a proof of concept to &amp;quot;see how it turn out&amp;quot;, taking the risk of having it thrown away if it doesn't match what the project want&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;i would rather code a proof of concept to see how it work&amp;lt;strong&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;4) Project&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.1) Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;AI defense strategy, and i want to concentrate on locating the enemies and measure their damage effect part&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.3) Why did you choose this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;because I'm interested in AI, and would like to provide new user experience through adding the new defense strategy to the game&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.4) Include an estimated timeline for your work on the project. Don't forget to mention special things like &amp;quot;I booked holidays between A and B&amp;quot; and &amp;quot;I got an exam at ABC and won't be doing much then&amp;quot;.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;July 1st to July 10th --&amp;amp;gt; understand the current algorithm and check the effect of small edits on the code&amp;lt;br /&amp;gt;July 10th to July 30th --&amp;amp;gt; implement the algorithm that determines the locations of the enemies and their locations and support the defense system&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;during August -&amp;amp;gt; test and optimize the code&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;then document the project&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.5) Include as much technical detail about your implementation as you can&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;I plan to develop the current AI algorithm and make it support the defense strategy, i really don't know the current algorithm but i will study it well before start developing my own algorithm. &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;to search the map for enemies i will use breadth first search, and record the locations of the enemies and their damage effect in each turn.&amp;lt;br /&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.6) What do you expect to gain from this project?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;Gain experience in AI field , learn more about strategic games development , and be prepared to be a part of open source community.&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?&amp;amp;nbsp;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;The open source community itself&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;5) Practical considerations&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.1) Are you familiar with any of the following tools or languages?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Git (used for all commits)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* C++ (language used for all the normal source code) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* STL, Boost, Sdl (C++ libraries used by Wesnoth)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Python (optional, mainly used for tools) &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;yeah&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* build environments (eg cmake/scons)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* WML (the wesnoth specific scenario language)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;* Lua (used in combination with WML to create scenarios)&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.2) Which tools do you normally use for development? Why do you use them?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;GCC compiler for C/C++ on Linux, Microsoft visual studio for C/C++ on windows, Netbeans for Java, Python IDE, Dreamwaver for PHP&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.3) What programming languages are you fluent in?&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span style=&amp;quot;font-weight: normal;&amp;quot;&amp;gt;C, C++, Java, python, PHP &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;5.4) Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail. If you are willing to do so, please do list a phone number (including international code) so that we are able to contact you. You should probably *only* add this number in the application for you submit to google since the info in the wiki is available in public. We will *not* make any use of your number unless some case of &amp;quot;there is no way to contact you&amp;quot; does arise!&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;i agree and my phone 02-01005266087&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin-bottom: 0in;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rho</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50850</id>
		<title>User:Rho</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=User:Rho&amp;diff=50850"/>
		<updated>2013-05-03T12:59:02Z</updated>

		<summary type="html">&lt;p&gt;Rho: Created page with 'Overview My goal is to develop a defense strategy, instead of just attacking the enemies to win, some AI Algorithms can be implemented to win without attacking the enemies, i thi…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Overview&lt;br /&gt;
My goal is to develop a defense strategy, instead of just attacking the enemies to win, some AI Algorithms can be implemented to win without attacking the enemies, i think about adding new objects to the game to support the total defense strategy.  &lt;br /&gt;
but I'm not sure if the game will be boring after these algorithms or not.!&lt;/div&gt;</summary>
		<author><name>Rho</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.wesnoth.org/index.php?title=WritingYourOwnAI&amp;diff=50838</id>
		<title>WritingYourOwnAI</title>
		<link rel="alternate" type="text/html" href="https://wiki.wesnoth.org/index.php?title=WritingYourOwnAI&amp;diff=50838"/>
		<updated>2013-05-03T08:38:51Z</updated>

		<summary type="html">&lt;p&gt;Rho: /* Warning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Note ==&lt;br /&gt;
'''THIS PAGE IS UNDER CONSTRUCTION.'''&lt;br /&gt;
&lt;br /&gt;
== Writing your own AI ==&lt;br /&gt;
&lt;br /&gt;
Wesnoth supports a pluggable AI system that allows programmers to write their own AIs in C++ or Python.&lt;br /&gt;
You might like to look this over before starting: [[WhyWritingAWesnothAIIsHard]]&lt;br /&gt;
&lt;br /&gt;
== Python ==&lt;br /&gt;
&lt;br /&gt;
For information on the Python AI API look at [[ReferencePythonAPI]].&lt;br /&gt;
&lt;br /&gt;
== C++ ==&lt;br /&gt;
&lt;br /&gt;
The rest of this page describes the C++ AI API. To write an AI in C++, you need to derive a class from ''ai_interface'' (defined in '''ai.hpp'''), and implement the function ''play_turn()'' which will be called every time your AI is expected to play a turn.&lt;br /&gt;
&lt;br /&gt;
Class ''ai_interface'' contains three important functions&lt;br /&gt;
which allow you to execute the three basic types of move available in the game:&lt;br /&gt;
&lt;br /&gt;
* ''attack_enemy()'', which is used to order an attack on an enemy unit,&lt;br /&gt;
* ''move_unit()'', which is used to order a unit to move from one location to another, and&lt;br /&gt;
* ''recruit()'', which is used to recruit a new unit.&lt;br /&gt;
&lt;br /&gt;
Of course, to decide where units are to move and attack, you must have information about the state of the game - the dimensions and layout of the map, the locations and type of units on the map, the types of units your side can recruit, and information about your allies and enemies.&lt;br /&gt;
&lt;br /&gt;
Firstly, a type ''location'' is defined, which defines any location on the map.  It has members ''x'' and ''y''.  In '''pathfind.hpp''' there are a number of functions which will tell you useful things about locations -- whether two locations&lt;br /&gt;
are adjacent, all the locations adjacent to a certain location,&lt;br /&gt;
and the distance between locations.&lt;br /&gt;
&lt;br /&gt;
A type ''move_map'' is defined as a ''std::multimap&amp;lt;location,location&amp;gt;''.  Note that ''std::multimap'' is of course a standard C++ container, and cannot be documented here.  http://www.sgi.com/tech/stl/ is a good reference on standard C++ containers.  The purpose of a ''move_map'' is to show all the possible moves for a side.  It can either be a ''source -&amp;gt; destination'' map, which associates the locations of all the units a side has to all the possible places they can move to, or a ''destination -&amp;gt; source'' map, which associates all the locations all the units a side has can get to, to all the places they are now.&lt;br /&gt;
&lt;br /&gt;
The function ''calculate_possible_moves()'' is provided&lt;br /&gt;
as a useful utility function. It can give you maps for where all&lt;br /&gt;
your units can move, or where all your enemy's movements&lt;br /&gt;
can move when it's their turn. This is a very important&lt;br /&gt;
function to use to work out all the possible places your units can move to.&lt;br /&gt;
&lt;br /&gt;
''ai_interface'' also defines an ''info'' type.  This type contains a number of references to various game objects which you&lt;br /&gt;
will need access to in order to make moves.  The two most important of these objects are the unit map (unit_map units)&lt;br /&gt;
and the game map (gamemap map).&lt;br /&gt;
&lt;br /&gt;
The unit map is of type ''std::map&amp;lt;location,unit&amp;gt;''&lt;br /&gt;
and associates locations with units.  This object can be used to find the location of, and information about, every unit on the board.  See '''unit.hpp''' for a definition of the ''unit'' object.&lt;br /&gt;
&lt;br /&gt;
The game map allows you to inspect the dimensions and layout of the playing board.  Given a location, it can tell you the&lt;br /&gt;
terrain type at that location.  See '''map.hpp''' for a definition of this object.  You can combine this class with use of the functions in '''pathfind.hpp''' to find various&lt;br /&gt;
information about where units can move to.&lt;br /&gt;
&lt;br /&gt;
The team class (defined in '''team.hpp''') is also very important.  Each side is represented by a ''team'' object. The team object can tell you the gold balance of a team, which villages (note that internally, villages are often called 'towers') the team owns, what units the team can recruit,&lt;br /&gt;
and which other teams are this teams friends or enemies.&lt;br /&gt;
&lt;br /&gt;
The utility function ''current_team()'' can be used to get a reference to the team that your AI is in control of, but you&lt;br /&gt;
can also use the vector ''teams'' inside the info object to get a list of all teams.&lt;br /&gt;
&lt;br /&gt;
If you want to make your AI customizable within the configuration file, you can gain access to any parameters passed to your AI using ''team::ai_parameters()''.  This returns an object of type ''config'' (see '''config.hpp''').  These ''config'' objects are representations of WML document fragments.  When the user defines your side, if they put an [ai] tag inside it, everything inside the [ai] tag will be returned by ''team::ai_parameters()''.&lt;br /&gt;
&lt;br /&gt;
== Using your AI ==&lt;br /&gt;
&lt;br /&gt;
Finally, when you have your AI ready to go, you can add it to the ''create_ai()'' function in '''ai.cpp'''.  Suppose you called your class ''killer_ai'', you could add it like so:&lt;br /&gt;
&lt;br /&gt;
 if(name == &amp;quot;killer_ai&amp;quot;)&lt;br /&gt;
     return new killer_ai(info);&lt;br /&gt;
&lt;br /&gt;
Then, you can define a side to use your AI in [[ReferenceWML|WML]]:&lt;br /&gt;
&lt;br /&gt;
 ai_algorithm=killer_ai&lt;br /&gt;
&lt;br /&gt;
and when that side is created, it'll use your AI!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== An example ==&lt;br /&gt;
&lt;br /&gt;
Let us conclude with a small sample AI, called ''sample_ai''.  How should this AI behave?&lt;br /&gt;
&lt;br /&gt;
* First it should detect if there are any enemies in range,&lt;br /&gt;
and if there are it should attack them by moving onto the&lt;br /&gt;
best defensive terrain next to them.  Attacks should be made with the weapon for which damage*strikes*chance to hit is&lt;br /&gt;
the highest.&lt;br /&gt;
* If there are no enemies in range, it should move units onto villages that don't already belong to it.&lt;br /&gt;
* If there are no enemies or villages in range, it should move toward the enemy leader along the shortest possible route.&lt;br /&gt;
* At the end of its turn, it should recruit random units until it runs out of money or doesn't have any space.&lt;br /&gt;
&lt;br /&gt;
In the following example, I will place all functions in-line&lt;br /&gt;
rather than in the cpp file. To do this properly, of course you should put them in the cpp file.  The entire definition of this AI can be found in '''ai.cpp''' and '''ai.hpp''' in the source distribution.&lt;br /&gt;
&lt;br /&gt;
We start the definition,&lt;br /&gt;
&lt;br /&gt;
  class sample_ai : public ai_interface {&lt;br /&gt;
  public:&lt;br /&gt;
      sample_ai(info&amp;amp; i) : ai_interface(i) {}&lt;br /&gt;
&lt;br /&gt;
We have defined the constructor which takes an ''info'' object&lt;br /&gt;
and passes it straight onto ai_interface.  We don't need to&lt;br /&gt;
store anything ourselves in this simple AI.  (Although it would be fine to have data members if we wanted them.)&lt;br /&gt;
&lt;br /&gt;
Next we define the main function, ''play_turn()'':&lt;br /&gt;
&lt;br /&gt;
      void play_turn() {&lt;br /&gt;
          do_attacks();&lt;br /&gt;
          get_villages();&lt;br /&gt;
          do_moves();&lt;br /&gt;
          do_recruitment();&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
Just a series of calls to functions we are about to write which do the actual work.  Firstly, ''do_attacks()''. We start by&lt;br /&gt;
calculating all the moves our units can make:&lt;br /&gt;
&lt;br /&gt;
  private:&lt;br /&gt;
      void do_attacks() {&lt;br /&gt;
          std::map&amp;lt;location,paths&amp;gt; possible_moves;&lt;br /&gt;
          move_map srcdst, dstsrc;&lt;br /&gt;
          calculate_possible_moves(possible_moves,srcdst,dstsrc,false);&lt;br /&gt;
&lt;br /&gt;
Note that the ''possible_moves'' thing is of little direct interest.  It contains details of exactly which tiles the unit&lt;br /&gt;
moves along to get from one tile to another.  This is useful for the display to know about when it draws the unit moving, but as an AI programmer, it's not likely you'll ever care about&lt;br /&gt;
what it contains. Just pass it along to the ''move_unit()'' function so it can draw the unit moving along the correct path.&lt;br /&gt;
&lt;br /&gt;
The things we're interested in are ''srcdst'', and especially ''dstsrc'', which will tell us all the hexes our units can reach.&lt;br /&gt;
We want to check if any of these hexes are next to an enemy unit.  Let's walk over the units and see if we can reach any of them:&lt;br /&gt;
&lt;br /&gt;
          for(unit_map::const_iterator i = get_info().units.begin(); i != get_info().units.end(); ++i) {&lt;br /&gt;
              if(current_team().is_enemy(i-&amp;gt;second.side()) {&lt;br /&gt;
&lt;br /&gt;
We're iterating over all units, but we're only interested in units that are enemies of our side.  So, we access our team object, and ask if the side the unit is on is an enemy.  If it is, then we're interested in seeing if any of our units can move to a hex that's adjacent to the enemy unit.  We do this by getting the six locations around the enemy unit:&lt;br /&gt;
&lt;br /&gt;
                  location adjacent_tiles[6];&lt;br /&gt;
                  get_adjacent_tiles(i-&amp;gt;first,adjacent_tiles);&lt;br /&gt;
&lt;br /&gt;
This kind of call is very common in the game's code -- make an array of 6 locations, and fill them up with the locations adjacent to a certain location.  We actually want to find the position to attack from which gives our unit the best possible defense. So, we initialize some variables to find the best possible defense:&lt;br /&gt;
&lt;br /&gt;
                  int best_defense = -1;&lt;br /&gt;
                  std::pair&amp;lt;location,location&amp;gt; best_movement;&lt;br /&gt;
&lt;br /&gt;
The value of ''best_defense'' will of course be between 1 and 100, but we give it a value of -1 to mean 'not initialized', since we haven't found any possible attacks at all yet.  Variable ''best_movement'' will contain the destination/source pair that gives the best possible defense for our attacking unit.&lt;br /&gt;
&lt;br /&gt;
                  for(size_t n = 0; n != 6; ++n) {&lt;br /&gt;
                      typedef move_map::const_iterator Itor;&lt;br /&gt;
                      std::pair&amp;lt;Itor,Itor&amp;gt; range = dstsrc.equal_range(adjacent_tiles[n]);&lt;br /&gt;
&lt;br /&gt;
If you don't understand how ''equal_range'' works, then look up documentation on how the standard container multimap works.  ''range'' now refers to all the possible movements that can end&lt;br /&gt;
with our unit being at ''adjacent_tiles[n]''.  Let's iterate over all those movements, and find if any of them give a better defensive rating than our current best defense.  We'll start our iteration by creating some aliases that ensure we don't go crazy ;)&lt;br /&gt;
&lt;br /&gt;
                      while(range.first != range.second) {&lt;br /&gt;
                          const location&amp;amp; dst = range.first-&amp;gt;first;&lt;br /&gt;
                          const location&amp;amp; src = range.first-&amp;gt;second;&lt;br /&gt;
&lt;br /&gt;
Now let's find out about the unit that we're planning to send to this destination:&lt;br /&gt;
&lt;br /&gt;
                          const unit_map::const_iterator un = get_info().units.find(src);&lt;br /&gt;
                          assert(un != get_info().units.end());&lt;br /&gt;
&lt;br /&gt;
We can assume that the unit is in that location (hence the assert), because ''calculate_possible_moves()'' said that it's the possible source of a move.  Let's find out the type of terrain we're planning to move to:&lt;br /&gt;
&lt;br /&gt;
                          const gamemap::TERRAIN terrain = get_info().map.get_terrain(dst);&lt;br /&gt;
&lt;br /&gt;
Okay, so we have the unit, and we have the terrain, now we should be able to find out the unit's defensive rating on this terrain.&lt;br /&gt;
The ''unit'' class has a convenient ''defense_modifier()'' function which will tell us the chance of hitting that unit on a certain terrain.&lt;br /&gt;
&lt;br /&gt;
                          const int chance_to_hit = un-&amp;gt;second.defense_modifier(get_info().map,terrain);&lt;br /&gt;
&lt;br /&gt;
So, now we have all that, if it's the best chance to hit we've seen so far, or we haven't seen any other chances to hit at all, then we add it as our best option seen.&lt;br /&gt;
&lt;br /&gt;
                          if(best_defense == -1 || chance_to_hit &amp;lt; best_defense) {&lt;br /&gt;
                              best_defense = chance_to_hit;&lt;br /&gt;
                              best_movement = *range.first;&lt;br /&gt;
                          }&lt;br /&gt;
&lt;br /&gt;
That's it for these two loops. Iterate and close:&lt;br /&gt;
&lt;br /&gt;
                          ++range.first;&lt;br /&gt;
                      }&lt;br /&gt;
                  }&lt;br /&gt;
&lt;br /&gt;
Now if we found a possible move, best_defense will not be -1,&lt;br /&gt;
and the movement will be stored in ''best_movement''.  So, if ''best_defense'' is -1, we want to move from ''best_movement.second'' to ''best_movement.first''.&lt;br /&gt;
&lt;br /&gt;
                  if(best_defense != -1) {&lt;br /&gt;
                      move_unit(best_movement.second,best_movement.first,possible_moves);&lt;br /&gt;
&lt;br /&gt;
Remember that ''possible_moves'' thing?  That comes in useful here, where we have to give it to the display object so it can know the path to move the unit along.  This is the only time we need to touch it.&lt;br /&gt;
&lt;br /&gt;
Immediately after moving, we want to attack.  First we need to know which weapon to use.  We'll write a ''choose_weapon()''&lt;br /&gt;
function later which will choose our weapon.  It'll have to take the location of the attacker and the location of the defender, and it'll return an int referring to our weapon of choice.  For now we'll just make use of this function:&lt;br /&gt;
&lt;br /&gt;
                      const int weapon = choose_weapon(best_movement.first,i-&amp;gt;first);&lt;br /&gt;
                      attack_enemy(best_movement.first,i-&amp;gt;first,weapon);&lt;br /&gt;
&lt;br /&gt;
This will implement our attack.  What now?  We've attacked once, but we want to attack with as many units as we can attack with, right?  We can't use the same move_maps again, because they'll be invalid now that we've moved and attacked. What we'll do is we'll call ''do_attacks()'' all over again, recursively, and return immediately.  This way all our maps will be recalculated.&lt;br /&gt;
&lt;br /&gt;
                       do_attacks();&lt;br /&gt;
                       return;&lt;br /&gt;
                   }&lt;br /&gt;
               }&lt;br /&gt;
           }&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
That's the entire function done.  It'll keep attacking while it finds attacks, and when it finally runs out of attacks to execute, it'll return nicely. Let's write that ''choose_weapon()'' function now:&lt;br /&gt;
&lt;br /&gt;
  int choose_weapon(const location&amp;amp; attacker, const location&amp;amp; defender) {&lt;br /&gt;
      const unit_map::const_iterator att = get_info().units.find(attacker);&lt;br /&gt;
      assert(att != get_info().units.end());&lt;br /&gt;
&lt;br /&gt;
      const std::vector&amp;lt;a ttack_type&amp;gt;&amp;amp; attacks = att-&amp;gt;second.attacks();&lt;br /&gt;
&lt;br /&gt;
unit contains a convenient ''attacks()'' function which returns a vector of all a unit's possible attacks.  We'll store the&lt;br /&gt;
best attack found so far, and iterate over all attacks:&lt;br /&gt;
&lt;br /&gt;
      int best_attack_rating = -1;&lt;br /&gt;
      int best_attack = -1;&lt;br /&gt;
      for(int n = 0; n != attacks.size(); ++n) {&lt;br /&gt;
&lt;br /&gt;
There is a nice function called ''evaluate_battle_stats()'' in '''actions.hpp''' which will give us all sorts of information about a potential battle. We make use of it here:&lt;br /&gt;
&lt;br /&gt;
          const battle_stats stats = evaluate_battle_stats(get_info().map,&lt;br /&gt;
                attacker, defender, n, get_info().units,&lt;br /&gt;
                get_info().state, get_info().gameinfo, 0, false);&lt;br /&gt;
&lt;br /&gt;
A rather complicated function call, but most of the parameters can be pulled straight from ''get_info()''.  The last two parameters are a little confusing.  The first one of these, ''attacker_terrain_override'', is used if we wanted to know what the combat would look like if the attacker was on different terrain to what it is on now.  If this is non-0, the function will assume the attacker is on the type of terrain given.  This is useful if you want to test the possibility of moving to many different hexes without actually moving there.  The last parameter is false, meaning that strings won't be included in the results.  Strings are useful for showing to a player in a dialog,&lt;br /&gt;
but not useful for an AI, and are expensive to calculate, so this should always be false from within AI algorithms.&lt;br /&gt;
&lt;br /&gt;
Let's use our stats to come up with a rating for this attack:&lt;br /&gt;
&lt;br /&gt;
           const int attack_rating = stats.damage_defender_takes*stats.nattacks*stats.chance_to_hit_defender;&lt;br /&gt;
&lt;br /&gt;
Now if this is the best attack, we can use it,&lt;br /&gt;
&lt;br /&gt;
           if(best_attack == -1 || attack_rating &amp;gt; best_attack_rating) {&lt;br /&gt;
               best_attack = n;&lt;br /&gt;
               best_attack_rating = attack_rating;&lt;br /&gt;
           }&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       return best_attack;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Now we're done with that, we can move onto our ''get_villages()'' function.  We start off by calculating possible moves,&lt;br /&gt;
&lt;br /&gt;
  void get_villages() {&lt;br /&gt;
      std::map&amp;lt;location,paths&amp;gt; possible_moves;&lt;br /&gt;
      move_map srcdst, dstsrc;&lt;br /&gt;
      calculate_possible_moves(possible_moves,srcdst,dstsrc,false);&lt;br /&gt;
&lt;br /&gt;
Now it's a simple matter of iterating over possible destinations,&lt;br /&gt;
and seeing if they are villages not controlled by us:&lt;br /&gt;
&lt;br /&gt;
      for(move_map::const_iterator i = dstsrc.begin(); i != dstsrc.end(); ++i) {&lt;br /&gt;
          if(get_info().map.is_village(i-&amp;gt;first) &amp;amp;&amp;amp;&lt;br /&gt;
              current_team().owns_village(i-&amp;gt;first) == false) {&lt;br /&gt;
&lt;br /&gt;
First it checks whether the destination is a village.  The right side of the ''&amp;amp;&amp;amp;'' simply sees if our team owns the village at that location or not. If we don't own the village, we've found the movement we want to make, and we recurse and return.&lt;br /&gt;
&lt;br /&gt;
              move_unit(i-&amp;gt;second,i-&amp;gt;first,possible_moves);&lt;br /&gt;
              get_villages();&lt;br /&gt;
              return;&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Just a couple more functions now.  Firstly, ''do_moves()'' is meant to move our units toward the enemy leader. Well, there may be multiple enemies and thus more than one leader, so we'll just go for the first enemy leader we can find.  We start off by trying to find the enemy leader:&lt;br /&gt;
&lt;br /&gt;
  void move_units() {&lt;br /&gt;
      unit_map::const_iterator leader;&lt;br /&gt;
      for(leader = get_info().units.begin(); leader != get_info().units.end(); ++leader) {&lt;br /&gt;
&lt;br /&gt;
A unit is a leader if it can recruit -- so we use the ''can_recruit()'' function to test if it's a leader.&lt;br /&gt;
&lt;br /&gt;
          if(leader-&amp;gt;second.can_recruit() &amp;amp;&amp;amp; current_team().is_enemy(leader-&amp;gt;second.side())) {&lt;br /&gt;
              break;&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
We better have found an enemy leader, otherwise we'll just return...&lt;br /&gt;
&lt;br /&gt;
      if(leader == get_info().units.end())&lt;br /&gt;
          return;&lt;br /&gt;
&lt;br /&gt;
Now, let's find all our unit's possible moves:&lt;br /&gt;
&lt;br /&gt;
      std::map&amp;lt;location,paths&amp;gt; possible_moves;&lt;br /&gt;
      move_map srcdst, dstsrc;&lt;br /&gt;
      calculate_possible_moves(possible_moves,srcdst,dstsrc,false);&lt;br /&gt;
&lt;br /&gt;
We want to find the move that'll take us as close as possible to the enemy leader.  Let's make our variables to show us the best move so far,&lt;br /&gt;
&lt;br /&gt;
      int closest_distance = -1;&lt;br /&gt;
      std::pair&amp;lt;location,location&amp;gt; closest_move;&lt;br /&gt;
&lt;br /&gt;
Now iterate and find the destination closest to the enemy leader:&lt;br /&gt;
&lt;br /&gt;
      for(move_map::const_iterator i = dstsrc.begin(); i != dstsrc.end(); ++i) {&lt;br /&gt;
          const int distance = distance_between(i-&amp;gt;first,leader-&amp;gt;first);&lt;br /&gt;
          if(closest_distance == -1 || distance &amp;lt; closest_distance) {&lt;br /&gt;
              closest_distance = distance;&lt;br /&gt;
              closest_move = *i;&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
If ''closest_distance'' is not -1, we've found a valid move that'll take one of our units toward the enemy leader.  We can make the move and recurse&lt;br /&gt;
&lt;br /&gt;
      if(closest_distance != -1) {&lt;br /&gt;
          move_unit(closest_move.second,closest_move.first,possible_moves);&lt;br /&gt;
          do_moves();&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Okay, all our movement functions are done!  Now all we've got left is the recruitment function. We start by getting the units that we can recruit.&lt;br /&gt;
&lt;br /&gt;
  void do_recruitment() {&lt;br /&gt;
      const std::set&amp;lt;std::string&amp;gt;&amp;amp; options = current_team().recruits();&lt;br /&gt;
&lt;br /&gt;
We can choose the number of a unit to recruit at random:&lt;br /&gt;
&lt;br /&gt;
      const int choice = (rand()%options.size());&lt;br /&gt;
      std::set&amp;lt;std::string&amp;gt;::const_iterator i = options.begin();&lt;br /&gt;
      std::advance(i,choice);&lt;br /&gt;
      const bool res = recruit(*i);&lt;br /&gt;
&lt;br /&gt;
And if the recruitment succeeds, we will try to recruit another unit,&lt;br /&gt;
&lt;br /&gt;
      if(res) {&lt;br /&gt;
          do_recruitment();&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
That's it! We've made our ''sample_ai''.  All we have to do is add it to ''create_ai'' in '''ai.cpp''' and we're done!&lt;br /&gt;
&lt;br /&gt;
== AI - specific parameters ==&lt;br /&gt;
&lt;br /&gt;
 wesnoth --multiplayer --controller1=ai --controller2=ai --algorithm1=z_ai --algorithm2=sample_ai&lt;br /&gt;
&lt;br /&gt;
Use the ''--nogui'' switch before ''--multiplayer'' to make the game run without displaying a GUI.  The winner will be reported on stdout.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[DeveloperResources]]&lt;br /&gt;
* [[PythonTestScript]] - Simple Python AI test script&lt;br /&gt;
&lt;br /&gt;
[[Category:Create]]&lt;br /&gt;
[[Category:AI]]&lt;/div&gt;</summary>
		<author><name>Rho</name></author>
		
	</entry>
</feed>