Difference between revisions of "GSoC: Endercoaster"

From The Battle for Wesnoth Wiki
(Created page with '{{SoC2010Student}} =Description= I plan to develop an expanded alliance system for Wesnoth, providing greater granularity in setting permissions. I will be coding this in C++ an…')
 
Line 11: Line 11:
  
 
1.1) Write a small introduction to yourself.
 
1.1) Write a small introduction to yourself.
 +
 
I'm Denny Vaccaro, and I'm a programming student who is passionate about medieval fantasy. Whether it's computer games, tabletop games, or fighting Belegarth, ever since I've gotten to college, a large part of my free time is spent "in" that setting. I eventually would like to get into game development professionally, and recognize the important of experience in breaking into that competitive field.
 
I'm Denny Vaccaro, and I'm a programming student who is passionate about medieval fantasy. Whether it's computer games, tabletop games, or fighting Belegarth, ever since I've gotten to college, a large part of my free time is spent "in" that setting. I eventually would like to get into game development professionally, and recognize the important of experience in breaking into that competitive field.
  
 
1.2) State your preferred email address.
 
1.2) State your preferred email address.
 +
 
vaccarod@grinnell.edu
 
vaccarod@grinnell.edu
  
 
1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?
 
1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?
 +
 
endercoaster
 
endercoaster
  
 
1.4) Why do you want to participate in summer of code?
 
1.4) Why do you want to participate in summer of code?
 +
 
While I had a very nice internship with Northrop Grumman last summer, it did not mesh with my personal goals for what I want to program professionally. Coding for Battle of Wesnoth would allow me to gain experience in game development, my first choice for a job post-graduation, while working on a project that I'd be proud to be a part of.
 
While I had a very nice internship with Northrop Grumman last summer, it did not mesh with my personal goals for what I want to program professionally. Coding for Battle of Wesnoth would allow me to gain experience in game development, my first choice for a job post-graduation, while working on a project that I'd be proud to be a part of.
  
 
1.5) What are you studying, subject, level and school?
 
1.5) What are you studying, subject, level and school?
 +
 
I'm a 3rd year Computer Science major at Grinnell College in Iowa
 
I'm a 3rd year Computer Science major at Grinnell College in Iowa
  
 
1.6) What country are you from, at what time are you most likely to be able to join IRC?
 
1.6) What country are you from, at what time are you most likely to be able to join IRC?
 +
 
I'm from the US, and will most likely be on from 14:00 CT to at least 0:00 CT
 
I'm from the US, and will most likely be on from 14:00 CT to at least 0:00 CT
  
 
1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.
 
1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.
There are no vacations that I'm aware of. There is a chance that I will have another internship, though that will be strictly coding "during hours", and should not interfere with when I plan to code for this. If I'm able to be accepted for that internship in a non-commital manner and am also accepted for GSoC, I will most likely drop the other internship to dedicate more effort to working on Battle
 
  
of Wesnoth.
+
There are no vacations that I'm aware of. There is a chance that I will have another internship, though that will be strictly coding "during hours", and should not interfere with when I plan to code for this. If I'm able to be accepted for that internship in a non-commital manner and am also accepted for GSoC, I will most likely drop the other internship to dedicate more effort to working on Battle of Wesnoth.
  
 
2) Experience
 
2) Experience
  
 
2.1) What programs/software have you worked on before?
 
2.1) What programs/software have you worked on before?
 +
 
In addition to various minor school assignments, last summer I had an internship with Northrop Grumman where I used QT to develop and "attach" the GUI for the lab test of a radar jammer. The class I am taking now is focused on the development of a large group project, in this case, a competitive multiplayer variant on Conway's Game of Life.
 
In addition to various minor school assignments, last summer I had an internship with Northrop Grumman where I used QT to develop and "attach" the GUI for the lab test of a radar jammer. The class I am taking now is focused on the development of a large group project, in this case, a competitive multiplayer variant on Conway's Game of Life.
  
 
2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)
 
2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)
 +
 
Yes, both the GUI and my current class project are/were developed in team environments.
 
Yes, both the GUI and my current class project are/were developed in team environments.
  
 
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?
 
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.
 
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.
 
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.
 
No.
  
 
2.5) Gaming experience - Are you a gamer?
 
2.5) Gaming experience - Are you a gamer?
 +
 
