Difference between revisions of "Category:Summer of Code 2012 Student Page"

From The Battle for Wesnoth Wiki
m (Reverted edits by Crazydudeloose (Talk) to last revision by JaMiT)
 
Line 1: Line 1:
 
{{SoC2012}}
 
{{SoC2012}}
  
Summer of Code 2012 AI - Group up and focus
+
Summer of Code 2012 student pages
 
 
=Joshua Ma : AI - Group up and focus=
 
 
 
Short description: First priority will be to create a defense line to maximize each unit's abilities according to: defense, strength, and range. Second would be to neutralize enemy units by focusing low health units, high damage dealers, and supports while ignoring stagnant units. The AI should be able to decide whether to retreat/change position/hold ground.
 
 
1) Basics
 
 
 
1.1) Write a small introduction to yourself.
 
 
 
I am currently a high school student. I try to achieve a high dexterity by juggling and exercising. I am a strategy / MOBA fanatic in computer games and enjoy playing League of Legends.
 
 
 
1.2) State your preferred email address.
 
 
 
joshma929@gmail.com
 
 
 
1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?
 
 
 
n/a
 
 
 
1.4) Why do you want to participate in summer of code?
 
 
 
I wish to get a greater experience in AI development and continue to improve my coding skills
 
 
 
1.5) What are you studying, subject, level and school?
 
 
 
I am currently taking IB Computer Science HL Advanced Topics at Troy High School, Fullerton, CA
 
 
 
1.6) What country are you from, at what time are you most likely to be able to join IRC?
 
 
 
USA, mostly during 3 - 9 PM Pacific
 
 
 
1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.
 
 
 
Not at the moment
 
 
 
 
 
 
2) Experience
 
 
 
 
 
 
2.1) What programs/software have you worked on before?
 
 
 
BlueJ, NetBeans
 
 
 
2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)
 
 
 
programmed one small game and participated in team programming contests; however I had major control of the development of the code in all the team events
 
 
 
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?
 
 
 
No
 
 
 
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
 
 
 
2.5) Gaming experience - Are you a gamer?
 
 
 
Yes
 
 
 
2.5.1) What type of gamer are you?
 
 
 
Casual
 
 
 
2.5.2) What type of games?
 
 
 
MOBA, RTS and strategy
 
 
 
2.5.3) What type of opponents do you prefer?
 
 
 
tricky, slightly better than my skill level
 
 
 
2.5.4) Are you more interested in story or gameplay?
 
 
 
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.
 
 
 
no, but will start as soon as I finish this application
 
 
 
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.
 
 
 
n/a
 
 
 
 
 
 
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.
 
 
 
pretty fluent, straight to the point
 
 
 
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.
 
 
 
Yes
 
 
 
3.4) Do you give constructive advice?
 
 
 
Yes, in other games, I try to help any player who is new. I will first begin with basic advice but explain later as they begin to understand basic mechanics
 
 
 
3.5) Do you receive advice well?
 
 
 
Yes, I try to follow other people's advice unless is useless.
 
 
 
3.6) Are you good at sorting useful criticisms from useless ones?
 
 
 
Most of the time, I base my judgement mostly on past experience or other peoples via internet
 
 
 
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 immediately start with sample code so that I can test small scenarios. Generally,  I will rewrite code and use different implementations to judge effectiveness. I believe that anything that has been coded could be recycled and be used elsewhere, so every line counts.
 
 
 
 
 
 
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?
 
 
 
Yes, AI defence/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?
 
 
 
I mostly want to test out different AI behaviour against real players
 
 
 
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".
 
 
 
I could be somewhat busy around the beginning of SoC till June 8th due to school. However, I should be fairly free from then on.
 
 
 
4.5) Include as much technical detail about your implementation as you can
 
 
 
A major deterrent from attacking is a greater loss in player units vs enemy units. Grouped enemy units make attacking even less viable. Therefore the goal would be to punish attacks with low kill/death ratios. 
 
 
 
Create a defensive line with high hp in front, ranged in middle and support in back
 
 
 
Decide which units to target based on hp and damage/support done. If possible, the AI will decrease the size of the player's army every turn. Another priority will be to deal more damage then damage received.
 
 
 
The AI should be able to decide good tactical locations to reinforce and group up at, like chokepoints
 
 
 
4.6) What do you expect to gain from this project?
 
 
 
wider spread of knowledge in C++ and in AI development
 
 
 
4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?
 
 
 
the game itself
 
 
 
 
 
 
5) Practical considerations
 
 
 
 
 
 
5.1) Are you familiar with any of the following tools or languages?
 
 
 
* Subversion (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)
 
 
 
C++
 
 
 
5.2) Which tools do you normally use for development? Why do you use them?
 
 
 
none for C++ at the moment, BlueJ for Java because of simple interface
 
 
 
5.3) What programming languages are you fluent in?
 
 
 
Java
 
 
 
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!
 
 
 
talking on the phone will be fine
 
 
 
In general, students should be as verbose as possible in their answers and feel free to elaborate.
 

Latest revision as of 12:44, 7 April 2012

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



Summer of Code 2012 student pages

This page was last edited on 7 April 2012, at 12:44.