User:SankaD

From The Battle for Wesnoth Wiki


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

Sanka Darshana - "Implement a 'total defense' strategy"

The AI will decide the best movements considering the resources available, enemy positions and their types, enemy distribution and etc... The generated movements will be decided on the values of the each troop. As an example, a shaman will be more important if there are more troops with low health, and Archers if there are troops with health. So the AI will determine which actions to take depending on a list of variables in the game environment

IRC

SankaD

SoC Application

Submitted to google

Project Proposal

Implementing a Total Defense AI

The AI will decide the best movements considering the resources available, enemy positions and their types, enemy distribution and etc... The generated movements will be decided on the values of the each troop. As an example, a shaman will be more important if there are more troops with low health, and Archers if there are troops with health. So the AI will determine which actions to take depending on a list of variables in the game environment

Questionnaire

1) Basics

1.1) Write a small introduction to yourself.

My name is Sanka Darshana. I'm a 3rd year undergraduate at the department of Computer Science and Engineering in University of Moratuwa. I am very much interested in Gaming , algorithms and A.I. (Specially Game AI). Java is my preferred language, though I could program well in C, PHP, C#, VB. And I have some knowledge about Javascript and python languages.


1.2) State your preferred email address.

sankadarshana@gmail.com

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

sankad

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

I thought this would be a great opportunity to prove and measure myself with the current technologies used throughout the world

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

I'm 3rd year undergraduate student at Department of Computer Science and Engineering in University of Moratuwa.

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

I'm from Sri Lanka. My preferred time slot for IRC is 1330H - 2030H GMT.

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

During the summer period I'm attending our internship program. So the day time of the week days will not be available for GSoC. But I could allocate more than 5 hours every week day and more than 8 hours every weekend if necessary.


2) Experience

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

I have worked on a AI client for the classic Tank game. And I have participated in Google AI challenge 2011 fall (Rank 138). And I've done a timetabling application using Genetic Algorithms.

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

Yes. I have used 'svn' for the purpose. Most of the time this was for projects in the University.

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 haven't participated  in GSoC before. This is my first time.

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

I'm not already involved with any Open source development projects.

2.5) Gaming experience - Are you a gamer?

Yes.

2.5.1) What type of gamer are you?

I used to be a heavy gamer. But with reason workload, gaming has been reduced somewhat.

2.5.2) What type of games?

Skyrim (+Oblivion and Morrowind) , Age of Empires, Civilization 5, Crysis 2, Arkham City, Portal 2.

2.5.3) What type of opponents do you prefer?

Intelligent and challenging ones.

2.5.4) Are you more interested in story or gameplay?

Somewhat both actually. I am more interested in the experience I can get from it. I think the story and the gameplay both should be upto the quality.

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 have been playing Wesnoth after seeing the GSoC accepted organizations. I only played single player and very much captured by it's AI.

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.

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.

My level of written English is High.

3.2) What spoken languages are you fluent in?

I'm fluent in Sinhala and English languages.


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

I'm good at interacting with them. :)

3.4) Do you give constructive advice?

Yes.

3.5) Do you receive advice well?

Yes.

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

Yes.

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

What I prefer is coding some prototype kind of thing to get the basic idea of the problem. And after a feedback I can gather the necessary information which I can use for the final product.


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?

I have selected on a project as I am very much interested in AI.It is "AI: Implement a 'total defense' strategy". I am going to focus on the defending AI. But I have a thought that the whole AI should be manipulated to get the optimal result.

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

4.3) Why did you choose this project?

I am very much interested in AI and Computer games. Doing something you like can be a great advantage because it would motivate me to do my best. :)

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".

As I am having my internship throughout the GSoC timeline, I will be available for work when ever I am free of work ( I have mentioned earlier).
First I will be needing about 2 or 3 weeks to work on the above mentioned prototype so I could gather information. Then the initial work will be done to make a skeletal AI. I am expecting to implement the majority of the AI before the mid evaluations so I could experiment and fine tune it for the performance.

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

I am considering of doing

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

I expect to learn or advance my knowledge on C++, LUA and Game AI. And also experience the Open Source community.

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

If I implement the Defence A.I. I will most probably be maintaining it as far as I can.


5) Practical considerations

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

  • Subversion (used for all commits)
Yes.
  • C++ (language used for all the normal source code)
Somewhat. Not quite good as I haven't done any projects in C++
  • STL, Boost, Sdl (C++ libraries used by Wesnoth)
No.
  • Python (optional, mainly used for tools)
Yes
  • build environments (eg cmake/scons)
Yes
  • WML (the wesnoth specific scenario language)
No.
  • Lua (used in combination with WML to create scenarios)
No.

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

Mostly I use Eclipse, as I am mostly working on Java projects. And if I am doing a C project also I am using eclipse as it is familiar for me. I am using subversion for version controlling.

5.3) What programming languages are you fluent in?

Java, C#, VB, PHP, C ,Python, JavaScript

This page was last edited on 5 April 2012, at 11:33.