Yes, I've played video and computer games since the Nintendo 64, and have been tabletop gaming since I got to college.
 
Yes, I've played video and computer games since the Nintendo 64, and have been tabletop gaming since I got to college.
  
 
2.5.1) What type of gamer are you?
 
2.5.1) What type of gamer are you?
 +
 
That weird type of middle ground where I'm not good enough to call myself a "hardcore" gamer, but care about gaming too much to call myself a "casual" gamer.
 
That weird type of middle ground where I'm not good enough to call myself a "hardcore" gamer, but care about gaming too much to call myself a "casual" gamer.
  
 
2.5.2) What type of games?
 
2.5.2) What type of games?
Mostly RPGs and strategy games (both turn based and real-time).
+
 
 +
Mostly RPGs and strategy games (both turn based and real-time), though I dabble in most genres.
  
 
2.5.3) What type of opponents do you prefer?
 
2.5.3) What type of opponents do you prefer?
 +
 
I prefer opponents that are slightly better than me and friendly enough so that once the game's been decided they'll provide me with constructive criticism on my gameplay.
 
I prefer opponents that are slightly better than me and friendly enough so that once the game's been decided they'll provide me with constructive criticism on my gameplay.
  
 
2.5.4) Are you more interested in story or gameplay?
 
2.5.4) Are you more interested in story or gameplay?
 +
 
I think both are important, but am more likely to play a game with flawed gameplay for a good story than vice versa (though there's a difference between a game with a flawed story and a game that doesn't bother with story and just focuses on being a game).
 
I think both are important, but am more likely to play a game with flawed gameplay for a good story than vice versa (though there's a difference between a game with a flawed story and a game that doesn't bother with story and just focuses on being a game).
  
 
2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.
 
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'm a new Wesnoth player, having only gotten through the tutorial and most of The South Guard. In general, I lean more towards single player than multiplayer, though once I get a bit more attuned to the game through single player, I will give multiplayer a try. Most of all, though I haven't played much yet, I'm hooked, and will play a lot more by the time summer rolls around.
 
I'm a new Wesnoth player, having only gotten through the tutorial and most of The South Guard. In general, I lean more towards single player than multiplayer, though once I get a bit more attuned to the game through single player, I will give multiplayer a try. Most of all, though I haven't played much yet, I'm hooked, and will play a lot more by the time summer rolls around.
  
 
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.
 
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.
 +
 
Not yet, will update as this changes.
 
Not yet, will update as this changes.
  
Line 71: Line 87:
  
 
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.
 
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.
 +
 
Native speaker.
 
Native speaker.
  
 
3.2) What spoken languages are you fluent in?
 
3.2) What spoken languages are you fluent in?
Know Spanish grammar well enough for me to get by with somebody who can put up with me looking up vocabulary as needed.
+
 
 +
I know Spanish grammar well enough for me to get by with somebody who can put up with me looking up vocabulary as needed.
  
 
3.3) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.
 
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 not quite sure what interacting with "other players" are like, but I've worked as an usher at a movie theater and a concert venue, and between teenage girls texting in the movie theater and middle-aged women with only lawn admission at the concert venue wanting me to throw their panties on stage for them, I think I feel comfortable saying yes.
+
 
 +
I'm not quite sure what interacting with "other players" is like, but I've worked as an usher at a movie theater and a concert venue, and between teenage girls texting in the movie theater and middle-aged women with only lawn admission at the concert venue wanting me to throw their panties on stage for them, I think I feel comfortable saying yes.
  
 
3.4) Do you give constructive advice?
 
3.4) Do you give constructive advice?
 +
 
When I have constructive advice to give, I provide it. If I'm asked to provide some and I don't have any, I say that I don't.
 
When I have constructive advice to give, I provide it. If I'm asked to provide some and I don't have any, I say that I don't.
  
 
3.5) Do you receive advice well?
 
3.5) Do you receive advice well?
 +
 
I consider who is giving the advice and what the advice is, and if it makes sense to follow it, I follow it.
 
I consider who is giving the advice and what the advice is, and if it makes sense to follow it, I follow it.
  
 
3.6) Are you good at sorting useful criticisms from useless ones?
 
3.6) Are you good at sorting useful criticisms from useless ones?
 +
 
When criticism is specific enough to be useful (i.e. not along the lines of "your game sucks"), it's advice, see 3.5.
 
