SoC Ideas SpriteSheets2014

From The Battle for Wesnoth Wiki

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

This is a Summer of Code 2014 Idea



Page for the idea: SoC_Ideas_SpriteSheets2014

Wesnoth uses thousands of images, each of them stored in separate files. It would be more efficient to store multiple images in a single file. In order to make that possible, the Wesnoth engine needs to be adapted to allow this change.

There are 2 submitted student proposals for this idea

ALourenco - SpriteSheet

I am proposing the development of a SpriteSheet compability, so the number of assets of Wesnoth can be decreased and it's coding gets cleaner. Instead of having a lot of pictures, we can have, for example, just one per character with all animations needed. It works like a chess board where you can acess the previosly separated pictures in it's respective position. Since Wesnoth uses SDL, we can use OpenGL directly and easily handle several textures from only one SpriteSheet.
See GSoCSpriteSheetsALourenco for more information.

Aishiko GSOC 2014 SpriteSheets

My proposal is to take the current functions for drawing sprites and move it to allow for spritesheets, while hiding any of the changes from campaign designers. It should allow for the seemless intergration of spritesheets and allow for a period of conversion from multiple files to sheets.
See SpriteSheetApplicationSAB for more information.

Additional Information

Currently, all the Wesnoth unit animations are based on thousands of small png images, each image representing the unit in a single pose. For terrains the situation is the same, it has a base image with a lot of transitions to other terrains, which are now stored as seperate images.

In a sprite sheet approach, each unit is represented by a single, huge, image where all the unit images are put on a mosaïc pattern and the game knows where to look for a given image.

The advantage of having a large image with all positions is that it's more efficient in memory. Also one large file is more effecient on the harddisk and faster to load than a lot of smaller files. So the change to spritesheets will have a lot of advantages. Also several Wesnoth artists prefer using sprite sheets over multiple single images.

This project involves changing the Wesnoth Markup Language (WML)* definition for images to specify a sub image in a sprite sheet and change the image loading code of the engine. Creating tools to transform existing images to a sprite sheet can be an optional objective.

Regarding the implementation the student is free to come up with his/her own solution and discuss that with the developers during the application period.

  • ) WML is a XML like language, used to describe the data/content of Wesnoth.

Whom to ask about this

mordante on IRC.

This page was last edited on 12 March 2014, at 23:19.