ff3:ff3us:tutorial:sprites

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ff3:ff3us:tutorial:sprites [2017/09/02 02:00]
lockirby2 [3. Editing Tiles (YY-CHR)]
ff3:ff3us:tutorial:sprites [2019/02/12 11:12] (current)
Line 87: Line 87:
 ==== 3. Editing Tiles (YY-CHR) ==== ==== 3. Editing Tiles (YY-CHR) ====
  
-If you wish to do simple tile edits, YY-CHR can be a solution. There is a {{ff3:ff3us:util:gfx:yychr_net.zip|.NET version}} and a {{ff3:ff3us:util:gfx:yy-chr20120407_en.zip|C++ version}}. I personally go with the C++ one; it is older, but it has more features that have not yet been ported to the .NET version. The image shown here is from the C++ version.+If you wish to do simple tile edits, [[rh:utilities:yychr|YY-CHR]] can be a solution. There is a .NET and C++ versions. I personally go with the C++ one; it is older, but it has more features that have not yet been ported to the .NET version. The image shown here is from the C++ version.
  
 Character sprites are located at $D50000 ($D50200 with header). You can either {{ff3:ff3us:tutorial:sprites:yychr-offset.png?linkonly|enter that address}} (as $150000 or $150200 if header present) or scroll until you see the GFX tiles. Note that you need to  {{ff3:ff3us:tutorial:sprites:yychr-4bpp.png?linkonly|set the graphic format to 4bpp SNES}}. Character sprites are located at $D50000 ($D50200 with header). You can either {{ff3:ff3us:tutorial:sprites:yychr-offset.png?linkonly|enter that address}} (as $150000 or $150200 if header present) or scroll until you see the GFX tiles. Note that you need to  {{ff3:ff3us:tutorial:sprites:yychr-4bpp.png?linkonly|set the graphic format to 4bpp SNES}}.
  
-If you want the right colors (i.e., the right palette), you can import the {{ff3:ff3us:tutorial:sprites:ff3us-pal.zip|FF6 NPC Palettes}} in YY-CHR by going to //Palette -> Open Palette (*.pal)//. This makes editing a lot easier, but it is not mandatory.  The palette shown in YY-CHR is not the one used by the game, and the GFX is not modified by this step since it uses a palette (see [[ff3:ff3us:tutorial:sprites#understanding_sprites|section 2]]).+If you want the right colors (i.e., the right palette), you can import the {{ff3:ff3us:tutorial:sprites:ff3us-pal.zip|FF6 NPC Palettes}} in [[rh:utilities:yychr|YY-CHR]] by going to //Palette -> Open Palette (*.pal)//. This makes editing a lot easier, but it is not mandatory.  The palette shown in [[rh:utilities:yychr|YY-CHR]] is not the one used by the game, and the GFX is not modified by this step since it uses a palette (see [[ff3:ff3us:tutorial:sprites#understanding_sprites|section 2]]).
  
 There are several different tile arrangements available. Since we are dealing with 16x24 sprites for characters, a more convenient way to view the tiles would be {{ff3:ff3us:tutorial:sprites:yychr-16x24.png?linkonly|16x24}}. If you had a 32x32 NPC sprite to edit, choosing 32x32 for the tile arrangement would make it easier to edit the tiles. As previously stated, other utilities are more useful than YY-CHR. [[ff3:ff3us:util:ff3usme|FF3usME]] and [[ff3:ff3us:util:ff3spriteed|FF3SpriteEd]] both have a tile editor (see {{ff3:ff3us:tutorial:sprites:ff3usme-tile.png?linkonly|here}} and {{ff3:ff3us:tutorial:sprites:ff3usse-tile.png?linkonly|here}}). [[ff3:ff3us:util:ff3se|FF3SE]] only allows sprite sheet editing, but it follows the same tile logic when saving the sprite to the ROM. There are several different tile arrangements available. Since we are dealing with 16x24 sprites for characters, a more convenient way to view the tiles would be {{ff3:ff3us:tutorial:sprites:yychr-16x24.png?linkonly|16x24}}. If you had a 32x32 NPC sprite to edit, choosing 32x32 for the tile arrangement would make it easier to edit the tiles. As previously stated, other utilities are more useful than YY-CHR. [[ff3:ff3us:util:ff3usme|FF3usME]] and [[ff3:ff3us:util:ff3spriteed|FF3SpriteEd]] both have a tile editor (see {{ff3:ff3us:tutorial:sprites:ff3usme-tile.png?linkonly|here}} and {{ff3:ff3us:tutorial:sprites:ff3usse-tile.png?linkonly|here}}). [[ff3:ff3us:util:ff3se|FF3SE]] only allows sprite sheet editing, but it follows the same tile logic when saving the sprite to the ROM.
