512 by 512 base unit.
1:2 = 512 by 1024, 4:3 = 2048 by 1536
Power of two for optimization & pixel perfectness. Reduce artifacts and inconsistencies.
Naming Structure / Asset Format
[Asset Type]_[Asset Name/Description]_[Version]
- Characters/Enemies: ch_
- Environment: env_
- Props/Decoration: dec_
- Audio: aud_
- User Interface: ui_
Sprite Sheet: A collection of sprites organized in a grid format to increase performance for 2D animation.
Sprite Cell: An individual sprite on a sprite sheet.
Anchor: The origin point of an animation (essentially a reference point that stays stationary throughout the entire animation sequence and sprite sheet grid). This anchor is usually placed at the bottom center of a sprite.
Each sprite cell is at least 512px by 512px. If you have 16 frames of an animation, that would be a 2048px by 2048px sprite sheet. Sprites go from left to right and down with each row. All anchor points should be initially set at the bottom center of a drawing. Essentially think of the bottom of a grid cell as the floor that your animation stands upon. The dimensions of these sprite sheets HAVE to be in multiples of 4 (i.e. 256, 512, 1024, 2048) in order for them to be compressed correctly in the game engine.
All assets must be submitted in .png format with transparency
If an asset has multiple animation frames, format the different frames into a sprite sheet. Numbering goes from left to right and top to bottom in rows.
In the image below you can see how the bottom center of each sprite cell acts as the anchor point for which the character is animated from. If they jump, they move away from the anchor point and return to it at the end of the motion.
In the image below, each sprite is loosely placed in a grid format. This leads to jittering (see the gif of the bookshelf below in Asset Critique).
In the image below, each grid cell is set to 512px by 512px, however the placement of the asset moves around in-uniformly which will also lead to jittering (see the gif of the radio below).
Notice how the asset jitters through the animation. Make sure each sprite in the sprite sheet leads into the next frame and that they are correctly numbered from left to right & top to bottom in the sprite sheet.