Skip to content
Gabbi (Rickisthe1) edited this page Dec 27, 2024 · 18 revisions

List of Files and Folders Used:

  • SpriteGroups: Contains all overworld sprites.
  • BattleSprites: Contains all battle sprites.
  • sprite_groups.yml: Contains data on how the sprites are used and their behavior in-game.
  • sprite_group_palettes.yml: Contains the color palettes for the sprites.

Editing Sprites

CoilSnake conveniently extracts all the sprites from the game as PNG files, which you can edit using any pixel art tool. The community recommends using GraphicsGale or Aseprite. If you have it, Photoshop also supports indexed palettes and can work for this purpose. However, there have been reports that GIMP can cause issues when editing sprite files.

Let’s start by editing Ness's sprite, 001.png. Your screen should look like the following:

Ness's sprite open in GraphicsGale

Feel free to edit this sprite as needed. If you're working on a playable character, make sure to add diagonal sprites. Note that NPCs do not require diagonal sprites.

It’s important to stick to the predefined color palettes for sprites. CoilSnake does not use the palette information stored in the PNG files themselves. Instead, the colors are defined in sprite_group_palettes.yml. While it’s possible to modify these palettes, doing so can be cumbersome, as changes require you to update all corresponding PNG files to avoid any inconsistencies during compilation. (A future tutorial will cover how to make this process easier.)

Changing Sprite Dimensions

The valid canvas sizes for sprites are as follows: (16x16), (24x16), (32x16), (48x16), (16x24), (16x32), (24x24), (16x32), (32x32), (48x32), (24x40), (16x48), (32x48), (48x48), (64x48), (64x64), and (64x80).

To demonstrate, let’s make Ness’s sprite taller. To save time, we’ll use an existing sprite, such as the tree in a pot, and overwrite Ness’s sprite.

Here’s the tree sprite (266.png), which we’ll save as 001.png to replace Ness’s sprite:

The tree sprite open in GraphicsGale

Notice that the palette in this sprite is different—it uses one of the palettes defined in sprite_group_palettes.yml.

Now that we’ve edited the sprite, open the sprite_groups.yml file. Locate the data for the tree sprite (266.png) and copy relevant properties into the data for 001.png.

Here’s what the data for 001.png should look like:

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]

Modify the Size property to 16x48 without changing the other values.

After saving and compiling the changes, this is how it should appear in-game:

The tree sprite appearing instead of Ness on the naming screen

Battle Sprites

For battle sprites, you are free to use any 15 colors, plus one transparent color. For more detailed information, refer to the Battle Sprites tutorial.

Unused Sprites

Currently, CoilSnake does not support adding new sprites, so you must overwrite existing ones. Fortunately, there are several unused sprite groups in the game that can be safely overwritten without causing any side effects. Here’s a list of completely unused sprite groups, which you can overwrite:

Number Description
31 Tiny underworld Escargo Express Man
32 Tiny underworld Gonzales (Mach Pizza delivery guy)
38 Tiny underworld Ness Photo Pose
42 King climbing ladder
43 King climbing rope
191 Mr. Saturn Pu-pu emote
192 Black Zzz emote
193 Smoke/Thought bubbles emote
196 Question mark emote
247 Cracked tile
250 Steam
251 Whirlpool
275 Mother 1 Starman capsule
321 Friendly mole (not in a hole)
338 Poo jumping
339 Ness ghost jumping
340 Paula ghost jumping
341 Jeff ghost jumping
342 Poo ghost jumping
345 Unused Teddy Bear duplicate 1
351 Heart emote
354 Ness' Mom sitting (unique to English game, Japanese game is simply an X instead)
355 Unused Venus poses
358 Top left door corner
366 Smiley face flag emote
379 Unused Teddy Bear duplicate 2
380 Unused Teddy Bear duplicate 3
383 Ness sleeping with hat on
400 Sparrow
408 Money box
431 Small Monotoli secret door
445 Everdred ghost
452 Cheering Sanchez brother
453 Ness sleeping sitting up
454 Paula sleeping sitting up
462 Upper water wake
463 Lower water wake

Palettes

For guidance on adding a new sprite palette, refer to the tutorial on Adding a New Sprite Palette.

