Difference between revisions of "SummerOfCodeProposal Ryochan7"

From The Battle for Wesnoth Wiki
(Starting proposal page)
 
(Project: Wrote estimated timeline)
Line 125: Line 125:
  
 
'''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".'''
 
'''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".'''
 +
 +
April 21 - May 5: Get familiar with Wesnoth code and the Wesnoth community
 +
 +
May 6 - May 22: Study the problem in detail and gather the requirements of the project
 +
 +
May 23 - June 6: Flesh out use cases and start coding a prototype server, decide how network communication will be utilized and how updates will be handled, improve standalone GUI client
 +
 +
June 7 - June 21: Use cases finished. Work on in-game browser and test communication with prototype server. Continue work on server program
 +
 +
June 22 - July 2: Work on both client programs. General design should be completely finished by this point
 +
 +
July 3 - July 5: Take time off for the July 4th weekend. Will spend time with my family
 +
 +
July 6 - August 1: Improve both client programs and server program. Test more with full set of UMC data. Start thinking about what unit tests should be made. Start spending significant time fixing any bugs
 +
 +
August 2 - August 9: Write tests for both the client and server. Clean up code based on tests results
 +
 +
August 10 - August 16: Spend more time cleaning up client and server code and fixing bugs. Write more tests
 +
 +
August 17: Finish cleaning up code. Prepare final submission
 +
  
 
'''4.5) Include as much technical detail about your implementation as you can'''
 
'''4.5) Include as much technical detail about your implementation as you can'''
 +
 +
  
 
'''4.6) What do you expect to gain from this project?'''
 
'''4.6) What do you expect to gain from this project?'''

Revision as of 17:49, 22 March 2009

Personal Information/Introduction

Name: Travis Nickles

Age: 25

Location: Normal, IL

University Enrolled: Illinois State University

Personal website: http://ryochan7.webfactional.com

Email: ryoohki7 AT yahoo.com


Questionaire

The information here is not complete.

Basics

1.1) Write a small introduction to yourself.

My name is Travis Nickles and I am 25 years old. I am majoring in Computer Science at Illinois State University in Normal, IL; I also have a minor in East Asian Studies with an emphasis on Japanese language study.

1.2) State your preferred email address.

ryoohki7 AT yahoo.com

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

Ryochan7

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

I want to participate in summer of code because I have wanted the experience of being a part of an open source project for a while. I would be spending most of my summer coding my own projects anyway so it would be better to use my time during the summer to give back to the open source community that I have greatly benefited from.

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

Computer Science, end of 3rd year, Illinois State University

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 SVN (during the evaluation period or earlier) please state so.

None

Experience

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

I have mostly worked on my own programs that were written in Python as a way to learn the language. My biggest currently supported program is YouTubed-2x; it is a program that downloads videos from various flash sites and transcodes them via ffmpeg into a GP2X-compatible AVI video file. Other programs that I have worked on in some capacity are PSP Video Converter (submitted some patches) and the PlayStation Portable port of Doom (maintained the main branch for a few months, added wad selector, button configuration menu, added overclocking support)

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

No. I have always wanted to experience being a part of a group project.

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

No

2.5) Gaming experience - Are you a gamer?

Yes

2.5.1) What type of gamer are you?

I consider myself a casual gamer nowadays because I don't have much time to play games.

2.5.2) What type of games?

I mostly play FPS's and JRPGs.

2.5.3) What type of opponents do you prefer?

I prefer to face a human opponent.

2.5.4) Are you more interested in story or gameplay?

I am generally more interested in story than gameplay. My love for the Xenosaga series is a great example of that.

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 used to play the game a lot for over two months about a couple of years ago. I have continued to follow the project and recommend the game to friends but I have not played Wesnoth in a long time.

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) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.

I am not particularly good at interacting with other players.

3.3) Do you give constructive advice?

Yes

3.4) Do you receive advice well?

Yes. I am always willing to take advice from other people.

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 would like to concentrate on developing the addon server idea.

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

NA

4.3) Why did you choose this project?

I chose this project because I feel that I have a better general understanding of this project and what can be done; programming AI is over my head and I am not that great at web development.

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

April 21 - May 5: Get familiar with Wesnoth code and the Wesnoth community

May 6 - May 22: Study the problem in detail and gather the requirements of the project

May 23 - June 6: Flesh out use cases and start coding a prototype server, decide how network communication will be utilized and how updates will be handled, improve standalone GUI client

June 7 - June 21: Use cases finished. Work on in-game browser and test communication with prototype server. Continue work on server program

June 22 - July 2: Work on both client programs. General design should be completely finished by this point

July 3 - July 5: Take time off for the July 4th weekend. Will spend time with my family

July 6 - August 1: Improve both client programs and server program. Test more with full set of UMC data. Start thinking about what unit tests should be made. Start spending significant time fixing any bugs

August 2 - August 9: Write tests for both the client and server. Clean up code based on tests results

August 10 - August 16: Spend more time cleaning up client and server code and fixing bugs. Write more tests

August 17: Finish cleaning up code. Prepare final submission


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 gain some experience in working with a team and get dough from Google.

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

As long as I do a good job on my project then I would stay in the Wesnoth community after the conclusion of SOC.

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)
   * Python (optional, mainly used for tools)
   * build environments (eg cmake/autotools/scons)

I am familiar with C++, Python, cmake, and autotools.

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

I usually use Python for development. I use Python because it is a lot easier to write something fairly quickly as opposed to using C++.

5.3) What programming languages are you fluent in?

I am fluent in C++ and Python. I studied C++ in school for 3 year and I studied Python on my own for about 1.5 years. I am also fairly proficient at Java.

5.4) What spoken languages are you fluent in?

English

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

I am awake between 2 PM till 5 AM UTC. I can be in IRC between 2 AM - 4 AM 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 do not mind getting calls from a mentor.