When criticism is specific enough to be useful (i.e. not along the lines of "your game sucks"), it's advice, see 3.5.
  
 
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  
 
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 wants?
 
to "see how it turn out", taking the risk of having it thrown away if it doesn't match what the project wants?
 +
 
I generally prefer to design things before I start coding, but there is definitely a point of design where you can implement two ideas in the time it takes to decide between them, and I generally will limit myself to 15 minutes actively thinking about a decision before either deciding, or moving on to something else and letting the decision work itself out on the backburner.
 
I generally prefer to design things before I start coding, but there is definitely a point of design where you can implement two ideas in the time it takes to decide between them, and I generally will limit myself to 15 minutes actively thinking about a decision before either deciding, or moving on to something else and letting the decision work itself out on the backburner.
  
Line 95: Line 118:
  
 
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?
 
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 selected the New Alliance System idea. The largest benefit to the game of this, in my opinion, is introducing asymmetry in diplomacy, where you need to trust the other player to have given you permission to do what you want to do.
 
I selected the New Alliance System idea. The largest benefit to the game of this, in my opinion, is introducing asymmetry in diplomacy, where you need to trust the other player to have given you permission to do what you want to do.
  
 
4.2) If you have invented your own project, please describe the project and the scope.
 
4.2) If you have invented your own project, please describe the project and the scope.
 +
 
N/A
 
N/A
  
 
4.3) Why did you choose this project?
 
4.3) Why did you choose this project?
 +
 
It sounds like the game would benefit from, and while my idea will almost certainly need to be refined as I become more familiar with the code base, it was the project for which a potential implementation first formed in my head.
 
It sounds like the game would benefit from, and while my idea will almost certainly need to be refined as I become more familiar with the code base, it was the project for which a potential implementation first formed in my head.
  
 
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  
 
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".
  
then".
 
 
Note: This is only a "phase" timeline which will be updated into a date timeline as I become more familiar with the code base and can better estimate how long things will take and refine my implementation.
 
Note: This is only a "phase" timeline which will be updated into a date timeline as I become more familiar with the code base and can better estimate how long things will take and refine my implementation.
  
Step One: Code the values for storage of different "alliance rules" (Current planned implementation: wrapper for enums to allow for future expansion from boolean values)
+
*Step One: Code the values for storage of different "alliance rules" (Current planned implementation: wrapper for enums to allow for future expansion from boolean values)
Step Two: Code the grouping of these rules together for a set of rules between two players (Probably a class that has each rule)
+
*Step Two: Code the grouping of these rules together for a set of rules between two players (Probably a class that has each rule)
Step Three: Code the storage of relationships between two players (Write simple class that holds an active and a passive player, then hashmap these to rules)
+
*Step Three: Code the storage of relationships between two players (Write simple class that holds an active and a passive player, then hashmap these to rules)
Step Four: Expose these to WML (Need to learn more about WML to even start figuring out an implementation for this)
+
*Step Four: Expose these to WML (Need to learn more about WML to even start figuring out an implementation for this)
Step Five: Go into the code for the actions which the rules affect and make the rules work (with simple checks of the enums).
+
*Step Five: Go into the code for the actions which the rules affect and make the rules work (with simple checks of the enums).
Step Six: Make this settable from the GUI
+
*Step Six: Make this settable from the GUI
Step Seven: Add (probably at the WML level, but I could be wrong) a way to store a certain configuration of permissions for quick recall in the future, and use this to provide emulation of the current  
+
*Step Seven: Add (probably at the WML level, but I could be wrong) a way to store a certain configuration of permissions for quick recall in the future, and use this to provide emulation of the current alliance system.
 +
*Step Eight: GUI access of predefined configurations
 +
*Step Nine: Add "Prompt" option to unit attacking, village taking, and any additional rules which are developed which affect the "active" player
  
alliance system.
+
4.5) Include as much technical detail about your implementation as you can
Step Eight: GUI access of predefined configurations
 
Step Nine: Add "Prompt" option to unit attacking, village taking, and any additional rules which are developed which affect the "active" player
 
  
4.5) Include as much technical detail about your implementation as you can
 
 
I think I've included all my technical detail in my timeline.
 
I think I've included all my technical detail in my timeline.
  
 
4.6) What do you expect to gain from this project?
 
