github 4ian/GDevelop v5.6.284
5.6.284

4 hours ago

๐Ÿ”๏ธ New 3D terrain, grass and water objects

The 3D terrain with grass and 3D water

A new experimental 3D terrain object is now available. Try it in this new example.

  • You can sculpt the terrain directly in the editor and also paint it.
  • Up to 4 different textures and/or colors, with support for normal maps.
  • Terrain can be edited during the game with actions.
  • Randomized terrain can also be generated.
  • Wetness and custom color can be painted.
  • Terrain can be used with 3D physics (just add the 3D Physics behavior to your terrain) and the 3D "NavMesh" based pathfinding.

The terrain comes with additional objects to draw maps easily and efficiently:

  • Fast rendering of grass is available as a "Terrain Grass" object. The grass will either be displayed where it's placed in the scene when used alone, or will position itself on the terrain if it's positioned above one or more 3D terrains.
  • Vegetation, forest, rocks and large number of medium to small objects can be drawn using the "Scattered models" object. They will be displayed on the scene on the area of the instance, and will sit on the terrain if positioned above one. 3D Physics and navmesh will properly avoid instances drawn on the level.

A new 3D water object is also available, allowing to render semi-transparent, realistic looking water.

โ„น๏ธ These objects are new and provided, like many other features of GDevelop like 3D lights and 3D particles, through reusable extensions. Be sure to regularly check if there are new versions available.

๐ŸŽ‡ Upgraded 3D rendering with improved shadows and new effects (ambient occlusion...)

Depth of Field, Ambient Occlusion, Bloom, used on an example with the new terrain

The 3D rendering (based on Three.js) was upgraded with:

  • Better quality shadows when using a direction light ("sun" light). Be sure to upgrade the rendering mode to "Fitted to camera view" in existing games to benefit from it.
  • New 3D effects: faster bloom, depth of field, ambient occlusion, tone mapping. You can try them in the same example as the 3D terrain here.
  • Lights are now using realistic, physics based formula for their rendering.

โš ๏ธ Existing games must upgrade the Light3D extension to v2.0. You must then adapt the intensity and decay of the point and spot lights, usually by increasing the light intensity by at least 10.
This is because lights are now using a realistic, physics based formula for their rendering.
Note that you can upgrade Light3D to v2.0 and it will still work in previous GDevelop versions.

โš ๏ธ Any game using extensions using Three.js/3D rendering should upgrade them to the latest version. If you are the author of such an extension, see here how to upgrade.

๐Ÿ‚ Custom easings for Tweens

Editing a custom easing function

Custom "cubic-bezier" easing, as well as custom "easing functions" with a name that can be reused in the project, are now available for the Tween extension (thanks @ViktorVovk!).

  • Tweens can now use a custom easing curve, in addition to the built-in named easings (linear, easeInQuad, ...). A custom curve is written like in CSS: "cubic-bezier(x1,y1,x2,y2)".
  • The easing field gets a Custom curve... entry that opens a visual curve editor.
  • New custom easing can be named and reused across the project (or across an extension)

๐ŸŽฎ New starters and examples games

New starters have been added, including a good basis to build your own FNAF-like game.

FNAF Minimalist GTA-like GTA-like with a map

Existing 3D starters will be upgraded progressively to take advantage of the 3D terrain object, grass and new starters will be built with larger maps and using new objects like the new "Scattered models" to easily paint forest, vegetation and foliage.

