Difference between revisions of "SoC Ideas SpriteSheets2014"
(MediaWiki discourages using = for first-level headers) |
(Fix category dpl) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
==Description== | ==Description== | ||
===SpriteSheet=== | ===SpriteSheet=== | ||
− | Page for the idea: [[ | + | Page for the idea: [[SoC_Ideas_SpriteSheets2014]] |
− | Wesnoth uses | + | 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 | 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. | + | to make that possible, the Wesnoth engine needs to be adapted to allow this change. |
{{#dpl: | {{#dpl: | ||
Line 14: | Line 14: | ||
|suppresserrors=true | |suppresserrors=true | ||
|noresultsheader=''There are no submitted student proposals for this idea'' | |noresultsheader=''There are no submitted student proposals for this idea'' | ||
− | |category=Summer of Code 2014 Student Page& | + | |category=Summer of Code 2014 Student Page&SoC_Ideas_SpriteSheets2014 |
|notcategory=SoC 2014 Not Submitted To Google | |notcategory=SoC 2014 Not Submitted To Google | ||
|include=#Description | |include=#Description |
Latest revision as of 23:19, 12 March 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 |
Contents
Description
SpriteSheet
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.