
* This adds a **Light** object that can be added on the scene, with a customizable color and radius. * Add the **Light Obstacle** behavior to the object that must acts as obstacle (walls, etc...) to the lights. * You can customize the ambient color of the rest of the scene from almost white (useful to show light shadows) to entirely black (useful for horror/exploration games) or any color. * Use effects on the "Lighting" layer like "Kawase Blur" to achieve soft shadows.
GDevelop.js
This is the port of GDevelop core classes to JavaScript. This allow GDevelop Core libraries to run in a browser or on Node.js.
🎮 GDevelop is a full featured, cross-platform, open-source game development software requiring no programming skills. Download it on the official website.
How to build
👋 Usually if you're working on GDevelop editor or extensions in JavaScript, you don't need rebuilding GDevelop.js. If you want to make changes in C++ extensions or classes, read this section.
-
Make sure you have CMake 3.17+ (3.5+ should work on Linux/macOS) and Node.js installed.
-
Install Emscripten, as explained on the Emscripten installation instructions:
Linux/macOS | Windows |
---|---|
git clone https://github.com/juj/emsdk.git |
git clone https://github.com/juj/emsdk.git |
cd emsdk |
cd emsdk |
./emsdk update |
emsdk update |
./emsdk install 1.39.6 |
emsdk install 1.39.6 |
./emsdk activate 1.39.6 |
emsdk activate 1.39.6 |
source ./emsdk_env.sh |
emsdk_env.bat |
- Launch the build from GDevelop.js folder:
cd GDevelop.js
npm install
npm run build -- --dev
ℹ️ Output is created in /path/to/GD/Binaries/embuild/GDevelop.js/ and also copied to GDevelop 5 IDE (
newIDE
folder).
⏱ The linking (last step) of the build can be very long when
-- --dev
is not specified, so be sure to include it. Only remove it if you are about to deploy a new version.
- You can then launch GDevelop 5 that will use your build of GDevelop.js:
cd ..
cd newIDE/app
npm install
npm start
More information in GDevelop 5 readme.
Tests
npm test
About the internal steps of compilation
The npm build task:
- Creates
Binaries/embuild
directory, - Launches CMake inside to compile GDevelop with emconfigure to use Emscripten toolchain,
- Updates the glue.cpp and glue.js from Bindings.idl using Emscripten WebIDL Binder,
- Launches the compilation with
make
(orninja
on Windows with CMake 3.17+) (you can also compile using MinGW-32 usingnpm run build-with-MinGW
).
See the CMakeLists.txt for the arguments passed to the Emscripten linker.
Documentation
- The file Bindings.idl describes all the classes available in GDevelop.js.
- Refer to GDevelop documentation for detailed documentation of the original C++ classes.