Commit Graph

233 Commits

Author SHA1 Message Date
D8H f76a834284 Optimize simple tile maps with huge dimensions (#8202)
- Huge tile maps are faster to create and modify at runtime
2026-02-10 11:08:02 +01:00
Florian Rival 48ce073773 Fix 2D objects not rendering properly in the 3D editor when a layer had no 3D objects 2026-01-24 17:36:55 +01:00
Florian Rival 533422588a Fix rotated 2D+3D layers with no 3D objects not rendered properly
- Fix #8109
2026-01-08 17:55:17 +01:00
ViktorVovk 1d5e06ca35 Fix loading of resources not properly retried when a resource can't be loaded (for example: network error) (#8060)
* Typically, when resources are downloaded from a CDN, then sometimes, for
various reasons, a request for a resource may fail. In such cases, it’s
very useful to have retry for avoiding intermittent issues.
2026-01-06 12:37:04 +01:00
Florian Rival f7a821f980 Add categories to classes for game engine documentation (#8076) 2025-12-18 17:12:07 +01:00
Florian Rival a89eb4d50d Fix 3D editor crashes/flashes when adding a new object or extension (#8052)
* When adding a new object type, the hot reload could break if a
previous hot reload was done without the script files (typically, when
adding an object from an already used type)
* When adding a new object or anything needing a loading screen, the
loading screen and the in-game editor were fighting for the rendering.
* Also fix issues when adding multiple objects from a pack
2025-12-10 17:15:48 +01:00
Florian Rival 1490d5c8be Add right/middle click pointer lock to in-game editor (#7993)
Don't show in changelog
2025-11-18 20:25:39 +01:00
Florian Rival d292d5f74c Fix hot-reloading of layer 3D near/far plane, FOV and 2D drawing distance 2025-11-17 19:02:15 +01:00
D8H ac706843f6 Fix Bitmap texts not being displayed after a first unload (#7977) 2025-11-13 14:04:22 +01:00
Florian Rival 3846a1553b Experimental in-game editor (#7974)
Co-authored-by: Davy Hélard <davy.helard@gmail.com>

Don't show in changelog
2025-11-11 18:22:37 +01:00
Aurélien Vivet 9fa0812305 Fix .fnt loading for files generated by some tools (#7909)
- A new "header" has been added in every .fnt generated with the common BitmapFont generator at http://snowb.org/. They will now be properly loaded.
2025-10-16 09:44:34 +02:00
D8H 7c4617da99 Add a skybox effect (#7843) 2025-09-23 21:14:44 +02:00
Florian Rival 5e3dfb0e9c Add condition to check if a key was just pressed (#7808) 2025-09-04 17:32:25 +02:00
D8H 0cbd6e2fe9 Fix cached materials not being cleared when unloading resources (#7780) 2025-08-11 15:50:22 +02:00
D8H ee435f7081 Fix the tint action of Sprite to handle floating point color components (#7772) 2025-08-08 15:57:19 +02:00
ViktorVovk 5c71a4da56 Allow to unload scene resources when a scene is exited (#7381)
* This adds two new settings, available in the Project Properties and in the Scene Properties dialog, to allow to specify the strategy for preloading resources of the scenes and unloading them. By default, a game will preload in background the resources of all scenes. It will never unload these resources (so scene switching is fast).
* You can now choose to unload the resources of a scene when the scene is left using the "Resources unloading" field. If the scene is launched again later, it will load its resources again.
* You can also choose to change the preloading to disable it for all scenes (by modifying the setting in the project properties) or enable it/disable it on a scene by scene basis. This can be useful for large or modular games where you anticipate the player to only play some scenes, or if you want to reduce the resources that needs to be loaded on a web game.
2025-07-02 16:09:52 +02:00
Neyl dff99b79cb Add basic support for shadows (#7592)
* Shadows are rendered for 3D objects when a **Directional Light** is set up on your scene layer - which is now the case by default for new games and new layers: they will have both a Directional Light and an Ambient Light. This renders shadows like it could be done by the sun.
* 3D models and 3D cubes are now casting shadows. To see them, you must ensure you the "Standard" material type in their configuration (and not the "Basic", which means they don't react to light) and be sure to enable "Shadow casting" and "Shadow receiving". This is done by default for new objects you create or import from the Asset Store.
* Shadows are rendered around the camera on an area that is large enough for most games while giving still good quality results. This means they should work out of the box and be adapted to most games, including large maps. 
  You can adapt the quality of shadows, intensity of the light (and so shadows), the size of the rendered area by editing the Effects of the layer in the scene (as for other effects).
2025-07-02 15:49:26 +02:00
D8H 9467caf1e9 Fix changing of variant not being applied at hot-reload (#7666) 2025-06-24 10:41:57 +02:00
D8H a79e87dc7a Fix 3D sprites being all black (#7459) 2025-03-10 13:06:05 +01:00
D8H 3541d356e0 Fix text alignment at runtime (#7432) 2025-02-27 10:58:18 +01:00
inspace 7ba7c220e9 Ensure cursor position is correct when a mouse down event is detected (#7412)
Only show in developer changelog
2025-02-24 11:30:36 +01:00
D8H 752d047464 Upgrade GDJS to Prettier 3.4.2 (#7398)
- Don't show in changelog
2025-02-12 18:50:02 +01:00
D8H 7a21f9533e Upgrade to TypeScript 5.4.5 (#7394)
- Don't show in changelog
2025-02-12 17:51:36 +01:00
Clément Pasteau 03eca4de4b Upgrade pixi to 7.4.2 (#7190) 2025-02-11 14:20:59 +01:00
Neyl b6e186e775 Tint color for 3D cube (#7354)
add a tint color property for 3D cube.
2025-02-06 11:10:39 +01:00
Florian Rival 02d44bbba4 Remove unused API method to initialize game rendering [skip ci] (#7235) 2024-12-18 18:16:13 +01:00
Dima Lifanchuk ff1086ce3b Expose initializeRenderers and initializeCanvas to allow initializing the game rendering manually (#7224) 2024-12-13 16:01:18 +01:00
Florian Rival b9b09c1fef Use a better looking invalid/missing texture placeholder (#7218) 2024-12-02 17:26:57 +01:00
danvervlad 35fd7e972b Allow to provide a canvas to be used for the game rendering instead of creating a new one (#7199)
Only show in developer changelog
2024-11-29 17:51:12 +01:00
Florian Rival ac6b64ba9b Add an option to extend width or height and never crop the game area (#7177) 2024-11-20 16:53:47 +01:00
danvervlad 1172326ae0 Add "dispose" method to RuntimeGame and various classes (#7118)
* This allows to fully release resources, textures and anything else that is linked to a gdjs.RuntimeGame. This can be useful if multiple games must be loaded/unloaded/changed in a single web page.

Only show in developer changelog
2024-11-12 17:19:50 +01:00
Clément Pasteau c620ed75b3 Take automatic game screenshots in Quick Customization previews (#7116) 2024-10-31 11:33:58 +01:00
AlexandreS 40954bf497 Fix some crashes happening in preview (#6988) 2024-09-25 17:26:01 +02:00
AlexandreS 364ec2ecfb Fix crashes in Preview due to ill-formed color values (#6980)
- Make color parsing from string more robust (issues when setting colors in Sprite, BBText, Particle emitter and effects with colors)
- Allow use of hex strings and shorthand hex strings in color fields
- Remove UI glitch when switching effect type and both effects have parameters with identical names
2024-09-23 09:21:37 +02:00
Clément Pasteau dc45f3dae5 Allow changing Opacity & Flip directly in Instance Properties Panel (#6935)
* This allows playing around with instances directly on the canvas instead of relying on the actions to flip or change opacity and needing to start a preview
2024-09-13 13:39:03 +02:00
AlexandreS 02d40a1d52 Fix: Catch errors when handling electron browser window (#6944) 2024-09-11 09:13:40 +02:00
D8H a4106b7f79 Add an option in objects context menu to quickly swap assets of Sprites and 3D models (#6840)
* This is perfect for quickly prototyping or trying new game art
* Animation of the object that are missing in the asset are replaced by a copy of the 1st asset animation. 3D model volume is adjusted to stay the same while keeping asset proportions.
2024-08-09 13:40:26 +02:00
Clément Pasteau 3c5fee0535 Add experimental support for multiplayer games ("GDevelop Multiplayer") (#6613) 2024-06-07 14:12:58 +02:00
D8H 4ee43202e9 Fix sprite with resource tests (#6479)
- Don't show in changelog
2024-03-26 15:34:31 +01:00
D8H a3696ca9d1 Allow custom objects to use animations (#6426) 2024-03-25 10:47:28 +01:00
D8H 3568a58019 Allow custom objects to be used as 3D objects (#6369)
- Custom objects like the 3D particle emitter can be used as any other 3D object
  - with the same set of actions and conditions thanks to the 3D capability
  - in the scene editor, their Z position and 3D rotations can be changed
- Fix child creation in `doStepPostEvent` function
2024-03-05 13:51:41 +01:00
AlexandreS e345b2726f Fix URL opening action on iOS (#6384) 2024-02-26 12:04:52 +01:00
D8H 901f84daaa Add bloom and color effects for 3D layers (#6228)
- Add 3D Effects for color adjustment and bloom.
- A lower quality anti-aliasing is used when post-processing is enable (SMAA instead of MSAA).
- Upgrade to Three.js 0.160.0.
2024-02-16 14:12:46 +01:00
D8H 90b5f7a322 Fix the orthographic camera zoom update and its default Z position (#6288) 2024-01-29 11:17:57 +01:00
D8H d44a1c3537 Generate particle textures only once (#6280) 2024-01-26 14:33:52 +01:00
D8H 7654883cb1 Allow to use orthographic camera in 3D layers (#6187) 2024-01-15 23:05:23 +01:00
D8H 7b1c340ad0 Fix game crashing at loading when video files are missing (#6155) 2024-01-08 12:08:48 +01:00
D8H fac710780b Fix a flash of 1 black frame the first time a scene is started (#6048) 2023-12-11 14:41:27 +01:00
D8H be813a0271 Start games without any loading screen if assets are ready before half the fade-in (#6025)
- This only works if the watermark is enabled.
- It allows players to start a game a 2nd time almost instantly.
2023-12-07 15:21:30 +01:00
D8H 423f15b513 Add actions to tween effect properties (#5993) 2023-12-04 15:25:40 +01:00