Resource Pokemon Showdown! Implementation/Handoff Guide

Quanyails

On sabbatical!
is a Top Artist Alumnusis a Community Leader Alumnusis a Community Contributor Alumnusis a CAP Contributor Alumnus
Changes must be made to the following resources for a given CAP to be implemented:

ResourceWhat it doesExamples of codeWho should receive this data
Pokemon Showdown server repo
  • Makes the Pokemon playable
  • Makes the Pokemon show up on the Showdown dex
Marty/dhelmise
If unavailable, please ask in the Smogon Development Discord server for help.
Pokemon Showdown client repo
  • Makes sprites visible
  • Depends on server-side data
In order of preference:
Marty/dhelmise, chaos, Zarel
Smogon sprites database repo
  • :pokemon: forum integration
  • Depends on server-side data + # of pre-evos to be defined (determines location in sprite sheet)
  • Generates Showdown icon sprite sheet
Submitting a pull request to this repo is optional; as long as the sprites are submitted in the attached format, this part can be taken care of.

There is post-processing done on the sprites in order to upload to this repo; trimming (preserving displacement from center for static sprites), optimizing with the image tools in the repo, and renaming to the expected stable id with any appropriate suffixes found in the README.
In order of preference:
Marty, chaos
Pokemon Showdown sprites directory
  • Hosts sprite data
Find attached to this post an example of a complete sprite handoff for an initial CAP implementation. Renders are not required at this stage, but when submitted later please also follow the ani/ directory structure outlined here -->
You generally want to update the following:

Gen VI renders (any reasonable size, trimmed) (optional for a v1.0):
  • ani/
  • ani-back/
  • ani-shiny/
  • ani-back-shiny/
Gen. V sprites or Gen. VI static renders (120x120) (required):
  • dex/
  • dex-shiny/
Gen. V sprites (96x96) (required):
  • gen5/
  • gen5-back/
  • gen5-shiny/
  • gen5-back-shiny/
Submit sprites with the proper folder/file names in a ZIP to:
Tag one of these users, in order of preference:
Marty, chaos, Zarel
Pokemon Showdown audio directory
  • Hosts cries data
You generally want to update the following directories:
  • cries/
Submit audio with the proper file name to:
Tag one of these users, in order of preference:
Marty, chaos, Zarel

When sharing code/assets with a Showdown! developer:
  • Share the data in the same file format as the above commits/directory layout.
  • Share the data at least 3 days before they need to be used. This gives us time to check that the implementation is correct and avoids time crunches.
Example timeline:
  • 7 days before the inaugural battle, invite the PS! dev to the #cap-staff private channel on the CAP Discord server.
  • 5 days before the inaugural battle, have the required PS! data prepared in the formats listed above and review it.
  • 3 days before the inaugural battle, send the PS! data to the dev.
CAP implementation details

Data
  • name
  • types
  • gender ratio
    • male only
    • M: 0.875, F: 0.125
    • M: 0.75, F: 0.25
    • leave this field blank for 50/50
    • M: 0.25, F: 0.75
    • M: 0.125, F: 0.875
    • female only
    • genderless
  • base stats: listed as HP / Attack / Defense / Sp. Atk / Sp. Def / Speed
  • Abilities: listed as slot 1 / [slot 2] / [Hidden]
  • height (m)
  • weight (kg)
    • height and weight can go to one decimal place
  • dex color
    • Red
    • Blue
    • Yellow
    • Green
    • Black
    • Brown
    • Purple
    • Gray
    • White
    • Pink
  • egg groups
  • # of prevos (must not be changed after this CAP is implemented)
Please include all of the above and link the latest movepool in the "CAP XX So Far" thread. No one should have to look through two subforums to find the learnset.


Sprites

At minimum PS requires front and back, Shiny and non-Shiny Gen 5-style sprites to display in battles. These should be submitted as separate 96x96 PNG files. Ideally they are actually a winning submission and not the minisprite blown up to fit 96x96 and flipped horizontally for the back sprite. Browser caches are annoyingly persistent and users will still be seeing whatever is uploaded first, sometimes months later.

The minisprite should be submitted as a 40x30 PNG. It is then committed to the Smogon sprites repository (trimmed while preserving the actual sprite's displacement from center), which generates the sprite sheet for PS and is used to add :pokemonname: functionality to the forums.

For sprites that are created later, such as models and dex sprites, they should be submitted as a zip with the same directory structure that PS uses, where each filename is just the Pokemon's name in lowercase.


Cries

An MP3 file, preferably no larger than 26 KB.
 

Attachments

Back
Top