Pokémon Studio is a standalone software allowing people to create their monster taming game by:
- editing game data (creatures, items...),
- editing game settings,
- editing and translating game texts,
- updating Pokémon SDK (game engine & starter kit),
- managing maps and map links from Tiled to PSDK format through a dedicated converter called ts-tiled-converter,
- manage events (coming with version 3.0).
If you plan on using, modifying or doing anything related to Pokémon Studio. You must read and comply to the license.
You'll need to install NodeJS first: https://nodejs.org/en/download
We recommend using NVM (MacOS/Linux) or Volta (Windows) to manage easily your NodeJS version.
NodeJS version 22.17.0 is required
Next, clone the repo via git and install dependencies:
git clone [email protected]:PokemonWorkshop/PokemonStudio.git
cd PokemonStudio
git submodule update --init --recursive
npm iThe PSDK binaries are important, they let Studio start PSDK projects and perform operations over them.
To install them follow those steps:
-
Download the Pokémon SDK binary archive (Windows, Linux & MacOS M1+).
-
Extract the content of the archive to the psdk-binaries folder.
To make sure your files gets formatted properly, install the following extension: esbenp.prettier-vscode.
If the documents do not get formatted while saving (eg. " turning into ' in ts files) make sure you did enable format on save and that prettier is the Typescript/JS formatter.
Start the app in the dev environment:
npm startThis opens the Pokémon Studio App, if you can open/create and edit a project you're all set. Your next step is taking a look to CodeGuidelines.md to understand the project structure and what are the recommendations.
To package apps for the local platform:
npm run packageYou can translate Pokémon Studio application texts by using the convinient web-interface on the Pokémon Studio Weblate. There you can add new languages to the App and improve existing translations. For the technically more experienced, you can send a merge request.
Here are some Weblate statistics.
Before doing anything, please communicate on the Pokémon Workshop discord server so you're not wasting time on things that are already done.
In the package.json file, add a new line "xx": true at the end of the languages object. xx is the code name of the language (i.e. en for English, for assets/i18n/en.json).
You can set a locale to false if you don't want to be loaded at runtime.
If a locale is not listed in the languages object, the json file will be deleted so make sure to just set it to false if you want to keep it.