Line 97: Line 97:
 {{  ff3:ff3us:tutorial:sprites:yychr.png?nolink  }} {{  ff3:ff3us:tutorial:sprites:yychr.png?nolink  }}
  
-To summarize this section, YY-CHR can help with basic tasks, but for complex sprite editing, FF3usME, FF3SpriteEd, and FF3SE are more convivial and allow a faster working pace.+To summarize this section, [[rh:utilities:yychr|YY-CHR]] can help with basic tasks, but for complex sprite editing, FF3usME, FF3SpriteEd, and FF3SE are more convivial and allow a faster working pace.
  
 ==== 4. Editing Sprites ==== ==== 4. Editing Sprites ====
Line 105: Line 105:
 === A. FF3SE (no longer developed) === === A. FF3SE (no longer developed) ===
  
-First up is [[ff3:ff3us:util:ff3se|FF3SE]], which has no tile editor, but allows sprite sheet editing. Its features are more basic than FF3usME or FF3SpriteEd. This can be more difficult to work with if you are a novice and don't know which tiles repeat. Also, there is no way to animate the sprite to see if your work is correct or should be adjusted. Note that there is a "trick" to importing a sprite with the correct palette order every time. You simply have to draw your palette on first pixel row as shown {{ff3:ff3us:tutorial:sprites:terra-import-128.png?linkonly|here}}. This "trick" can be used in FF3usME, FF3SpriteEd, or any editor that determines the palette by scanning the image from the //top-left to the bottom-right//.+First up is [[ff3:ff3us:util:ff3se|FF3SE]], which has no tile editor, but allows sprite sheet editing. Its features are more basic than FF3usME or FF3SpriteEd. This can be more difficult to work with if you are a novice and don't know which tiles repeat. Also, there is no way to animate the sprite to see if your work is correct or should be adjusted. Note that there is a "trick" to importing a sprite with the correct palette order every time. You simply have to draw your palette on the first pixel row as shown {{ff3:ff3us:tutorial:sprites:terra-import-128.png?linkonly|here}}. This "trick" can be used in FF3usME, FF3SpriteEd, or any editor that determines the palette by scanning the image from the //top-left to the bottom-right//.
  
 {{  ff3:ff3us:tutorial:sprites:ff3se-char.png?nolink  }} {{  ff3:ff3us:tutorial:sprites:ff3se-char.png?nolink  }}
Line 121: Line 121:
 {{  ff3:ff3us:tutorial:sprites:ff3usme.png?nolink  }} {{  ff3:ff3us:tutorial:sprites:ff3usme.png?nolink  }}
  
-To conclude this section, I'll talk about the spritesheet formats. FF3SE exports the sprite sheet in the //old// format, meaning they have no "riding" or "dead" (the sideways dead pose used in battle) poses included. This is also the only format it can import. FF3usME uses a similar (but newer) format that includes the dead and riding poses. Lord J's editor can import / export in either the //old// or //new// format, making FF3usME more versatile than FF3SE or FF3SpriteEd.+To conclude this section, I'll talk about the spritesheet formats. FF3SE exports the sprite sheets in the //old// format, meaning they have no "riding" or "dead" (the sideways dead pose used in battle) poses included. This is also the only format it can import. FF3usME uses a similar (but newer) format that includes the dead and riding poses. Lord J's editor can import / export in either the //old// or //new// format, making FF3usME more versatile than FF3SE or FF3SpriteEd.
  
 {{ff3:ff3us:tutorial:sprites:terra-me-old-300.png?nolink  }} {{ff3:ff3us:tutorial:sprites:terra-me-new-332.png?nolink}} {{ff3:ff3us:tutorial:sprites:terra-me-old-300.png?nolink  }} {{ff3:ff3us:tutorial:sprites:terra-me-new-332.png?nolink}}
Line 131: Line 131:
 {{ff3:ff3us:tutorial:sprites:sp-00-pose-00.png}}{{ff3:ff3us:tutorial:sprites:sp-01-pose-00.png}}{{ff3:ff3us:tutorial:sprites:sp-02-pose-00.png}} {{ff3:ff3us:tutorial:sprites:terra-pose-00.gif}} {{ff3:ff3us:tutorial:sprites:sp-00-pose-00.png}}{{ff3:ff3us:tutorial:sprites:sp-01-pose-00.png}}{{ff3:ff3us:tutorial:sprites:sp-02-pose-00.png}} {{ff3:ff3us:tutorial:sprites:terra-pose-00.gif}}
  