### List of Files and Folders Used: - `SpriteGroups`: Contains all overworld sprites. - `BattleSprites`: Contains all battle sprites. - `sprite_groups.yml`: Contains data on how the sprites are used and their behavior in-game. - `sprite_group_palettes.yml`: Contains the color palettes for the sprites.

Editing Sprites

CoilSnake conveniently extracts all the sprites from the game as PNG files, which you can edit using any pixel art tool. The community recommends using [GraphicsGale](https://graphicsgale.com/us/) or [Aseprite](https://www.aseprite.org/). If you have it, Photoshop also supports indexed palettes and can work for this purpose. However, there have been reports that GIMP can cause issues when editing sprite files.

Let’s start by editing Ness's sprite, 001.png. Your screen should look like the following:

Ness's sprite open in GraphicsGale

Feel free to edit this sprite as needed. If you're working on a playable character, make sure to add diagonal sprites. Note that NPCs do not require diagonal sprites.

It’s important to stick to the predefined color palettes for sprites. CoilSnake does not use the palette information stored in the PNG files themselves. Instead, the colors are defined in sprite_group_palettes.yml. While it’s possible to modify these palettes, doing so can be cumbersome, as changes require you to update all corresponding PNG files to avoid any inconsistencies during compilation. (A future tutorial will cover how to make this process easier.)

Changing Sprite Dimensions

The valid canvas sizes for sprites are as follows: (16x16), (24x16), (32x16), (48x16), (16x24), (16x32), (24x24), (16x32), (32x32), (48x32), (24x40), (16x48), (32x48), (48x48), (64x48), (64x64), and (64x80).

To demonstrate, let’s make Ness’s sprite taller. To save time, we’ll use an existing sprite, such as the tree in a pot, and overwrite Ness’s sprite.

Here’s the tree sprite (266.png), which we’ll save as 001.png to replace Ness’s sprite:

The tree sprite open in GraphicsGale

Notice that the palette in this sprite is different—it uses one of the palettes defined in sprite_group_palettes.yml.

Now that we’ve edited the sprite, open the sprite_groups.yml file. Locate the data for the tree sprite (266.png) and copy relevant properties into the data for 001.png.

Here’s what the data for 001.png should look like:

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]

Modify the Size property to 16x48 without changing the other values.

After saving and compiling the changes, this is how it should appear in-game:

The tree sprite appearing instead of Ness on the naming screen

Battle Sprites

For battle sprites, you are free to use any 15 colors, plus one transparent color. For more detailed information, refer to the [Battle Sprites tutorial](https://github.com/pk-hack/CoilSnake/wiki/Battle-Sprites).

Unused Sprites

Currently, CoilSnake does not support adding new sprites, so you must overwrite existing ones. Fortunately, there are several unused sprite groups in the game that can be safely overwritten without causing any side effects. Here’s a list of completely unused sprite groups, which you can overwrite:

Number Description
31 Tiny underworld Escargo Express Man
32 Tiny underworld Gonzales (Mach Pizza delivery guy)
38 Tiny underworld Ness Photo Pose
42 King climbing ladder
43 King climbing rope
191 Mr. Saturn Pu-pu emote
192 Black Zzz emote
193 Smoke/Thought bubbles emote
196 Question mark emote
247 Cracked tile
250 Steam
251 Whirlpool
275 Mother 1 Starman capsule
321 Friendly mole (not in a hole)
338 Poo jumping
339 Ness ghost jumping
340 Paula ghost jumping
341 Jeff ghost jumping
342 Poo ghost jumping
345 Unused Teddy Bear duplicate 1
351 Heart emote
354 Ness' Mom sitting (unique to English game, Japanese game is simply an X instead)
355 Unused Venus poses
358 Top left door corner
366 Smiley face flag emote
379 Unused Teddy Bear duplicate 2
380 Unused Teddy Bear duplicate 3
383 Ness sleeping with hat on
400 Sparrow
408 Money box
431 Small Monotoli secret door
445 Everdred ghost
452 Cheering Sanchez brother
453 Ness sleeping sitting up
454 Paula sleeping sitting up
462 Upper water wake
463 Lower water wake

Palettes

For guidance on adding a new sprite palette, refer to the tutorial on [Adding a New Sprite Palette](https://github.com/pk-hack/CoilSnake/wiki/Adding-a-New-Sprite-Palette).

Clone this wiki locally