Created page with " 1) Basics 1.1) Write a small introduction to yourself. 1.2) State your preferred email address. 1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it? 1.4..."
New page
1) Basics
1.1) Write a small introduction to yourself.
1.2) State your preferred email address.
1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?
1.4) Why do you want to participate in summer of code?
I'd like to participate in the summer of code for several reasons, and
yes money is one of them. but experience is the biggest one.
1.5) What are you studying, subject, level and school?
I am currently studying computer science (read programming) and networking
technology. I am a Softmore in both, I am a current student at Sandhills
Community College.
1.6) What country are you from, at what time are you most likely to be able to
join IRC?
I currently live on the east coast of the US and can be in IRC pretty
much all day, either at home or school, though if at school there will
be a delay if in class and not lab.
1.7) Do you have other commitments for the summer period ? Do you plan to take
any vacations ? If yes, when.
I have no current commitments that would impact my ability to give GSOC
40 hours a week of work and attention. But if an emergency comes up
I'll find a way to make up the hours.
2) Experience
2.1) What programs/software have you worked on before?
Mostly personal projects and class projects, in C, C++, C#, PHP, Python,
& the Arduino. One of C++ classes was using DarkGTK (yes I know its
windows only) but we used SpriteSheets, sprite collision, and mouse interaction.
2.2) Have you developed software in a team environment before? (As opposed to
hacking on something on your own)
I have in a class environment, but I'm usually the only one left doing
the heavy lifting of coding. Though next year I'll be doing the
programming capstone class where the class of 1-20 students work
together to produce a program for a client, either for the college or
for a community member/business. I'm both looking forward to and
dreading working on a team, wondering if I'll be able to fit in and
create code that is easy to maintain and follow.
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 applied last year, however, I wasn't choosen mostly because I lack
good writing skills for technical documents. At least that is what I
was told.
2.4) Are you already involved with any open source development projects? If yes,
please describe the project and the scope of your involvement.
None, I have submitted patches to the linux kernel but, I never
bothered to see if they made it in.
2.5) Gaming experience - Are you a gamer?
Sometimes, depends on my mood.
2.5.1) What type of gamer are you?
Casual.
2.5.2) What type of games?
2.5.3) What type of opponents do you prefer?
AI oppenents, I'm not really into the whole competetive thing.
2.5.4) Are you more interested in story or gameplay?
I think BOTH have to be there for a successful game.
Though to be honest I'm better at critecing story then 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.
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.
I've played Wesnoth for a year or 2, and I play exclusively single player.
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.
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.
3.2) What spoken languages are you fluent in?
English, I can understand a smattering of other languages but not enough
to do anything deep or programming specific.
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.4) Do you give constructive advice?
I've been told I do on occasion.
3.5) Do you receive advice well?
I do if its construtive and not attacking. If its yelling, screaming,
and insults as well, not so much. How its given usually impacts how well
I receive it.
3.6) Are you good at sorting useful criticisms from useless ones?
Given enough time yes, but the painfully obvious ones I usually see
right away.
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'm usually fairly autonomous, once the design has been decided, and
if it doesn't work and needs a change I sometimes seek councel on what
way I should go, but sometimes just go ahead and make the change.
Examples:
1) The flow needs changing as it doesn't work right, usually I'll seek
help figuring it how to change the flow so it does work.
2) An array isn't giving the flexablity needed for a function but a
list will, I implement the list instead. And inform whomever needs to
know that I have done that change.
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 one from the list, the implementing the SpriteSheets.
I would like to concentrate on 2 tasks, 1 getting SpriteSheets to just
work in wesnoth, and two, provide a script/tool/utility to allow easy
converting from the old single images to the sheet (assuming certian
naming conventions are followed).
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?
I chosse it because I understand the concepts behind it, and felt it
was a task that I could handle. It will also force me to learn and
will provide immediate gains to all users when the version that
includes the change is pushed out.
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'm still working out a timeline but I would most likely do a commit
at least weekly. And break out the commits so that similar changes
are only in that commit. Example, comment changes in one, (assuming
no code changes), a converted set of sprites (aka the spritesheet) as
one, and then code making use of it. After checking to make sure that
the spritesheet works, removal of the converted individual sprite image
files.
4.5) Include as much technical detail about your implementation as you can
At this point I think I would take 1 sprite (character) and create a
spritesheet of it, and then test with that one. To allow testing I'd
likely have it check for a spritesheet if it finds one it uses that,
otherwise it uses the individual sprite images, in this way the game
still works, until all the sprites have been turned into spritesheets.
Once I have completed getting a character spritesheet to work, I'd
then move on to the map sprites to spritesheets, again using the same
methodology of check and if it finds a spritesheet use it otherwise,
use the individual images. Though, on the grouping I'm not sure how
I'd do that mordante and I'd have to discuss grouping, since a map can
have any or all of the different tiles, and they are not chained like
the unit/character sprites are, I'd have to group simliar tiles together.
Like the water images, shorelines, docks, and water villages, as one.
The feilds, human villages and castles in one. Swamp things together,
and so on.
4.6) What do you expect to gain from this project?
Experience, learning to work on a team where most actually pull their
own weight and the success of the project as a whole is not on my
shoulders. This is too big a project for me to even think of that!
and I'd not be able to, not in 3 months.
4.7) What would make you stay in the Wesnoth community after the conclusion of
SOC?
Finding that the community is a non-hostile place to contribute, that
individuals are treated with courtsey or the respect they have earned.
That I'm encouraged to help other areas of the code, such as, "Aishi,
the spritesheets work, do you think you could help with the transistion
effects for the map?"
5) Practical considerations
5.1) Are you familiar with any of the following tools or languages?
Git (used for all commits)
Enough to realize I don't like it and find it hard to use, but
if I can get some help working out how to do it a few times
I'm confident that I can get it.
C++ (language used for all the normal source code)
Its my favourite language and I'm comfortable using the language
and looking up what I don't know and making it work. I'm also not
afraid to ask, for help/documentation if I get stuck.
STL, Boost, Sdl (C++ libraries used by Wesnoth)
I've not, YET. Well I might, I never really looked into where a lib or
function comes from when I use, I'll have to pay a bit more attention
now. But they are no on my documentation read list, I'm confident
that by the time coding begins that I'll be able to leverage them to
obtain results, and be more effienent as I go. Even going back and
making a section more effient if I realize that I over looked a better
tool then I orginally used.
Python (optional, mainly used for tools)
I'm familiar enough to use it, follow it (assuming good coding
conventions are followed).
build environments (eg cmake/scons)
I tend to use cmake and the gcc compiler, basically I use which ever
build environment I have available and if its a new one I look up (via
the man page or the internet) how to use it, and if the defaults
settings don't work to add flags/options to get it to compile.
WML (the wesnoth specific scenario language)
Absolutely none before now, again on my read list
Lua (used in combination with WML to create scenarios)
None but I don't create senarios at this point, and if its only used
in that context, it shouldn't have any barring on the project(s) I'm
interested in doing at this point.
5.2) Which tools do you normally use for development? Why do you use them?
Kate, as its just what I'm used to, I like how it's mimaliztic and
non-intrutsive.
Visual Studio for my C# class because that is what they have to work
in when I turn it in.
5.3) What programming languages are you fluent in?
I'm not sure what you mean by fluent, if you mean know every builtin
function and every conseviable combination of calls, I doubt very many
could claim to be fluent. However if you mean, comfortable, and able
to figure out things you don't knoe, either by looking it up or by
context then C (and its children, C++, C#, Arduino) python, and PHP.
After being fluent in English doesn't mean you know every word or
special rule for the language.
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 wouldn't mind and in some cases prefer it. I'm not the most observant
when it comes to my email, I usually just get notices and spam that can
be ignored (high noise to signal ratio in my mailbox at the moment).
Though when expecting something I check it more often at least once a
day if not more.
Comments and Suggestions Please place them after this line, Thank you.