Difference between revisions of "User:Artemius23"

From The Battle for Wesnoth Wiki
(SoC template & category)
m (SummerOfCodeIdeas-fication)
Line 10: Line 10:
 
=IRC=
 
=IRC=
 
Artemius23, Artemius
 
Artemius23, Artemius
 
  
 
=Questionnaire=  
 
=Questionnaire=  

Revision as of 00:12, 10 April 2012


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



This is a Summer of Code 2012 student page


Contents

Description

Yigit Demirag : Development of AI to Play Mainline Campaigns in Battle For Wesnoth

Battle For Wesnoth is a great game to feel a war especially in Linux platform. Mainly, I can teach AI to play Westnoth's mainline campaings while it can interact user well.I want to develop its AI and put in opportunities of any kind of AI and machine learning algorithms such as supervised and unsupervised learning.

I am planning implementing feasible logical and reasoning algorithms which suitable for this. Decisions trees and inductive learning again, if it is suitable, are good to code in the game. But the most important part is playing and feeling how it works once than I can fill the necessary parts with the help of any algorithm we can apply.

IRC

Artemius23, Artemius

Questionnaire

1) Basics

1.1) Write a small introduction to yourself.

I’m Yigit DEMIRAG and I am 21 years old. I have grown up with a passion about science so I graduated from a science school which is one of the best of my country and became an engineer to materialize the ideas taken from the nature. As hobbies, I like professional swimming and I am continuing Bachata dance. That is the way I relax and think clearly.

1.2) State your preferred email address.

I always use, and be online at yigitdemirag@gmail.com

1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?

I use Artemius23 in IRC but currently don’t have an account in Wesnoth forums.

1.4) Why do you want to participate in summer of code?

I want to participate in summer of code because of that I work really hard in my academic year and try to push it upmost and I need focus on something that I believe it may make a difference in the world. This summer, I can easily focus on an exciting project and make it on air as soon as possible with making it my priority. I am enchanted about coding and I have a great free time to do it.

1.5) What are you studying, subject, level and school?

I am an undergraduate student in Bilkent University which has the best engineering departments in my country, Turkey. My major is Electrical and Electronics Engineering but I passionately curious about Computer Scince with motto : “It is more fun to compute.” I’m mostly interested in Artificial Intelligence, Machine Learning and Parallel Computing.

1.6) What country are you from, at what time are you most likely to be able to join IRC?

I’m from Turkey, and I am most likely to be able to join IRC from 9pm to 3pm.

1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.

I don’t have any other commitments for the summer period. On the other hand, I will be able to be in pool twice a week for a 4 hours each since I have keep my swimming trainings on.

2) Experience

2.1) What programs/software have you worked on before?

Last summer, I worked on accelerating MLFMA and parallelization algorithms of clusters at BiLCEM ( please check the -World Record- ) http://www.cem.bilkent.edu.tr/world_record My research area was specifically examining and comparing the MPI and openMP in terms of their memory usages, speeds and their feasibility in supercomputers. By examining and implementing openMP in nodes and MPI within nodes and clusters, we reached almost %25 speeding up in our cluster in our experiments. During this period I wrote a couple of benchmark programs to monitoring our clusters and also helping to develop a meshing algorithm (It was a little part of the research )to use in electromagnetic simulation.

Last year, I developed a mobile platform based game called “Green World.” , individually. In Green World, every person can create their own virtual world in the limit of only their imaginations. Users can define buildings, temples also add rooms, stuff and objects wherever they want. Each user can view other’s places they created and stroll around it to explore the world. During this process I used Java. At the end of the semester, I participate “Oyun Ciddi Bir İştir.” - Game is a Serious Business- competition and became a finalist from among more than 30 games.

2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)

We are developing and 3D- Arduino Simulator with some of my friends who have passion to computer science and want to get into code. This is the GitHub link of my projects - still in development process, but will be finished in maximum 1,5 months. https://github.com/kgns/3D-Arduino-Simulator

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?

I don’t have participated to Google Summer of Code before. I have been in a summer intern last summer and have to focus that research.

2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.

We are planning to make 3D-Arduino Simulator free and easy to access for every enthusiasts. We have already in the interests of some people from open-source community.

2.5) Gaming experience - Are you a gamer?

I like gaming. I would not identify me as a good gamer but what I like in games is interacting with computers which are sometimes able to good player as well as a human.

2.5.1) What type of gamer are you?

I play to create things and push my mind efforts. So in my opinion, there is no spesific need to play for me, I play to be relaxed, to challenge or to defeat computer or some human. That is why I want to code in AI. I want a stronger player right before me.

2.5.2) What type of games?

I prefer mostly strategy games and mmorpgs such as Minecraft, Dragons Age III and Diablo series.

2.5.3) What type of opponents do you prefer?

I like my opponents when they play the game as professional as me. Whatever the game, they have to attack well and push me back, as well as, defending themselves which makes me search to new ways to attack. I should not feel myself as a nerd who plays a ordinary game, I have to feel deeply inside in the game and feel strongly about it when I away from a computer.

