Gen 2 Poké Ball Gen 3 Poké Ball Gen 4 Poké Ball Gen 5 Poké Ball Universal Pokémon Randomizer ZX Gen 5 Poké Ball Gen 4 Poké Ball Gen 3 Poké Ball Gen 2 Poké Ball

Custom player graphics in Gen II

The Universal Pokémon Randomizer ZX (UPR) has support for custom player graphics in the Gen II games. This article explains the specifications for said customizable graphics, so you can add your own.

in-game footage of custom player graphics

General info

Perhaps because the Gen II games were originally set up to be playable on the original GameBoy, as well as the GameBoy color, all graphics have 4 colors: "white", "black", and two others. The UPR can detect the shades used in your images, so as long as your image contains no more than four colors, it will be fine. You do not have to index the palette.
For overworld sprites, the lightest color in the source image is used for "transparent", instead of "white".
The example below shows that both source images (colored and monochrome) give the same result when inserted into the game.

a colored source image or a monochrome source imagea screenshot of the resulting sprite in-game

What colors are actually used for an image/sprite depends on the palette loaded for it. The UPR doesn't have support for overwriting the player graphics palettes yet, so the colors of the source images don't matter. Instead, the player will be beige/red if they replace Chris/Ethan, and beige/blue if they replace Kris.

Graphic specifications

The player has a front image, a back image, a trainer card image, and sprites for walking, cycling, and fishing in the overworld.

The front image is 56x56 pixels, and the back image is 48x48 pixels. The trainer card image is 40x56 pixels, and normally just a cropped down version of the front image, with a triangle in the corner in Gold/Silver. The UPR knows how to crop down a front image to create a trainer card image, so you don't have to include the latter if you don't want to. Examples of valid front, back, and trainer card images below. The last trainer card image includes the aforementioned "triangle in the corner":

front image #1 front image #2 back image #1 back image #2 trainer card image #1 trainer card image #2

The walk sprite and bike sprite have identical specifications. They are both 16x96 pixels, split into 6 frames of 16x16 pixels each. Examples of valid walk and bike sprites below:

walk sprite #1 walk sprite #2 bike sprite #1 bike sprite #2

Like the walk and bike sprites, the fishing sprite has frames for the directions up/down/side. However, they only have 1 frame for each direction, and this frame only covers the bottom half of what is seen on screen. The top half is taken from the walk sprite frame facing the appropriate direction.

walk sprite with the part seen in screenshot highlighted + fishing sprite with the part seen in screenshot highlightedscreenshot of the player fishing

The UPR can read fishing sprites in two "modes". With the "separate" mode, each frame will be read from a separate 8x16 pixel image. With the "combined" mode, all frames will be read from a single 16x24 pixel image. Examples of valid fishing sprites below:

fishing sprite separate #1-front fishing sprite separate #1-back fishing sprite separate #1-side, fishing sprite separate #2-front fishing sprite separate #2-back fishing sprite separate #2-side, fishing sprite combined #1 fishing sprite combined #2

List of tags

Key Accepted values Usage
FishSpriteMode Separate or Combined Controls whether the fishing sprite will be read from 3 separate images (one for each frame), or a single image.
FishFrontSprite Image file name The file name of the south-facing fishing sprite frame image. Used only if FishSpriteMode is "Separate".
FishBackSprite Image file name The file name of the north-facing fishing sprite frame image. Used only if FishSpriteMode is "Separate".
FishSideSprite Image file name The file name of the east/west-facing fishing sprite frame image. Used only if FishSpriteMode is "Separate".


Other/unsupported graphics

There is no support for changing the fishing rod. As mentioned in the "General info" section, there is yet no support for overwriting the player graphics palettes.

the fishing rod sprite