Difference between revisions of "SoC Ideas SpriteSheets2014"

From The Battle for Wesnoth Wiki
(Added spritesheet page)
(No difference)

Revision as of 20:12, 12 February 2014


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



Description

SpriteSheet

Page for the idea: SoC_Ideas2014_Template

Wesnoth uses a thousands of images, that are all 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 no submitted student proposals for this idea

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.