SoC Ideas Sprite Sheets2011 Sajal

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


GSOC- 2011 Idea of representing images using sprite sheets.


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.



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.


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? I want to participate in project in developing game particularly in C++(and preferably using SDL libraries). This way I could give all the knowledge I have gained in two years and will experience the open source world which I am very passionate about.

1.5) What are you studying, subject, level and school? Computer Engineering , College 1.6) What country are you from, at what time are you most likely to be able to join IRC? India. For now, I am available after evening, but for the summer I would be available for the whole day. 1.7) Do you have other commitments for the summer period ? Do you plan to take any vacations ? If yes, when. NO. 2) Experience 2.1) What programs/software have you worked on before?

1. C++ programs and building data structures. 2.Experiencing SDL game development 3.GTK+3 in C for creating widgets. 4. Python

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? No. This is my second year. For the first year I did not have any base to make me consider as a student of GSOC.

2.4) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement. No. 2.5) Gaming experience - Are you a gamer? Yes.

2.5.1) What type of gamer are you?

As a gamer, I am quite addictive to all the games. 2.5.2) What type of games? Strategy games such as Age of empires. Even action and sports game excites me a lot. 2.5.4) Are you more interested in story or gameplay? 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. yes I have played wesnoth, about a year ago.

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 can read, write and speak in English 3.2) What spoken languages are you fluent in? Hindi, English. 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 worked under a small team, so exchange of advices and suggestions wont be a problem. 3.4) Do you give constructive advice? Yes, sometimes.

4) Project 4.1) Did you select a project from our list?

Yes, the spritesheet project seems to be quite interesting.

4.3) Why did you choose this project?

As mentioned, I am too developing a game which I would complete before the summer holidays.I want to contribute all my learnings to the open source game. I found that Battle For Wesnoth suited me well as it demanded the things which I am working upon.

4.4) Include an estimated timeline for your work on the project.

My exam will most probably end on May 15th. From May16th , I would understand the source code, the community and will start discussing the idea with more details. From May20:Start converting images into spritesheets manually. Hope it will not take much of time. On May 22 : Will work upon the source code and edit source for loading 2 spritesheet instead of multiple images. Also will define Macros for x-y coordinates and width/height. till May 30 : Test , bug and submit the patch regarding the same.

From June 1 : Will start editing the image-editing tool to our own needs. It would be a waste of time if we start from scratch. (Will discuss it before May20)

Till the End of Summer : Will Test it, provide documentation and polish the code. If we our still left with the time, we will add objects to the game using our designed tool :) .

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

It would provide me the base code for the Battle of Wesnoth and I could work upon it in future too. 4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?

My contribution to the Wesnoth community.

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

Yes I have familiar with Sub­­version , C++ ,SDL.

Got a little knowledge about python No idea about WML.

5.2) Which tools do you normally use for development? Why do you use them?

I use Git repositories more often than S­­V­­N as it is simpler,faster , smaller and moreover allows to clone the whole repository. Hope to see Battle for Wesnoth source codes in git in near future. 5.3) What programming languages are you fluent in?

C, C++ . 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.

Okay I will submit my phone number in Google Apllication.

SoC Application

SoC Application

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