Art / Spriting Contributor Guide

From Nuclear 14
Revision as of 22:35, 9 October 2024 by Peptide (talk | contribs) (Formatting and basics added)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction

Welcome to the Singularity Network Art / Spriting Guide. The Upstream Wizards Den guidance can be found here and includes some good information such as on licensing.

Basics

  1. The standard sprite size in SS14 is 32x32 pixels.
  2. You can make sprites that are 64x64 and downscale them using yaml so that they're higher resolution but the correct size in game. Some people refer to this as "mixels" and don't like it.
  3. Aseprite is the tool of choice for most SS14 artists as it's very powerful and is free if you compile it yourself, but also on steam for a reasonable price. We have a number of templates for sprites that "smooth" such as walls, floors and tables which use Aseprite to make life 100x easier.
  4. Sprite states are stored in .png format, these are placed into a folder labeled sprite.rsi with sprite being your unique name for the thing you made. Inside this .rsi folder you'll also find a meta.json file. This file stores all the metadata for your sprites such as default sprite size, if the sprite has directional states or animations.
  5. In each .png sprite state you can have directions and animations. If your sprite is 32x32 and has 4 directions, this will all be in the same .png file with the total size being 64x64, allowing 4 states. If this then had an animation, you'd have an extra 32x32 pixels in that file per direction, in order.
  6. We can do a lot of things in post with yaml such as coloring your sprite randomly or specifically. For this it's best if sprites are greyscale but not always. Likewise for anything that contains a reagent you can have an empty state, then states for various fill levels that are greyscale and colored in post by yaml.
  7. Additionally, if you want certain parts to not be affected by shading such as a bright light source, separate that layer out into a separate state and we can make it not shaded in yaml.