github 4ian/GDevelop v5.4.207
5.4.207

latest releases: v5.4.213, v5.4.212, v5.4.211...
one month ago

🖌️ Build your 2D levels with tiles (Tilemaps) directly inside GDevelop

A new, built-in Tilemap object is now available in GDevelop. It's perfect to quickly build levels with tiles, without leaving GDevelop or requiring setup from an external editor. Tilemaps are quick to render and perfect for displaying big levels without losing in performance.

You can directly configure it with an image (called Tileset, or Atlas), drag it on the scene then paint tiles after selecting one in the properties panel. You can also define which tiles are "solid" so that they are considered as a platform if you use the "Platform" behavior (or Collision conditions).

demo_tilemap.mov

Read more on the Tilemap documentation page.

This is a new feature that will be improved in the future: open-source contributors are welcome to add tools (flood fill, 9-patch rectangle), multiple tiles selection for painting or auto-tiling.

🎮 Multiplayer improvements

  • Lobby start is now more reliable (will wait for everyone to be connected to the host to start the game) and faster. If a player can't connect, the game will still start after a bit of time.
  • Lobbies can now be joined after the game is started, if defined as such in the lobbies section of the game dashboard (which will be on by default for new games). Actions & conditions to check when a new player joins are available if needed.
demo_join_game.mp4

👪 Define and modify variable for Object Groups

Object Groups allow to share the same events for multiple objects. While it's convenient, using variables with groups was painful because variables had to be added to every single object of the group before they could be used.

You can now open the group and see the variables that are in common in all objects of the group. Adding a variable to a group will add the variable to all objects. Adding an object to an existing group will ensure all variables of the group are also applied on the object.

Group variables

Finally, you can also now directly open group variables when editing an action or condition using a variable. This is convenient to quickly add a variable to a group while you're building your game logic.
Read more on the documentation page about Object Groups.

💝 Other improvements

  • Update the AdMob extension to support Play Services v23.
  • Add an action to read a directory to the filesystem actions (thanks @arthuro555!).
  • Show the top of the 1st page when the asset store search changes.
  • Add a dialog to choose between 2D and 3D when creating a custom object.
  • Declare shortcut CTRL+D to duplicate in object list (Thanks @osmaneTKT!)
    • Also applies the same shortcuts to the objects groups list.
  • Add icons on tabs.
  • Translate properly the messages about GDevelop editor's updates.
  • Allow to drag and drop custom object properties and filter them.
  • Improve raycast precision when the distance is 0
  • Add Star History to bottom of README (thanks @tristanbob!)
  • Added new condition to check the zoom of a camera of a layer (thanks @tristanbob!)
  • Remove an error about object name collision in object variable fields
  • Add a tolerance parameter on the "linear velocity angle" condition
  • Make object behavior autocompletion to be case insensitive when typing in a formula in an event.
  • Add a distraction-free mode for students in education plans.
  • Add animation autocompletion for object groups.

🛠️ Work-in-progress, experimental visual editor for custom objects

A new, work-in-progress, visual editor for custom objects (aka "prefabs"/"templates") is being finalized. More information about it will be available in the next releases.

⚠️ These are the features still in progress:

  • Properly handle effects (disable 3D effects) for layers
  • Handle hot reloading properly
  • Avoid duplicating the configuration of the custom object inside each object created from it.
  • Add a "Extract as a custom object ("prefab")" when selecting instances in a scene.
  • Ensure physics and pathfinding behaviors work properly.
  • New expressions to translate coordinates from the parent to the local custom object.
  • Ensure deletion of a custom object is gracefully handled by the editor

🐛 Bug fixes

  • Fix initialization of local array variables
  • Fix errors when reading source files for autocompletions in JS events
  • Fix message asking to check Apple/Google account for subscription not always shown
  • Fix checkbox to disable ads not displayed properly after being changed
    • Also address some part of the game dashboard that could be outdated after changes
  • Fix opening an example from a link or command line argument
    • An example opened from a link (typically, from the website) will now properly ask for the location where to save it, and will handle leaderboards and multiplayer.
  • Fix particle emitter blending mode action.
  • Fix changing disabled/read only state of text input.
  • Avoid children variables to collapse in the editor after an undo.
  • Fix to make platformer wall collisions with tile maps more precise.
  • Fix some errors at cloud project creation.
  • Fix global object instances not being rendered on the scene editor.
  • Fix a crash in the object group editor of events-functions.
  • Fix some languages names in the Language selector.
  • Fix: correctly update version numbers after extension update.
  • Fix a regression on the virtual joystick position in the editor.

⚙️ Extensions

  • [Reviewed] [3D particle] Fix to avoid particles from keep displaying when the last instance is deleted
  • [Reviewed] [CrazyGamesAdApi] Auto-load the CrazyGames extension when the domain is part of crazygames.com
  • [Reviewed] [InAppPurchase] Add support for Google Play Billing library 7.0.0
  • [Community] [3D text] Move to the "Text" category

🎨 Assets

New free asset packs

🕹 Examples

  • [Multiplayer Platformer Pickup] Simplify platformer pickup so it handles mid-game join
  • [AdMob] Update to use correct App Open ID
  • [InAppPurchase] Update example with the latest 0.0.6 InAppPurchase extension
  • [Multiplayer Bounce Puzzle Game] Updates:
    • Desynchronized the draggable behavior to prevent players from trying to drag objects they don't own.
    • Added new cursors and animations for mobile game.
    • Now showing both cursor and hiding the player's own native cursor.
    • Fixed layering issue that made cursors go behind UI buttons.
  • [Multiplayer Arrow Fight Game] Updates:
    • Fixed pause button, it was "set to true" and needed to be changed to toggle in order to be turned off once the game was paused.
    • Removed the multiplayer behavior from the pause text and button, the behavior was conflicting with the tween events and weren't needed.
  • [Multiplayer Coop Platformer Game] Updates:
    • Desynchronized the smooth camera behavior so each player's camera works independently.
    • Added player usernames above player objects.
    • Added mobile controls.
    • Removed the multiplayer behavior from the pause text and button, the behavior was conflicting with the tween events and weren't needed.

🕹 Premium Game Templates

New templates

Updates

  • [Roguelite]
    • Fixed a bug where the player can enter his username as empty spaces.
    • Fixed a bug where the player can enter more than 10 characters as his username.
    • Update to use the new unified variable system.
  • [Online Multiplayer using THNK] Updates:
    • Remade some of the mechanics/events to use even much fewer events, more user-friendly and easy to understand.
    • Grouped events even more, to make the events cleaner and easier to understand.
    • Deleted (Point&Orbit) extension, and replaced its actions with Put around & Rotate actions.
    • Update to use the new unified variable system.
  • [Impostor Alert]
    • Use public and private THNK lobbies
    • Update to use the new unified variable system.
  • [Fighting] Update to use the new unified variable system.
  • [Real Time Strategy] Various updates.
  • [Crafting Template] Various updates.

🛠 Internal changes (for developers)

  • Remove dead code (TinyXml and Shifty)
  • Fix not building peerjs for web runtime
  • Fix actions that set boolean declared with addExpressionAndConditionAndAction

Don't miss a new GDevelop release

NewReleases is sending notifications on new releases.