4.6) What do you expect to gain from this project?
 +
 
Experience in game development and a place in what seems to be a wonderful developer community.
 
Experience in game development and a place in what seems to be a wonderful developer community.
  
 
4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?
 
4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?
 +
 
The developer community and a superb product which I would be proud to be a part of.
 
The developer community and a superb product which I would be proud to be a part of.
  
Line 149: Line 176:
  
 
5.2) Which tools do you normally use for development? Why do you use them?
 
5.2) Which tools do you normally use for development? Why do you use them?
I generally use Netbeans for the languages it supports as it provides a very good IDE (though I'll admit that the auto-generation of Makefiles is the reason I didn't really learn Makefiles from my
 
  
internship last summer). For the languages not supported by Netbeans, I use Emacs, though this is admittedly mostly a matter of familarity and comfort.
+
I generally use Netbeans for the languages it supports as it provides a very good IDE (though I'll admit that the auto-generation of Makefiles is the reason I didn't really learn Makefiles from my internship last summer). For the languages not supported by Netbeans, I use Emacs, though this is admittedly mostly a matter of familarity and comfort.
  
 
5.3) What programming languages are you fluent in?
 
5.3) What programming languages are you fluent in?
 +
 
C, C++, Java, Python, Scheme
 
C, C++, Java, Python, Scheme
  
Line 159: Line 186:
 
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
 
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!  
 
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!  
 +
 
Not a problem at all. I'll include my phone number on the Google application.
 
Not a problem at all. I'll include my phone number on the Google application.

Revision as of 18:52, 29 March 2010


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



This is a Summer of Code 2010 student page



Description

I plan to develop an expanded alliance system for Wesnoth, providing greater granularity in setting permissions. I will be coding this in C++ and exposing this C++ code to UML. Though initially I will be providing these permissions on a yes/no basis, I will use enums instead of booleans to allow later expansion, and time permitting (or after the SoC), I hope to add a "prompt" option to the alliance settings that involve the setters actions (such as whether or not to attack the units of the person in question) that will confirm the action with the user before proceeding.

IRC

endercoaster

Questionnaire

1) Basics

1.1) Write a small introduction to yourself.

I'm Denny Vaccaro, and I'm a programming student who is passionate about medieval fantasy. Whether it's computer games, tabletop games, or fighting Belegarth, ever since I've gotten to college, a large part of my free time is spent "in" that setting. I eventually would like to get into game development professionally, and recognize the important of experience in breaking into that competitive field.

1.2) State your preferred email address.

vaccarod@grinnell.edu

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

endercoaster

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

While I had a very nice internship with Northrop Grumman last summer, it did not mesh with my personal goals for what I want to program professionally. Coding for Battle of Wesnoth would allow me to gain experience in game development, my first choice for a job post-graduation, while working on a project that I'd be proud to be a part of.

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

I'm a 3rd year Computer Science major at Grinnell College in Iowa

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

I'm from the US, and will most likely be on from 14:00 CT to at least 0:00 CT

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

There are no vacations that I'm aware of. There is a chance that I will have another internship, though that will be strictly coding "during hours", and should not interfere with when I plan to code for this. If I'm able to be accepted for that internship in a non-commital manner and am also accepted for GSoC, I will most likely drop the other internship to dedicate more effort to working on Battle of Wesnoth.

2) Experience

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

In addition to various minor school assignments, last summer I had an internship with Northrop Grumman where I used QT to develop and "attach" the GUI for the lab test of a radar jammer. The class I am taking now is focused on the development of a large group project, in this case, a competitive multiplayer variant on Conway's Game of Life.

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

Yes, both the GUI and my current class project are/were developed in team environments.

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, I've played video and computer games since the Nintendo 64, and have been tabletop gaming since I got to college.

2.5.1) What type of gamer are you?

That weird type of middle ground where I'm not good enough to call myself a "hardcore" gamer, but care about gaming too much to call myself a "casual" gamer.

2.5.2) What type of games?

Mostly RPGs and strategy games (both turn based and real-time), though I dabble in most genres.

2.5.3) What type of opponents do you prefer?

I prefer opponents that are slightly better than me and friendly enough so that once the game's been decided they'll provide me with constructive criticism on my gameplay.

2.5.4) Are you more interested in story or gameplay?