2.5.4) Are you more interested in story or gameplay?

In my opinion, story influences me when I away from computer and reminds me that game but gameplay connects me to computer and makes me spending funny times when I play.

2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.

I played Wesnoth for one week as a single player last year. So I have general knowledge about Wesnoth and how can it be played.

We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.

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 SVN (during the evaluation period or earlier) please state so.

No, I haven’t contribute any project related to Wesnoth before.

3) Communication skills

3.1) Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.

I have taking English lessons for 4 years. Also I passed the English proficiency exam and studying in EEE Department which has %100 lessons are in English.

3.2) What spoken languages are you fluent in?

Turkish and English.

3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.

Until present, I have played lots of online game and I had a tons of conversation with people who I don’t know but expect something from me, then it is never a problem. Additionally, I am good at dealing with people, I run a couple of organization in my university and experienced what is the importance of interacting with people well.

3.4) Do you give constructive advice?

I attach importance to be a part of solution so I always try to express myself in a solution-based approach.

3.5) Do you receive advice well?

I believe learning from the mistakes is an important part of life. To keep pushing correctly, you have to know what was the mistakes you have done. So it is a necessity for me to learn from my mistakes.

3.6) Are you good at sorting useful criticisms from useless ones?

Since the first time I have to study very hard, I know the role of an agenda for me. I consider sorting useful things and take note of its priority. My brain always want to work as parallel but setting priorities is my priority.

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 "see how it turn out", taking the risk of having it thrown away if it doesn't match what the project want

I don’t start a code without full idea that what I have to do. It makes to waste time. Since thinking and dreaming about something is faster than implementing it, I want to know necessary parts of the concept so I can continue to code and fill the empty parts individually.

4) Project

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?

Actually I do not strongly favor one of the ways of AI development in Wesnoth. But I mainly prefer teaching AI to play Wesnoth’ s mainline campaigns in terms of developing the AI and bringing a sense for the game. I want to concentrate on making player not to feel alone and isolated, I want a game which user can interact with AI and receive an adaptive response while playing the game.

4.2) If you have invented your own project, please describe the project and the scope.

Before I reading the suggestions of Wesnoth Developers, I thought that making agents that can play with user is such an exciting idea and generally if there is already an AI in a game, making it more intelligent is also perfect.

4.3) Why did you choose this project?

I choose it because I believe one day people can easily communicate with AI agents. Creating little intelligent agents and watching their behaviours always influences me. When I was coding, search algorithms or supervised machine learning algorithms, I feel deeply concentration about it. But this is a game. Our agents will interacts with real people, be affected by them and responses accordingly. This is why I choose this project.

4.4) Include an estimated timeline for your work on the project. Don't forget to mention special things like "I booked holidays between A and B" and "I got an exam at ABC and won't be doing much then".

First one or two week I have to play Wesnoth well to learn the way a user play and how AI acts on it. This process includes reading documentation and getting touch with people who plays a role of AI development of Wesnoth. Then, I can start to code as developers expected and watch its consequences. I can keep in touch with people that is not a problem so I can easily handle any problem about algorithm or the system we implementing on it. Even I want to continue if I complete this part well to develop new AI systems on Wesnoth.

I will be busy with my finals at the last 2 week of the May. So I may not be able to fully concentrate on the project.After that, I will be at home during the summer and I cannot see any obstacle for me to prevent me to code.

4.5) Include as much technical detail about your implementation as you can

I am planning implementing feasible logical and reasoning algorithms I know. Decisions trees and inductive learning again, if it is suitable, are good to code in the game. But the most important part is playing and feeling how it works once than I can fill the necessary parts with the help of any algorithm we can apply. Also in Bilkent University I know lots of people who interested in AI and Machine Learning. So we can consult them for their help as well.

4.6) What do you expect to gain from this project?

I want to implement all of my theoretical knowledge from AI lessons I take from Stanford University and as an open source team, I want to work in an exciting project as an AI developer.

4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?

Maybe just one Wesnoth T-shirt is enough to stay in the Wesnoth community after the GSoC’ 12. I am still helping my old researcher friends in their projects in parallel computing. I believe that if I help people and improve things, some things become better. And it always worths.

5) Practical considerations

5.1) Are you familiar with any of the following tools or languages?

I take a Artificial Intellegence lessons from Sebastian Thrun from Stanford University. Through this process I used Python. And in all of my remained projects I used C/C++, Java and FORTRAN 95 .

5.2) Which tools do you normally use for development? Why do you use them?

Since I use only UNIX, I prefer Eclipse, and also use Sublime Text Editor 2 since it is highly useful while coding and developing its features.

5.3) What programming languages are you fluent in?

Respectively,

Java, C/C++, Python, FORTRAN 95

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 "there is no way to contact you" does arise!

I have Skype ID : yigitdemirag And my cellphone is : +905548532255 IRC@freenode.net : Artemius23