git clone https://github.com/4ian/GDevelop.git cd GDevelop/newIDE/app npm install # or yarn
npm start # or yarn start
This will open the app in your web browser.
Images resources, GDJS Runtime, extensions will be copied in resources, and libGD.js will be downloaded automatically. If you wish, you can build libGD.js by yourself (useful if you modified GDevelop native code like extensions).
Note for Linux: If you get an error message that looks like this:
Error: watch GD/newIDE/app/some/file ENOSPCthen follow the instructions here to fix.
Development of the standalone app
You can run the standalone app with Electron. Make sure that you've launched
npm start (or
yarn start) in the
app folder before (see above) and keep it running (in development, the app is served from a local server, even for the standalone app).
Note for Windows: With Node.js 14 or older, there is an error related to
git-sh-setupwhen running npm install. To solve this problem: add this folder to your path environment variable OR run
npm installin newIDE/electron-app/app before npm install in newIDE/electron-app.
cd newIDE/app && npm start # Be sure to have this running in another terminal, before the rest! # In a new terminal: cd newIDE/electron-app npm install # or yarn npm run start # or yarn start
Quick Install and Run
There is a script file that automates cloning this repository, building the IDE and running it:
- For Windows: You can download the batch script here and save it to where you want GDevelop to be cloned, then simply run it.
Development of UI components
You can run a Storybook that is used as a playground for rapid UI component development and testing:
cd newIDE/app npm run storybook # or yarn storybook
ℹ️When creating a Pull Request/pushing a commit, a CI will build the Storybook for you and host it temporarily to allow to test components directly from your browser. Navigate to
http://gdevelop-storybook.s3-website-us-east-1.amazonaws.com/YOUR_BRANCH/latest/index.htmlto see it.
Unit tests, type checking and auto-formatting of the code can be launched with these commands:
cd newIDE/app npm run test # or yarn test npm run flow # or yarn flow npm run format # or yarn format
It's pretty easy to create new themes. Check the README about themes
Development of the game engine or extensions.
Make sure to have the standalone app running with Electron.
If you want to create/modify extensions, check the README about extensions for step-by-step explanations to get started in 5 minutes.
If you modify any file while the IDE is running with Electron, a watcher will automatically import your changes (look at the console to be sure).
You can then launch a preview in GDevelop (again, be sure to be using the standalone app running with Electron to be sure to have your changes reflected immediately).
If you deactivated the watcher in preferences, run the
import-GDJS-Runtime.jsscript manually (
node import-GDJS-Runtime.js) after every change, before launching a preview.
Recommended tools for development
Testing and developing with the cloud storage providers (Google Drive, Dropbox, OneDrive, etc...)
Cloud storage providers are set up with development keys when you're running GDevelop in development mode. For these, to work, you must execute the web-app not from the traditional
http://localhost:3000 origin, but from
- Set up a redirection in your hosts file, that should look like:
- Launch then the web app from
This is only necessary if you want to have cloud storage providers working in development. If not done, GDevelop will simply display an error while trying to use them.
(Optional) Building and deploying the standalone app
🖐This section is only for maintainers that want to deploy the "official app" on the GDevelop website. If you're working on contributions for GDevelop, you won't need it. You can download "Nightly Builds" of GDevelop here too.
First, update the version number in
newIDE/electron-app/app/package.json and merge the change to master.
Then, wait for the CIs (CircleCI & AppVeyor) to build the artifacts needed for the release (MacOS+Linux and Windows respectively).
Once finished, you can download them (use
newIDE/app/scripts/download-all-build-artifacts.js script) and upload them to the new Github release!
Note: You can also build manually a desktop version locally by running
npm run buildin
cd newIDE/web-app yarn deploy # or npm run deploy
Note: this will also upload the game engine (GDJS) and extension sources, needed by the IDE and purge the CloudFlare cache.
(Optional) Updating translations
Extract translations from the editor, as well as GDevelop Core and extensions:
cd newIDE/app yarn extract-all-translations # or npm run extract-all-translations
This will create
scripts). Upload both of them to the GDevelop Crowdin project.
To update translations, build and download the translations from Crowdin. Extract everything in
newIDE/app/src/locales. And run:
yarn compile-translations # or npm run compile-translations
3) How to contribute?
The editor, the game engine and extensions are always in development. Your contribution is welcome!
You can contribute by picking anything here or anything that you think is missing or could be improved in GD5! If you don't know how to start, it's a good idea to play a bit with the editor and see if there is something that is unavailable and that you can add or fix.
To submit your changes, you have to first create a Fork on GitHub (use the Fork button on the top right), then create a Pull Request.
Finally, make sure that the tests pass (refer to this README and the game engine README for learning how to run tests).