๐Ÿ’ Improvements

  • 3D editor improvements:
    • Improve dragging in the 3D editor after interacting with a panel
    • Toolbars are now centered in the available area
    • Improve 3D rotation of multiple instances
    • Automatically disable 3D rendering for devices without WebGL2 support
    • Make 3D editor launch and multiple reloads more robust.
    • Also keep the in-game editor working when the code of an extension throws. The errors can now be displayed without having to open the developer console.
    • Properly consider cursor position when copying an object in 3D.
    • Frame the selection in the visible area between panels when focusing on it in the 3D editor.
  • Speed up collision conditions between many objects: gain can be 40-60% on some games.
  • UX Improvements
    • Improve variable parameter autocompletion
    • Fix resource selectors being paired on the same line for skyboxes, reducing visibility
    • Fix deselecting a layer after opening it
    • Improve instructions wordings to ease up search
    • Allow selecting 3D objects behind unselectable objects in the editor
    • Better indicator for coordinates on 2D canvas
  • Make the depth of field blur effect 2x faster
  • Improve directional light shadows rendering (improved distance and quality):
    • Ensure you use "Fitted to camera view" in your directional settings to benefit from this. This is the new default.
    • Shadows are no longer rendered by chunks when they are far from the camera (they are smoothly stopping)
    • The upgraded rendering allows to specify the maximum distance of the shadow from the camera. In the very vast majority of cases, this allows shadows to be rendered further than before with a quality as good if not better.
  • Add Ambient Occlusion, Depth-of-field, faster bloom and tone mapping for 3D games.
  • Agent improvement:
    • Allow edition by the agent of large JS code blocks
    • Allow the AI agent to read and write external events.
    • Better AI credits information message for free users
  • Add environment light intensity and background brightness to the skybox: some skyboxes give too much light, or are too bright in the background. You can now tweak these:
    • "Environment light intensity" scales the light given by the skybox.
    • "Background brightness" scales the brightness of the skybox images.
      Both are 1 by default, so existing scenes are unchanged.
  • Upgrade to Three.js 0.185.1
    • Point lights and spot lights now uses a realistic decay. It's not possible to find the exact same result as before, but you can tweak the intensity and the decay properties. Hemisphere lights, directional lights and ambient lights still work the same as before.
    • The 3D particle emitter must be updated to the last version to handle the new 3D renderer world scale property.
    • Ensure any 3D extension you use is also updated to the latest version.
  • Add effects via a dedicated dialog - including pre-made effects from the store

โš™๏ธ Extensions

  • [Experimental] [Advanced 3D Features] Maintains compatibility with previous and new GDevelop release
    • Added the "โ†—๏ธCheck relative direction to 3D objects" condition.
  • [Reviewed] [3D light] Use the Three.js r185 light falloff on every GDevelop version: point and spot lights now fade with a physically based falloff.
    This is a breaking change: lights made for the previous versions need a higher intensity (and possibly a lower decay).
  • [Reviewed] [3D light] Fix lights dropping out when a frame is rendered without a game step
  • [Reviewed] [3D particle emitter] Fix the emission zone radius and relative particles with the 3D renderer world scale
  • [Foliage swaying 3D] Precompile foliage shaders to avoid stutters โ€ฆ
    Each foliage material's shaders are now compiled ahead of time, for both plain and instanced meshes.
    The Sway properties (type, material name, response, uniform sway) are grouped under a "Sway" group.
  • [Reviewed] [Tiled bar] Fix a crash when there is no instance of the child object Bar

๐ŸŽจ Assets

๐Ÿ•น Premium Game Templates

๐Ÿ› Bug fixes

  • Fix 3D instance opacity, flip and scale not updated on undo
  • Prevent selecting an instance on drop in 2D editor
  • Fix preview not starting when cache storage is full
  • Fix correctly flagging non-existing behaviors for free behaviors property fields
  • Fix blur effects showing a border on screen edges and 3D effects hiding the layers below
  • Fix global object instances now having their layer reset after copied on a new scene if it does not exist
  • Fix skyboxes orientations that were not standard cube
  • NavMesh fixes:
    • Fix navmesh characters rotating to 0ยฐ at start
    • Fix NavMesh memory leaks
  • Fix parallel AI work being wrongly stopped when asking for edit approval
  • Fix custom object gameplay test warning
  • Fix resizing an instance with aspectRatio activated to 0, causing it to break
  • Fix scroll in input randomly not working and number inputs missing
  • Fix various 3D editor issues (layers and rescaling)
  • Fix empty optional field wrongly shown as errored
  • Massively improve bad translations across multiple languages

๐Ÿ›  Internal changes (for developers)

  • Add micro and macro benchmarks on CI

Don't miss a new GDevelop release

NewReleases is sending notifications on new releases.