-
Notifications
You must be signed in to change notification settings - Fork 37
Overworld Sprites
List of files and folders used:
-
SpriteGroups
contains all overworld sprites. -
BattleSprites
contains all battle sprites. -
sprite_groups.yml
contains data of how the sprites are used or act in-game. -
sprite_group_palettes.yml
contains the color palettes of sprites. -
map_sprites
TODO
CoilSnake conveniently dumps all of the sprites in the game to PNGs that you can edit with any proper pixel art tool! (read: not MS Paint) The community reccomends GraphicsGale or Aseprite.
Photoshop supports indexed palettes and should work, people in the community have reported GIMP messing up sprite files in the past.
Let's take a look at Ness's sprite, 001.png
. This is what your screen should look like:
Edit this sprite any way you like! If you're working on a playable character, be sure to add diagonal sprites! Note: NPCs don't have diagonal sprites.
You just need to stick to the main palettes - you can't add any new colors because CoilSnake doesn't actually use the palette information in the PNG files themselves! Palette colors are defined in sprite_group_palettes.yml
. Changing the color values in this file is a pain because if you do it, you have to modify all the PNG files because it checks to see if there are any mismatches when you compile. (TODO: talk about how to more easily do this)
Let's try making Ness's sprite taller! To save some time, we'll use a different sprite that already exists, like this tree in a pot!
TODO: document all the valid sizes
For this example, let's take the tree file (266.png
), and save it over Ness's sprite (001.png
). This is what your screen should look like:
Notice that the palette in this file is a little different - it's another one of the ones in the `sprite_group_palettes.yml file.
So, now that you've finished, and you're satisfied with what you have; it's time to open the sprite_groups.yml
file. We will scroll through it and find the new sprite's (266.png
) data, and paste some of its properties in 001.png
's data.
This is what 001.png
's data looks like now:
1:
East/West Collision Height: 8
East/West Collision Width: 8
Length: 16
North/South Collision Height: 8
North/South Collision Width: 8
Size: 16x24
Swim Flags: [false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false]
We will want to take the Size
number and change it to 16x48
and make sure nothing else is changed.
After saving and compiling, this is what it should look like in-game:
Wait! What about Battle sprites? With battle sprites, you can use any 15 colors (plus 1 transparent color) you want! Go nuts! More info in the Battle Sprites tutorial.
For your convenience, all the unused sprites in SpriteGroups are:
408
, 383
, 366
, 338
to 342
, 191
, 032
, 038
, and 445
. There are also duplicate sprites of the teddy bear and demonized party member. (Will add sprite numbers soon.)
So, what do we need to know what we can and can't do with palettes? And how do we check to see if our custom sprite is valid? Let's check the sprite_group_palettes.yml
file.
TODO
- Overworld Sprites
- Battle Backgrounds
- Battle Sprites
- Title Screen
- Window Graphics
- Logos
- Fonts
- Animations
- Swirls
- EB Project Editor
- Tile Data
- Tile Editor
- Collision Data
- Adding Map Palettes
- Map Editor
- Doors
- Warp Styles
- Enemy Placement
- Hotspots