Guides
Core Mechanics
Game Features
Collectibles & Special Pokémon
Progression & Walkthrough
Competitive Strategy
Advanced Strategy
Explains the color variation mechanic in Polished Crystal, where each Pokémon's DVs (IVs) subtly shift their sprite palette colors. Learn how HP affects red, Attack affects green, and more.
Have you caught two of the same Pokémon and noticed their colors look slightly different? You're not imagining it!
Color Variation is a toggleable feature (enabled by default) that makes each Pokémon's sprite colors unique based on their DVs (the Polished Crystal term for IVs). Two Woopers with different stats will have subtly different blue tones.
This mechanic is inspired by Pokémon Stadium, which had similar color variations for Pokémon.
Source: engine/gfx/vary_colors.asm
No. Color variation is an intentional feature. If you see two Pokémon of the same species with slightly different hues, it's working as designed.
This is not:
Each Pokémon sprite palette has two main colors: a "lite" (highlight) color and a "dark" (shadow) color. Each color has red, green, and blue channels.
Your Pokémon's six DVs directly control these six color channels:
| DV | Controls |
|---|---|
HP |
Light Red |
Attack | Light Green |
Defense | Light Blue |
Speed | Dark Red |
Sp. Atk | Dark Green |
Sp. Def | Dark Blue |
Each DV (0–15) shifts its corresponding color channel by a small amount:
shift = (DV & 0b0011) - ((DV & 0b1100) >> 2)
This results in shifts of approximately ±3 color units on a 0–31 RGB scale. The game clamps values to stay within valid bounds.
In practice, this means:
Source: engine/gfx/vary_colors.asm
The color shifts are intentionally subtle. You won't see a blue Pikachu, but you might notice:
The effect is most noticeable when comparing two Pokémon side by side.
When starting a new game, you can disable color variation in the Initial Options Menu (Page 2).
Color variation is enabled by default.
Source: data/options/default_options.asm
Color variation applies to both regular and shiny Pokémon. A shiny Pokémon will have its shiny palette varied by DVs, so two shiny Pokémon of the same species may also look slightly different.
For those interested in the implementation:
wColorVaryDVs stores the 3 DV bytes used for calculationswColorVarySpecies, wColorVaryForm, and wColorVaryShiny track contextVaryColorsByDVs function applies all six channel modificationsVaryRedByDV, VaryGreenByDV, VaryBlueByDV) handle each channelSource: ram/wramx.asm, engine/gfx/vary_colors.asm
Their DVs are different, which causes their color channels to shift differently. This is color variation working as intended.
Only if they have identical HP, Attack, Defense, Speed, Sp. Atk, and Sp. Def DVs. Since DVs are randomly generated, this is unlikely.
No. Color variation is purely cosmetic and has no impact on battles, stats, or any game mechanics.
Pokémon Stadium had a similar feature. Modern mainline games do not have DV-based color variation, though Pokémon GO has size variations.