-[[ff3:ff3us:util:ff3usme|FF3usME]] has 2 kind of animation: //three pose animations// following a 1-2-1-3 pattern and //two pose animations// following a 1-2 pattern. There are 5 //three pose animations// and 12 //two pose animations//FF3usME animation table and pose table with corresponding tile IDs (overlaid on images) are available:+[[ff3:ff3us:util:ff3usme|FF3usME]] has 2 kind of animation: //three pose animations// following a 1-2-1-3 pattern and //two pose animations// following a 1-2 pattern. There are 5 //three pose animations// and 12 //two pose animations//An FF3usME animation table and pose table with corresponding tile IDs (overlaid on images) are available:
  
 [[ff3:ff3us:tutorial:sprites:animation|FF3usME animations table]]\\ [[ff3:ff3us:tutorial:sprites:animation|FF3usME animations table]]\\
Line 143: Line 143:
 There is an "unused" pose on the spritesheet that can be used. Terra is the only one who has a valid sprite for it. It's the last pose before the tent in FF3usME, usually filled with the original FF6 spriter signature. There is an "unused" pose on the spritesheet that can be used. Terra is the only one who has a valid sprite for it. It's the last pose before the tent in FF3usME, usually filled with the original FF6 spriter signature.
  
-If we come back to spriting, is it important to make sure all the edited poses work correctly with the sprite animations shown in FF3usME. Editing a tile can sometime have an effect on a pose we did not expect at first glance. Get used to the tile sharing of the sprite posesit works this way for all sprites of the same size.+If we come back to spriting, is it important to make sure all the edited poses work correctly with the sprite animations shown in FF3usME. Editing a tile can sometime have an effect on a pose we did not expect at first glance. Get used to the tile sharing of the sprite posesit works this way for all sprites of the same size.
  
 ==== 6. Editing Palettes ==== ==== 6. Editing Palettes ====
Line 158: Line 158:
 They are each assigned in a different way. The battle palette is assigned via a table of 26 one byte entries for the palette ID.  The first 14 entries are the main cast in regular order. This table is located at $C2CE2B. As for the overworld palette, it is assigned by event, usually when recruiting the character. //Map characters// are reused; for example, character $07 is a moogle and a ghost before finally becoming Strago. This means that character $07 has their palette changed several times over the course of the game.  They are each assigned in a different way. The battle palette is assigned via a table of 26 one byte entries for the palette ID.  The first 14 entries are the main cast in regular order. This table is located at $C2CE2B. As for the overworld palette, it is assigned by event, usually when recruiting the character. //Map characters// are reused; for example, character $07 is a moogle and a ghost before finally becoming Strago. This means that character $07 has their palette changed several times over the course of the game. 
  
-This {{ff3:ff3us:doc:game:palette_locs.zip|palette and sprite changes document}} made by runelancer is quite handy to find which event code need to be changed when you want to change a character's palette. Also check out {{ff3:ff3us:doc:game:command_list.zip|Lockirby's Event Document}} for the use of command $43 that changes the palette. For example, if you want to set Locke to palette 05, the command would be 43 01 05 because Locke is actor 01.+This {{ff3:ff3us:doc:game:palette_locs.zip|palette and sprite change document}} made by runelancer is quite handy to find what event code needs to be changed when you want to change a character's palette. Also check out {{ff3:ff3us:doc:game:command_list.zip|Lockirby's Event Document}} for the use of command $43 that changes the palette. For example, if you want to set Locke to palette 05, the command would be 43 01 05 because Locke is actor 01.
  
 While there are many overworld palettes, all regular characters and //character NPCs// use a palette ID between 0 and 5, with the exception of Esper Terra who uses overworld palette 8 and battle palette 6. The reason for you being unable to use 6 and 7 is due to those palettes not being compatible with the save/shop/character selection screens. For NPCs, the palette ID is located in the NPC data.  It's something that can be edited easily with {{ff3:ff3us:util:maps:ff6le_rogue_2013-05-25.7z|FF6LE}}. Here are two tables of the palettes used by the main sprites and main NPCs. Some NPCs can be used with different palettes (such as most generic NPCs), but they only appear in the table with their default palette. While there are many overworld palettes, all regular characters and //character NPCs// use a palette ID between 0 and 5, with the exception of Esper Terra who uses overworld palette 8 and battle palette 6. The reason for you being unable to use 6 and 7 is due to those palettes not being compatible with the save/shop/character selection screens. For NPCs, the palette ID is located in the NPC data.  It's something that can be edited easily with {{ff3:ff3us:util:maps:ff6le_rogue_2013-05-25.7z|FF6LE}}. Here are two tables of the palettes used by the main sprites and main NPCs. Some NPCs can be used with different palettes (such as most generic NPCs), but they only appear in the table with their default palette.
