SummerOfCodeProposal jabagawee

From The Battle for Wesnoth Wiki

Contact Information

Name: Andrew Szeto

Location: Los Angeles, California

E-Mail: jabagawees_email.png

Application

Basics

1.1) Write a small introduction to yourself.

My name is Andrew Szeto, and I started programming a few years ago. Until now, I've always treated programming as a hobby, preferring to mess with small projects and fun ideas. I want to use Google Summer of Code as a platform from which I will greatly increase my involvement with other developers and program in larger projects.

1.2) State your preferred email address.

jabagawees_email.png

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

I use the username jabagawee for my GNA, IRC, and Wesnoth forum accounts.

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

Google Summer of Code would provide me with a learning experience to improve my programming skills. There are many skills that I think I would develop as a result of entering this program, including but not limited to the ability to work with others and the skill of working with a large codebase. This also seems to be the most productive and useful way to spend what will otherwise be a somewhat laid-back summer.

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

I have not chosen any sort of major or future career path, and I am merely studying in general education. However, computer science and its related fields are under heavy consideration.

1.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 Wesnoth. If you have gained commit access to our S­­V­­N (during the evaluation period or earlier) please state so.

I have not yet done any of the above items.

Experience

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

Most of my projects are personal toys that I work on after I get an idea. These include website scraper/parsers, experiments in distributed computing, and data analysis for statistics classes. For graphical programs, I've made quite a few SDL games and dabbled in OpenGL.

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

A lot of my development and projects have been done in collaboration with a close friend of mine, so I have plenty of experience working in a team environment, albeit a small team. I am familiar with sub­­version and gobby as tools for collaboration.

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 never participated in Google Summer of Code.

2.4) Open Source

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

This will be my first experience with open source projects.

2.5) Gaming experience - Are you a gamer?

Yes.

2.5.1) What type of gamer are you?

I find it hard to set aside time for games, but I do not consider myself a casual gamer. I play games mostly on the PC, and I would most identify with the enthusiast market. However, I also play games like The Sims, Final Fantasy, and Battle for Wesnoth (of course). Finally, I own a Nintendo DS and can play quick Flash games on the web.

2.5.2) What type of games?

See 2.5.1.

2.5.3) What type of opponents do you prefer?

I believe the best opponent is either at or slightly above my skill level. By facing opponents at that skill range, I am able to have a challenging and educational game, no matter what I'm playing.

2.5.4) Are you more interested in story or gameplay?

I prefer 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 mostly play single player Wesnoth.

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 English user, both in written and spoken forms of the language.

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

I would like to think I am personable and friendly.

3.3) Do you give constructive advice?

Yes.

3.4) Do you receive advice well?

Yes.

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

Yes.

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 plan to allow Wesnoth to use sprite sheets.

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

This question is not applicable.

4.3) Why did you choose this project?

I believe that this project is within my grasp as a programmer. I have worked before with images, and it seems simple enough for me to implement without excessive difficulty.

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

March 14 - April 1: Participate in the Wesnoth community and talk to current developers about what problem I should approach. Switch my idea if another seems preferable. Mull over the technical considerations and how I will implement my project.

April 2 - April 9: Spring break from school. Perfect application and (maybe) get started on coding. Major community bonding / being active in forums, IRC, etc / getting used to the codebase.

April 3 - May 3: General work. More bonding. May slow down at the end as exams approach.

May 4 - May 12: Exams. Still will be able to work, though definitely slower. The two or so weeks preceding this may be filled with studying.

May 13 - May 23: By now, I hope to have some preliminary code up and be ready to completely fly into gear.

May 23 - May 26: Celebrate both the beginning of GSOC and my birthday. :P

May 27 - July 24: Work. Specifics aren't really worked out yet, but I'll get it.

July 25 - August 7: Cleaning up, testing, documentation, etc.

August 8 - August 21: Summer camp, work output will be greatly diminished. By now, I hope to have my project mostly done, so this should not be a problem. If possible, August 14 will be my final "pencils down" date, and everything will be done.

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

Though I am not sure exactly how I will implement sprite sheets, I will definitely think about how I will do it before GSOC begins.

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

I plan to greatly increase my experience and skills as a programmer while also gaining connections to other developers and the skills (like teamwork) required to work with them.

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

I would definitely join into the community and work on Wesnoth long after GSOC is done. As I've said before, GSOC is merely my stepping stone into the world of working with open source projects.

Practical considerations

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

I regularly use Sub­­version and Python, and I have some familiarity with C++. I am not familiar with build environments.

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

Because my projects never get large enough to warrant the use of an IDE, I usually use vim to edit files. My projects are managed entirely through the shell (mkdir, cd, etc). I use sub­­version to keep track of all of my files, and I use gobby to collaborate on a file with others in real time.

5.3) What programming languages are you fluent in?

I am fluent in Python, though I have experience in C(++) and Java.

5.4) What spoken languages are you fluent in?

The only language I am absolutely fluent in is English.

5.5) At what hours are you awake and when will you be able to be in IRC (please specify in UTC)

I can wake up anywhere from 2.00pm to 9.00pm, but I will usually be up by 6.00pm. I sleep at 7.00am to 8.00am. Reminder: all times are in UTC.

5.6) 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.

I am open to using a phone or VoIP service to communicate with my mentor. However, I may not be available for voice chat at late hours of the night.

This page was last edited on 21 March 2013, at 01:03.