User:PJ
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 |
Contents
WIP
Description
PJ - Proposal Draft
TODO: Write a small (1-4 sentences) description of your proposal here.
Specifics
TODO: Add more first-level sections to detail your proposal
IRC
pjte
Questionnaire
1) Basics
1.1) Write a small introduction to yourself.
Hello all, my name is Adam. I am a freshman at the University of Wyoming. I have around two years of solid programming experience, specifically in C++, Java, and Python. I enjoy developing small games on the side to teach myself more about the field of computer programming. I also enjoy crocheting, knitting, playing the accordion, cooking, reading, and playing chess.
1.2) State your preferred email address.
akacmars@uwyo.edu
1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?
pjte
1.4) Why do you want to participate in summer of code?
I wish to expand my programming knowledge. More specifically, I want to do something related to programming as a career. This dream is easier to achieve the more experience I can get, and this is just the opportunity to get that experience. Additionally, I hope to expand my knowledge of game mechanics, as programming games is a hobby of mine. The friendly development community of Wesnoth is a great place to cultivate these skills.
1.5) What are you studying, subject, level and school?
I am currently a freshman and will be a sophomore this fall. I attend the University of Wyoming in Laramie, WY. I am dual majoring in both Computer Science and in Astronomy. Due to a large amount of college credits taken in high school, I have roughly 50 credit hours completed.
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, and can most likely join the IRC channel around 3:00 MST.
1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.
A possible week exists at the beginning of June where I would not have access to my home computer. A portable device could be used for some out of state coding.
2) Experience
2.1) What programs/software have you worked on before?
I have worked on many school projects involving C++, Java, and Python.
C++ projects included development of general user applications that explored the basics of Object Oriented Programming.
Java and Python development focused mainly on learning the language through game development. Java games were created to utilize the javax.Swing library.
Python games existed from simple text-based games to Asteroids, Tetris, Pong, and Blackjack.
Additionally, I have self-taught myself a little bit of Lua in order to explore the graphics engine Love2D. I have created several games using this engine, including a version of Centipede.
2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)
I have not developed software as a team, but I have planned for the development of programs with other members of my class. This included writing pseudocode and UML based documents.
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 participated in Google Summer of Code before.
2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.
I have not been involved in the open source community before. I hope that the experience gained through this program will allow me to become a more active contributor to the world of open source.
2.5) Gaming experience - Are you a gamer?
I am indeed a gamer. From an early age I showed an affinity for games. It started with a simple SkiFree clone on an old Macintosh SE computer, and grew into a lifelong career-option. As I grew, I played many games of cards and Chess with my older brother. Eventually, I bought an old Atari 2600 at a garage sale and fell in love with video games again.
2.5.1) What type of gamer are you?
I enjoy many types of games, and will try any at least once. I enjoy anything from AAA titles, to indie games, to a simple board game with my friends, to more complex games like Dungeons and Dragons.
2.5.2) What type of games?
I play many varieties of games, but the games that I feel most satisfied with winning are strategy based games. I enjoy playing chess and euchre with my family, and I play Civilization V and Age of Mythology often with my friends.
2.5.3) What type of opponents do you prefer?
I prefer more human opponents. Since I have a large background in chess, it is always more rewarding to beat an actual person rather than a computer. This is due largely to the fact that humans have the capability to present a strategy that it illogical, and to make this new strategy work in their favor. However, one of the joys of coding games is to make the AI as close as possible to a human, or even better. One of my favorite pastimes in high school was to make the AI in my games unbeatable, as it could out-logic anyone.
2.5.4) Are you more interested in story or gameplay?
I am more interested in the mechanics of the game. The inner working of a game are ultimately what drives the game to becoming popular. I have enjoyed several games that had no story whatsoever, and were just tech-demos or proof-of-concepts. These games, although lacking story, had fabulous gameplay, which made them enjoyable.
2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.
ANSWER THIS!!!!!!!
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.
ANSWER THIS TOO!!!!!
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 English speaker.
3.2) What spoken languages are you fluent in?
I am not fluent in any other languages, but I can interpret Spanish to some extent.
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 have dealt with many ‘rough’ players before. Coming from a chess background, many players often are competitive and use underhanded tactics. These players are relatively simple to handle once one is comfortable with the gaming system.
3.4) Do you give constructive advice?
I attempt to give constructive criticism whenever it is asked for. Additionally, I give criticism concisely, but can clarify if needed, and I am kind while doing so.
3.5) Do you receive advice well?
I am always open to improvements on any and all projects that I attempt.
3.6) Are you good at sorting useful criticisms from useless ones?
I would like to think that I am. I have taken many college level writing courses, and often times the feedback on rough drafts of papers is more feedback than is necessary to implement in the final draft. As a result, I needed to decide which feedback points were major, and which issues were acceptable to remain in the final product.
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 would like to discuss some about the project and determine what exactly needs to be done. Then, I would prioritize the objectives and plan the code. I would code and look for feedback on code as soon as a major difference was seen in the gameplay.
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?
4.2) If you have invented your own project, please describe the project and the scope.
I did not choose my own project.
4.3) Why did you choose this project?
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.5) Include as much technical detail about your implementation as you can
4.6) What do you expect to gain from this project?
4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?
The game will never be fully complete, in the sense that improvements and updates will always be made so long as the community remains active. As long as bugs still exist in the code, and as long as the AI has errors to iron out, the project will remain interesting to me. The project becomes partly mine, since I contributed to the code, and I care about its outcome. Letting the project die due to lack of development is sad, and I would be unhappy to see something that I had worked on end up like this.
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)
I am familiar with C++, STL, Python, and small amounts of Lua. As stated above, I have worked with C++ through schooling and am familiar with its syntax. Additionally, I have coded several games in Python using both Tkinter and pygame modules. I have coded a few games in Lua using the Love2D graphics engine.
5.2) Which tools do you normally use for development? Why do you use them?
For programming in C++, I use either Microsoft Visual Studio, as this is what my classes require that I use, or I use Eclipse, for more recreational usage. I use Eclipse as it is similar to Microsoft Visual Study, is free, and has a clean workspace design.
For programming in Python, I use the Python IDE. This is what I learned to code Python in, so I am used to the formatting that Python IDE has.
For programming in Lua, I use Notepad++, as it is lightweight and it interfaces well with the Love2D graphics engine.
5.3) What programming languages are you fluent in?
I am fluent in C++, Python, Java, and Spanish (a little bit of humor there).
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!
I am certainly open to talking to anyone who has questions.