Line 205: Line 205:
  
 === B) Color changes in battle === === B) Color changes in battle ===
-One thing you must be made aware of and keep in mind is that battle sprites have color changes during battle. To be more specific, the outer line of characters glows from effects such as Haste, Protect, etc, and their skin tone changes due to Poison, Zombie, etc. These change the colors of the specified number on the palette:+One thing you must be made aware of and keep in mind is that battle sprites have color changes during battle. To be more specific, the outer line of characters glows from effects such as Haste, Protect, etc, and their skin tone changes due to Poison, Zombie, etc. These change the colors of the specified numbers on the palette:
  
 {{ff3:ff3us:tutorial:sprites:color-change.png}} {{ff3:ff3us:tutorial:sprites:color-change.png}}
Line 214: Line 214:
 The total number of colors usable for battle sprites actually isn't 16, but 12. Out of the 16 colors, 4 are masked by the system colors used in battle (finger cursor, damage font color, etc). Those last 4 colors can be used for NPCs without worrying since they do not appear in battle. There is, however, an [[https://www.ff6hacking.com/forums/thread-2689.html|Expanded palette Hack]] that can make use of those colors and allow you to edit them. The hack does not expand the sprite to have 16 colors, but it lets you choose which of the 12 you want to assign to the sprite. The total number of colors usable for battle sprites actually isn't 16, but 12. Out of the 16 colors, 4 are masked by the system colors used in battle (finger cursor, damage font color, etc). Those last 4 colors can be used for NPCs without worrying since they do not appear in battle. There is, however, an [[https://www.ff6hacking.com/forums/thread-2689.html|Expanded palette Hack]] that can make use of those colors and allow you to edit them. The hack does not expand the sprite to have 16 colors, but it lets you choose which of the 12 you want to assign to the sprite.
  
-However, using this hack will make the last four colors of a character using palette four or five display incorrectly on the save/store/character select screens.  This is because the last 4 colors of palette 4 are temporarily overwritten by the color of the status ailment on the menu screen, and the last 4 colors of palette 5 are used for the color of the cursor.+However, using this hack will make the last four colors of a character using palette four or five display incorrectly on the save/store/character select screens.  This is because the last 4 colors of palette 4 are temporarily overwritten by the color of the status ailments on the menu screen, and the last 4 colors of palette 5 are used for the color of the cursor.
  
 ==== 8. Portraits ==== ==== 8. Portraits ====
Line 228: Line 228:
 ==== 9. Conclusion ==== ==== 9. Conclusion ====
  
-Becoming a good FF6 spriter requires you to take a lot in consideration. However, many started from nothing and became good with time. It's more a matter of practice and knowing the basics, specifications, and exceptions before starting for real. This is what I tried to do with this tutorial. I might revise it a bit, but I covered most of the content I wanted to cover.+Becoming a good FF6 spriter requires you to take a lot into consideration. However, many started from nothing and became good with time. It's more a matter of practice and knowing the basics, specifications, and exceptions before starting for real. This is what I tried to do with this tutorial. I might revise it a bit, but I covered most of the content I wanted to cover.
  
 If you want to read more on the artistic part of Pixel Art, there is a bunch of external tutorial links available on this [[ff3:ff3us:tutorial:external|wiki page]]. Happy spriting! If you want to read more on the artistic part of Pixel Art, there is a bunch of external tutorial links available on this [[ff3:ff3us:tutorial:external|wiki page]]. Happy spriting!
Line 236: Line 236:
 [[ff3:ff3us:util:ff3se|FF3SE]]\\ [[ff3:ff3us:util:ff3se|FF3SE]]\\
 [[ff3:ff3us:util:ff3spriteed|FF3SpriteEd]]\\ [[ff3:ff3us:util:ff3spriteed|FF3SpriteEd]]\\
-{{ff3:ff3us:util:gfx:yy-chr20120407_en.zip|YY-CHR (C++)}}\\+[[rh:utilities:yychr|YY-CHR]]
  
  
  • ff3/ff3us/tutorial/sprites.1504317650.txt.gz
  • Last modified: 5 years ago
  • (external edit)