SoC Ideas SpriteSheets

From The Battle for Wesnoth Wiki

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

This is a Summer of Code 2010 Idea


Allow wesnoth to support spritesheets

Page for the idea: SoC_Ideas_SpriteSheets

Wesnoth units are made of thousands of small png files, each containing the image of the unit in a given stance. This has the advantage of (arguably) being easier for artists. However this has a huge cost in term of memory usage. The point of this SoC would be to allow wesnoth to support spritesheets : huge images containing a mosaic of all images and related tools/code support

There are 2 submitted student proposals for this idea

Shuger - sprite sheet support

I want add sprite sheet support to Wesnoth. The general idea is to assemble multiple small images into few bigger
See GSoC Sprite Sheets Shuger for more information.

Gabba - Sprite Sheets

I developed an approach to introduce sprite sheets to Wesnoth with minimal hassle for artists, and as little modifications to game code as possible. I support generation of various sizes of optimized sprite sheets, so we can adapt to various platform and memory/disk requirements. My system will rely on a single external tool based on an existing open-source solution.

Updated 04/09/2010
See GSoC-SpriteSheets Gabba for more information.

Additional Information

currently, all the wesnoth unit animations are based on png images, each image representing the unit in a single pose. In a spritesheet approch, 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 spritesheet approch has huge gains in term of memory consumption, but there are a couple of problems that need to be solved

  • how to build those huge sheets from our current images set
  • Wesnoth does not have a fixed number of frames per unit, nor does it have a fixed size for each unit frame. A naïve approch to the problem will not work
This page was last edited on 9 April 2010, at 22:56.