- The warning about a custom object with no child in it ("it renders
nothing") fired on ParticleEmitter3D, Light3D or Text3D objects, which
are drawn by the JavaScript code of their extension (with Three.js) and
legitimately have no child. Skip it when the code replaced the renderer
of the object, or added something to draw (a mesh, a sprite, a
graphics...) in the stock renderer's container.
- The game-side wall-clock watchdog did not exclude the time the page
spent hidden (frozen by the browser), unlike the guards of the stepping
loop: a test run in a background tab or a covered window was reported as
a plain "timeout" instead of being given up on as paused by the editor.
Exclude it, and tell about that time in the timeout message.
- Reject a non-string object name with a clear error instead of asking
the scene for "[object Object]" (which registered a phantom object list
and silently found nothing), the mistake `lookTowardWithMouseDelta`
invites when the target is passed first.
GDevelop JavaScript Platform (HTML5 game engine)
GDevelop JavaScript Platform (GDJS) is the game engine for making HTML5/Javascript based games with GDevelop.
📚 Game developer, searching for the documentation? Go to the GDJS Runtime (game engine) documentation.
1) Installation 💻
To do changes in the game engine or create extensions, install the development version (click here to learn more).
2) Development 🤓
GDJS is composed of two parts:
- the JavaScript game engine (Runtime folder), called GDJS Runtime.
- the C++ part exposing GDJS to GDevelop IDE (GDJS folder), including the Exporter and classes doing transpilation from events to JavaScript, called GDJS Platform.
GDJS Runtime (game engine)
The game engine is in the Runtime folder. If you want to work on the engine directly, follow the GDevelop 5 README about the development of the game engine.
-
To use the game engine, you can look into the GDJS Runtime (game engine) documentation.
-
To run tests for the game engine, go to
GDJS/tests, runnpm installandnpm test. More information in the README for the tests. -
To launch type checking with TypeScript, run
npm installandnpm run check-typesinGDJSfolder.
Building GDJS Runtime
To build the GDJS Runtime, run npm run build in the GDJS folder.
Build Options:
- Production build (default):
npm run build- builds with minification enabled - Debug build:
npm run build -- --debug- builds without minification for easier debugging - Custom output path:
npm run build -- --out=/path/to/output- specify custom output directory
Examples:
# Standard production build
npm run build
# Debug build for development (no minification)
npm run build -- --debug
# Debug build with custom output path
npm run build -- --debug --out=./debug-build
GDJS Platform (exporters, code generation...)
Check the GDJS Platform documentation or the full GDevelop developers documentation.
3) How to contribute 😎
Any contribution is welcome! Whether you want to submit a bug report, a feature request or any pull request to add a feature, do not hesitate to get in touch.
-
Follow the Development section of the README to set up GDevelop and start modifying either the editor or the game engine/extensions.
-
To submit your changes, you have first to create a Fork on GitHub (use the Fork button on the top right), then create a Pull Request.
License
GDJS is distributed under the MIT license: see LICENSE.md for more information.