I think both are important, but am more likely to play a game with flawed gameplay for a good story than vice versa (though there's a difference between a game with a flawed story and a game that doesn't bother with story and just focuses on being a game).

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'm a new Wesnoth player, having only gotten through the tutorial and most of The South Guard. In general, I lean more towards single player than multiplayer, though once I get a bit more attuned to the game through single player, I will give multiplayer a try. Most of all, though I haven't played much yet, I'm hooked, and will play a lot more by the time summer rolls around.

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.

Not yet, will update as this changes.

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.

Native speaker.

3.2) What spoken languages are you fluent in?

I know Spanish grammar well enough for me to get by with somebody who can put up with me looking up vocabulary as needed.

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 not quite sure what interacting with "other players" is like, but I've worked as an usher at a movie theater and a concert venue, and between teenage girls texting in the movie theater and middle-aged women with only lawn admission at the concert venue wanting me to throw their panties on stage for them, I think I feel comfortable saying yes.

3.4) Do you give constructive advice?

When I have constructive advice to give, I provide it. If I'm asked to provide some and I don't have any, I say that I don't.

3.5) Do you receive advice well?

I consider who is giving the advice and what the advice is, and if it makes sense to follow it, I follow it.

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

When criticism is specific enough to be useful (i.e. not along the lines of "your game sucks"), it's advice, see 3.5.

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 wants?

I generally prefer to design things before I start coding, but there is definitely a point of design where you can implement two ideas in the time it takes to decide between them, and I generally will limit myself to 15 minutes actively thinking about a decision before either deciding, or moving on to something else and letting the decision work itself out on the backburner.

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 selected the New Alliance System idea. The largest benefit to the game of this, in my opinion, is introducing asymmetry in diplomacy, where you need to trust the other player to have given you permission to do what you want to do.

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

N/A

4.3) Why did you choose this project?

It sounds like the game would benefit from, and while my idea will almost certainly need to be refined as I become more familiar with the code base, it was the project for which a potential implementation first formed in my head.

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

Note: This is only a "phase" timeline which will be updated into a date timeline as I become more familiar with the code base and can better estimate how long things will take and refine my implementation.

  • Step One: Code the values for storage of different "alliance rules" (Current planned implementation: wrapper for enums to allow for future expansion from boolean values)
  • Step Two: Code the grouping of these rules together for a set of rules between two players (Probably a class that has each rule)
  • Step Three: Code the storage of relationships between two players (Write simple class that holds an active and a passive player, then hashmap these to rules)
  • Step Four: Expose these to WML (Need to learn more about WML to even start figuring out an implementation for this)
  • Step Five: Go into the code for the actions which the rules affect and make the rules work (with simple checks of the enums).
  • Step Six: Make this settable from the GUI
  • Step Seven: Add (probably at the WML level, but I could be wrong) a way to store a certain configuration of permissions for quick recall in the future, and use this to provide emulation of the current alliance system.
  • Step Eight: GUI access of predefined configurations
  • Step Nine: Add "Prompt" option to unit attacking, village taking, and any additional rules which are developed which affect the "active" player

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

I think I've included all my technical detail in my timeline.

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

Experience in game development and a place in what seems to be a wonderful developer community.

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

The developer community and a superb product which I would be proud to be a part of.

5) Practical considerations

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

   * Subversion (used for all commits)

Yes, used in internship last summer and my current class.

   * C++ (language used for all the normal source code)

Yes.

   * STL, Boost, Sdl (C++ libraries used by Wesnoth)

No, though I'd be happy to learn.

   * Python (optional, mainly used for tools)

Yes, but with more reference to documentation than C++

   * build environments (eg cmake/autotools/scons)

Kind of iffy on writing Makefiles at the moment, but I should be better by summer.

   * WML (the wesnoth specific scenario language)

No exposure yet, looking forward to learning it.

   * Lua (used in combination with WML to create scenarios) 

No exposure, ready to learn

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

I generally use Netbeans for the languages it supports as it provides a very good IDE (though I'll admit that the auto-generation of Makefiles is the reason I didn't really learn Makefiles from my internship last summer). For the languages not supported by Netbeans, I use Emacs, though this is admittedly mostly a matter of familarity and comfort.

5.3) What programming languages are you fluent in?

C, C++, Java, Python, Scheme

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!

Not a problem at all. I'll include my phone number on the Google application.