RPG Paper Maker is a game making engine, free for non commercial use, allowing you to create a 3D universe with many 2D sprites and even 3D objects using a simple interface for all available platforms: Web browser, Windows, Linux, and MacOS.
The technologies used for this engine are: React, TS, HTML/CSS, JSON, three.js, Howler.js, Electron.js.
The organization contains some independent repositories. If you want to fork several repositories, you should put them all in the same parent folder root.
- RPG-Paper-Maker is the core Game Editor Software (RPG Paper Maker). It is entirely written in
TSand usesReact. It is managing all the.jsonfiles related to a RPM game. - Game-Scripts is all the Game Scripts used to actually play to a game in RPG Paper Maker. It uses
TS, HTML/CSS, JSON, three.js, Howler.js, Electron.js. It is also interpreting all thejsonfiles that are generated by the RPG Paper Maker engine. - Game-Scripts-Build is the Game Scripts from previous repo but the one generated in
JSso it can be actually used in a browser and editable by any user in real-time without compiling. - Basic-Ressources contains all the Basic Ressources assets that the users can use for there projects (pictures, musics...).
- Dependencies contains all the dynamic libraries needed for games and the engine for working in standalone. It also contains all the binaries executable.
- Updater is the updater that installs and check for RPG Paper Maker updates. It is what users are running before actually opening RPG Paper Maker.
- PaperMaker-Haxe is a Haxe version of game scripts. It it not updated and might become deprecated if not maintained quickly.
- (deprecated) Game-documentation is generating game scripts documentation for users.
- (deprecated) Releases-Provider is Python based scripts used to generate new releases.
- (deprecated) Release-Game is an automatic way to create RPG Paper Maker release.
- Node.js
- IDE: we strongly recommend you to use Visual Studio Code, and also install the ESLint extensions. For prettier: you can enable the format on save by: opening VSCode, CTRL + SHIFT + P > "Preferences: Open User Settings: (JSON)", and add this in the
settings.json:
"editor.formatOnSave": true,
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
}- For Windows users only: we recommend to use Git for Windows and use GIT BASH functionnality to run all the next following commands (right click in desired folder and click on Git Bash). You can also use default Windows PowerShell.
- Create a folder that will contain all your RPM cloned repos (for now we'll just use this one)
mkdir RPM
cd ./RPM- Clone the project and go to this repo
clone https://github.com/RPG-Paper-Maker/RPG-Paper-Maker.git
cd ./RPG-Paper-Maker- Install node dependencies
npm install- Update the modules (get other independent repos data needed for the engine to run like default assets, game scripts...). You can do it anytime before running the project if any other repos was updated (localy or in git origin)
npm run update-mods- Run the project
npm startThis should open the project in http://localhost:3000/.
Make sure to build the project before:
npm run buildThen run electron:
npm run electronThank you for considering contributing to the RPG Paper Maker! Just see our Contributing Guide.
In order to ensure that the RPG Paper Maker Community is welcoming to all, please review and abide by the Code of Conduct.