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 pokemon-studio
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 binary archive from
- Windows: https://www.mediafire.com/file/4lzb21b5tqte8ya/psdk-binaries.7z/file
- MacOS: https://www.mediafire.com/file/0vnfqx5jkh0adwu/psdk-binaries-macos-arm64.7z/file (Note, this file needs to be updated with new dependencies)
- Linux: Not done yet
- Extract the content of the archive to the root of this project
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
Before doing anything, please communicate on the Pokémon Workshop discord server so you're not wasting time on things that are already done.
To start with the translations, you can run the script: assets\i18n\json2csv.rb
This script will create a translations.csv
file, you can replace your_language
with the language code of your language (eg. ko for Korean).
Once you're done with the translations, the script assets/i18n/csv2json.rb
will convert translations.csv
to the respective i18n json files. The script ask you about location and locale of the translations.
In each language directory the index.js
file is used to group all the .json files in a single export, don't forget to build it when adding a new language (this might as simple as copying it from another translation folder).
Note
We're planning on using Weblate to make sure Pokémon Studio localization will be way easier to do.
This section assumes you did what was mentioned above.
In the src\i18n.ts
file, add a new line import translationXX from '../assets/i18n/xx';
around the 8th one where:
XX
if the capitalized code name of the language (EN
for English),xx
the same code name but in lower case (en
for English).
In the same file, add a new line xx: translationXX
, around the 28th. Same logic for XX & xx.