SoC Ideas Sprite Sheets2011 Sajal

From The Battle for Wesnoth Wiki
Revision as of 04:42, 30 March 2011 by Sagi (talk | contribs) (Problems)


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



GSOC- 2011 Idea of representing images using sprite sheets.


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



ATTENTION

GSOC- 2011 Idea of representing images using sprite sheets.

Description

Sajal- Implementation of images using spritesheets

The idea is to implement a spritesheet for loading images instead of individual png images.Basically, the idea is to design two seperate spritesheet - one for the characters and the other for objects in the environment.It would be flexible and have multiple-sized images.

The 2 spritesheets would be a large png image. If possible,a tool to merge images into a spritesheet would be created, so as to skip the "copy-paste" process . This will also enable other users to add the characters of their choice- which they could design via photoshop/other image-editing programs.

IRC

_sagi,sagi

Ideas and Problem

Using the spritesheets, decreases your loading time appreciably. This would be noticeable on running games on mobile OS platforms such as Android.

SDL libraries allow us to create rectangle frames and "clips" , so clipping out the image would not be the problem.

The only issue which I found is :

Once a spritesheet is made, it becomes tedious for the developers to edit the images packed in it. For the initial stage we can define Macros arrays(of size 4) containing the x-y coordinates and their respective width and height.This way devs will become aware of the frames and their images. Later , we could work upon developing a widget to select the frames from the given image-spritesheet.By selecting the frame , Devs could work upon the particular image.

May be we could use GTK+ to create widget. We will modify the source codes of particular image-editing program to our own needs. It would be quite helpful. I have worked upon GTK+ in Gnome contibution.

Questionnaire

1) Basics 1.1) Write a small introduction to yourself.

I am a student of Computer engineering and passionate about game developing. I am developing my own game as a college project in C++ using SDL libraries.

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? 1.5) What are you studying, subject, level and school? 1.6) What country are you from, at what time are you most likely to be able to join IRC? 1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when.

2) Experience 2.1) What programs/software have you worked on before? 2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own) 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? 2.5.3) What type of opponents do you prefer? 2.5.4) Are you more interested in story or 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. 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 SVN (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?

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? 3.5) Do you receive advice well? 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

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

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) 5.2) Which tools do you normally use for development? Why do you use them? 5.3) What programming languages are you fluent in? 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!