Difference between revisions of "SpriteSheetApplicationSAB"

From The Battle for Wesnoth Wiki
(Blanked the page)
Line 1: Line 1:
−
Posted 28 Feb 2014
 
−
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 similar tiles together.
 
−
Like the water images, shorelines, docks, and water villages, as one.
 
−
The fields, human villages and castles in one.  Swamp things together,
 
−
and so on.
 
−
     
 
−
        I've heard that some devs think that a spritesheet might cause issues
 
−
        with larger images that don't fit in a hex, I'll intentional create some
 
−
        sprite sheets just for testing this purpose.  I'll also see about creating
 
−
        some tests to check and see if the performance gains are really showing up.
 
−
       
 
−
 
−
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)
 
−
    I don't get it yet but 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, all are appreciated and if I can't thank you
 
−
personally (IE you don't attach your name to it, Thank you.
 

Revision as of 20:59, 1 March 2014