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 (coming with 2.0 version),
- manage events (coming with 3.0 version).
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 easely your NodeJS version. We use the version 20 of NodeJS.
Next, clone the repo via git and install dependencies:
git clone [email protected]:PokemonWorkshop/PokemonStudio.git
cd PokemonStudio
git submodule update --init --recursive
npm i
The 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 start
This 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 package
You 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.