SoC Ideas Sprite Sheets2011 hadleyt

From The Battle for Wesnoth Wiki

This page is related to Summer of Code 2011
See the list of Summer of Code 2011 Ideas

This is a Summer of Code 2011 student page
Project: SoC_Ideas_Sprite_Sheets2011


Tom Hadley - Sprite Sheet Creation/Implementation

The first step is to create the sprite sheets by taking the many small sprites that we already have and piecing them together to form a sheet. This sheet must be organized in such a way that the each individual sprite is still easily accessible.

I think the best way to go about accessing the sprites is to have them in a certain location in the sheet. This sheet could then be divided into different image-esque objects using a bi-dimensional pixel struct array, while certain sprites are given certain x-y locations.


hadleyt, hadleyt_


1) Basics

1.1) Write a small introduction to yourself.

My name is Tom Hadley. I'm from Rochester, Minnesota, I'm involved in music, and I'm a gamer.

1.2) State your preferred email address.

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

hadleyt, hadleyt_

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

I after graduating, I wish to pursue a career in game design. GSoC will allow me to gain professional experience in game development by involving me in open source development of Wesnoth.

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

I am currently a sophomore Computer Science and Physics double major pursuing a B.A. degree at St. Olaf College in Northfield, Minnesota.

1.6) What country are you from, at what time are you most likely to be able to join IRC?

I am from the US. My schedule is extremely flexible, but my peak availability for IRC would be from 8am to 5pm M-F.

1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.

I am playing trumpet for a musical in late June-early July, however this is a small commitment of maybe 12 hours per week in the evenings.

2) Experience

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

I have coded in VPython for physics simulations and C++ for a wide variety of uses.

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

Not at this time. The course I am currently taking has a team project portion that I we be starting next week.

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?


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


2.5) Gaming experience - Are you a gamer?


2.5.1) What type of gamer are you?


2.5.2) What type of games?

I play/ have played WoW, Starcraft II, Warcraft III, DotA, LoL, HoN, Half life 2, TF2, and others. Lately I've been playing more RTS games, and have played Heroes of Might and Magic, which seems somewhat similar to Wesnoth.

2.5.3) What type of opponents do you prefer?

Challenging but not overly so.

2.5.4) Are you more interested in story or gameplay?

Gameplay and story go hand in hand in creating a good game. The story must be exciting, but there must be exceptional core gameplay to hold it together. Otherwise, the game becomes boring.

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 have only played for a few minutes, but I would be willing to play it more not just to learn more about it, but because it seems fun too.

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 S­­V­­N (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.

fluent, native speaker

3.2) What spoken languages are you fluent in?


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

No communities are rougher than the SC2 and WoW communities. I am used to difficult player interactions and am willing

3.4) Do you give constructive advice?

I give constructive advice whenever I am able but not in a condescending way

3.5) Do you receive advice well?

I try to, if the advice is well given.

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


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 am more on the side of coding a proof of concept since that is the way I've been taught, however I am willing to try either method if it's an issue.

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?

Yes - I am interested in the project involving sprite sheets. I would like to focus on the implementation of the sprite sheets.

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

4.3) Why did you choose this project?

This project makes a lot of sense to me when I think about it. I think it would be really cool to organize these images sprite sheets and then find a way to implement them in order to conserve system resources

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 am still in school until May 30, so I would work on figuring out the basics of how sprite sheets work and how to implement them up until that point.

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

Getting the sprites into sprite sheets will be the first task. After that, we could read in each spritesheet and separate it into different image objects based on the location of pixels.

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

I hope to gain a better understanding of C++ as it applies to game development and more preparation for such a career.

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

A pleasant experience over the summer.

5) Practical considerations

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

  • C++ (language used for all the normal source code)
  • Python (optional, mainly used for tools)
    • I would be willing to learn any other necessary tools/languages, I seem to be able to pick them up fairly quickly.

5.2) Which tools do you normally use for development? Why do you use them? I use emacs and vidle because they are what my school uses. I would be willing to try others.

5.3) What programming languages are you fluent in? C++ and Python.

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!

In general please try to be as verbose as possible in your answers and feel free to elaborate.

SoC Application

SoC Application

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