User:MaraJade

From The Battle for Wesnoth Wiki


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



This is a Summer of Code 2013 student page


Description

MaraJade - AI Total Defense Strategy

Attacking: The AI does not always choose the best attacks. It needs to take into account the health of the unit being attacked, the units around it, the health of the attacking unit, and what would be the best method to attack with.

Introduce retreating: The AI does not retreat. There are situations where it needs to be able to, such as when it's castle is under attack, or when it's outnumbered.

Grouping: The AI has a tendency of having its troops to spread out, making them more vulnerable. When there are no good attacks, units should group together to present a better defense.

Prediction: The AI needs to be able to calculate what the player can do, and respond appropriately. This will also help with defense.

IRC

MaraJade

Questionnaire

1) Basics 1.1) Write a small introduction to yourself.

I'm MaraJade. I'm a second year Computer Science student at Oregon State University. I've been using Linux for about a year, but I've used other open source programs for a long time.

1.2) State your preferred email address.

goossenm@onid.orst.edu

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

MaraJade

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

I want to get started in the open source community, but it can be overwhelming. The summer of code will give me a great opportunity to get started. I wish to work on The Battle for Wesnoth because I enjoy games. I discovered this game a few weeks ago, and I have enjoyed it. It would be fun to work with it.

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

I am a second year student at Oregon State University, studying for a B.S. in Computer Science.

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

I am from the United States. Currently I am most likely to be on IRC after noon.

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

Other than a day or two around July 4th, I don't have any plans for vacations.

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

Unfortunately, I haven't worked on anything outside of school.

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

I have not.

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 have not.

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

No I am not.

2.5) Gaming experience - Are you a gamer?

Yes.

2.5.1) What type of gamer are you?

I am a casual gamer. I don't get particularly competitive, but I enjoy it.

2.5.2) What type of games?

I prefer strategy or role playing games, such as Starcraft, Skyrim, or The Battle for Wesnoth.

2.5.3) What type of opponents do you prefer?

I prefer opponents that are challenging, but near my skill level.

2.5.4) Are you more interested in story or gameplay?

I enjoy both, but I prefer story over gameplay.

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 for 2-3 weeks. I have gone through the tutorial and am partway through the first campaign. I haven't gotten a chance to play multiplayer yet.

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.

None yet.

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 am a native speaker.

3.2) What spoken languages are you fluent in?

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.

I am good at interacting with other people.

3.4) Do you give constructive advice?

Yes.

3.5) Do you receive advice well?

As long as the advice is relevant I receive it well.

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

I prefer to have a few ideas of what is needed, and then put them into code. I am okay with them getting thrown out if they're wrong, but I would rather change them into what is needed.

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 want to work on the AI total defense strategy.

4.2) If you have invented your own project, please describe the project and the scope. 4.3) Why did you choose this project?

It sounds like fun and interesting. Also, I get frustrated while playing the AI, because it doesn't always do things right, like good attacking strategies. It has no defense strategies at all, which makes the game a bit boring at times.

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

Before June 17: Learn more about the project, including languages and the code base.

June 17-28: Work on retreating.

July 1-3: Testing

July 4-5: Fourth of July vacation

July 8-12: More testing, start on grouping

July 15-26: More grouping

July 29-August 2: More testing

August 5-16: Work on attacking

August 19-23: Even more testing

September 2-13: Prediction

September 16-20: Test all the things!

September 23: Done!

Afterwards: Find new things in Wesnoth to code!

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

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

I expect to learn more about AI and game coding, and get involved with the community.

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

Getting involved and being able to contribute would make me want to stay.

5) Practical considerations 5.1) Are you familiar with any of the following tools or languages? Git (used for all commits) C++ (language used for all the normal source code) STL, Boost, Sdl (C++ libraries used by Wesnoth) Python (optional, mainly used for tools) build environments (eg cmake/scons) WML (the wesnoth specific scenario language) Lua (used in combination with WML to create scenarios)

I am familiar with Git and Python, but am always eager to learn more.

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

I use vim. I was introduced to it and I thought it was a good thing to learn, and it can run every language file type that I know of.

5.3) What programming languages are you fluent in?

C, Java, Python

5.4) Would you mind talking with your mentor on telephone / internet phone?

I would not mind.

TODO: fill out the questionnaire, on your copy of this page. Question are here : SoC_Information_for_Google#Does your organization have an application template you would like to see students use?

This page was last edited on 3 May 2013, at 04:15.