Releases: 4ian/GDevelop
5.4.209
💝 Improvements
- Add "Quick Customization" in the Get Started page: choose a starter game and quickly replace objects and tweak their behaviors. The game is then automatically published so it can be shared: this is perfect for new users to get a taste of how a game works and make their own remix of a game before going further.
- Add an option in objects context menu to quickly swap assets of Sprites and 3D models, using the asset store:
- 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.
- Allow hot-reloading of 3D models (Thanks @arthuro555!)
- Display the number of tilemap objects available in premium asset packs before purchase.
- Allow drag and drop in the extension function parameter editor
🐛 Bug fixes
- Fix having to select another function to reopen the same function on mobile in the extension editor
- Fix extension's behavior and object properties lists not scrolling on mobile
⚙️ Extensions
Reviewed
- [Physics car] New behavior that simulate a top down car motion (using the Physics Engine behavior)
- [3rd person camera] Fix the offset to rotate with the camera - it allows to keep the player near the bottom of the screen or a bit on the side like in some 3rd person shooters.
🎨 Assets
- [City Tileset] Update: Add Tilemap object with the whole tileset
🕹 Examples
- [Arrow Fight] Update to allow mid-game join
- [3D car coin hunt] Use the new behavior for the car movement
- [3D car coin hunt] Make the controls independent from the car size
- [3D lane runner] Use custom extensions to organize events
🕹 Premium Game Templates
- Update Cubic World game template by Jurfix:
- The method of saving for world information has been changed for heavy objects (air and cubes), this is due to the browser limitation on the amount of information saved in Local Storage (5 MB), this problem was solved by creating a new saving extension that uses IndexedDB, now you can save an almost unlimited amount of data.
- For Apple mobile devices, Long Tap is now disabled, which prevented the destruction of cubes. (You can see how this is implemented in the Mobile Control Helper extension)
- Bug fixes:
- Now cubes cannot be placed inside the player, which led to getting stuck or falling out of the world.
- The buttons in the menu and pause are no longer distorted when turning the screen on mobile devices.
- Add a new premium game template: Card Game by VegeTato
🛠 Internal changes (for developers)
- Replace electron-is with electron-is-dev (Thanks @arthuro555!)
- Allow custom objects and behaviors to use resources from properties
- Fix GDevelop project files so they are versioned with the same version as the editor (Thanks @f0nar!)
- Avoid to use an intermediate ThreeGroup for custom objects in the editor
- 2D custom objects displayed in the editor now also use the origin point of their 1st child unless an hidden property force a location.
5.4.208
🐛 Bug fixes
- Fix a crash when renaming a child variable of a Structure in the Variables editor.
- Fix the sentence for the Tilemap Tile id action/condition
- Fix child object internal recycling in custom objects.
⚙️ Extensions
- [Community] [WithThreeJs] Support multiplayer behavior
- Thanks @PANDAKO-GitHub
5.4.207
🖌️ 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.
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
- This was the case when the app was opened from https://editor.gdevelop.io?initial-dialog=subscription
- 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
- Verboten Arcane Stash Basic Skills and Buffs by Pixerelia
- Pixel Art App Icons by Reffpixels
🕹 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
- Multiplayer Ghosts by Vegetato
- Boss Battle by TheGemDev
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
5.4.206
Warning
This version is deprecated due to a bug rendering global objects in the scene editor.
Please use the version 5.4.207 instead.
5.4.205
💝 Improvements
- A lot of multiplayer improvements 🎮⚡️🎮
- Speed up lobbies process in preview by reducing start countdown & making player automatically ready
- Fix the synchronization of the activated state of a behavior
- New action to disable the synchronization of a behavior for a multiplayer object (useful for Camera Behaviors for example)
- New guided lesson - Creating a Multiplayer Co-op game
- Improve multiplayer messages by automatically detecting and using best compression method for lobby (Also remove dependency on P2P extension)
- Simplify creating & testing a game in preview, by automatically logging in the player when using player authentication or multiplayer extensions
- New action to send a variable with a custom message
- New expression to retrieve the player number of the sender
- Add possibility for players to login with Google/Apple in game
- Fix multiplayer lobbies properly opening after login
- "Change platform type" action now uses a dropdown selector (Thanks @tristanbob!)
- Display errors on variable parameters about name collisions with objects
- Make variables easier to declare on the fly, with a quick link to create a variable
- Remove extra "Add" words in the events context menu
- Improve some icons in the editor (variables, mobile toolbar)
- Use property names instead of property labels in descriptions and sentences of internal behavior instructions
- Add missing Spine Runtime license agreement and link to Spine website
🐛 Bug fixes
- Fix a refreshing issue of the object list in functions
- Fix the default parameters when pasting a function in a behavior
- Fix some array variable expressions visibility
- Fix events shortcuts from triggering when a dialog is opened, which could cause events to be affected without realizing
- Fix new variables being added at the top
- Fix local variables default values when the wait action is used
- Fix dragging bug in the Events Sheet when the indent scale is not 1x (Thanks @cyraid!)
⚙️ Extensions
- [Reviewed] [CrazyGames] Add the new actions to let CrazyGames know when the loading started, and stopped. (Thanks @lhphr & @ZachjuKamashi!)
- [Reviewed] [Screen shake] Fix a camera Y drift
- [Reviewed] [Shock wave effect] Use local variables instead of hidden properties
- [Reviewed] [Camera shake] Use extension variables
- [Reviewed] [Inventories] Use extension variables
- [Community] [3D camera shake] Use extension variables
🕹 Examples
- [Arrow Fight] [Example] Update Arrow Fight to support gamepads, touchscreen, and WASD controls
Improvements- Added player username (if authenticated)
- Stick dead players to arrows (very fun!)
- Added black outline to arrows
- Used local variable to loop through players to generate score text
Controls - Add gamepad controls
- Add WASD controls
- Add virtual joysticks (twin stick) controls for mobile
- Added player state to help reduce complexity
- [CrazyGames] Update CrazyGames SDK v2 demo
- Add two new buttons to let CrazyGames know when loading has started and stopped.
- [New example] Bounce puzzle - A simple drag & drop multiplayer game
🕹 Premium Game Templates
- Add a new premium template: Beat 'Em Up by VegeTato
- Update Match 3 premium template: Declare all the variables, and update the conditions/actions) that goes with it.
- Update 2D Crafting premium Template: Declare all the variables, and update the conditions/actions) that goes with it. Plus improvements on the objects and bug fixes on the game UI.
Developer Changelog
- Fix emscripten core version blocking Travis
5.4.204
💝 Improvements
- Allow customizing the Events sheet indent scale - Thanks @cyraid!
- Add a new guided lesson: Fire Bullets with an action from a behavior
- Multiplayer improvements
- An object changing layer during the game is now properly moved to the layer on the other players games
- New objects can be synced, Spine, Video, Text Input
- Pathfinding behavior is now properly synced, allowing a smooth prediction on other players games
- Fix a rare case where the lobby was joined but did not appear as such in the interface
- Add 2 new expressions for current player ping & username
- Fix Physics2 behavior being properly synced
- Ensure we create a force if no recycled are available, which was causing a crash in certain situations
- Automatically disable default controls for synchronized objects
- For top down & platformer objects, when the object is not owned by the current player, it will automatically have default controls disabled
🐛 Bug fixes
- Fix crash when launching multiple previews with a pop-up blocker
🎨 Assets
- Add a new premium SFX pack: Elemental Interface Inventory by DigitalVariant
🕹 Examples
- [New example] Boids Flocking Simulation
- [New example] Paddle Battle: A simple multiplayer game based on Pong
- [New example] Arrow Fight: A simple multiplayer platformer & shooter game
- [New example] Platformer Pickup: A simple multiplayer platformer game
🛠 Internal changes (for developers)
- Upgrade CircleCI macOS builders to m1
5.4.203
🎮 Introducing support for Multiplayer games ("GDevelop Multiplayer" - experimental)
ℹ️ This is an experimental feature, which is still in a very early stage and will be improved fast in the short term.
GDevelop now supports building real-time multiplayer games. Watch the announcement video here. Multiplayer includes:
- Lobbies for your game and a user interface allowing players to start a new game,
- 2 to 8 players in each lobby,
- Built-in authentication for players to create an account and login to your game,
- Automatic choice of the host of the game,
- Automatic synchronization of players, depending on who is in charge of each object,
- Automatic synchronization of the rest of the game state: game objects, variables...
- Soon, automated compression to reduce bandwidth usage.
Example.of.a.simple.fun.multiplayer.platformer.game.mp4
Building a multiplayer game works by using 1) the actions to display the lobbies for your game and 2) a new Multiplayer Object behavior, allowing to mark which objects are active in the game (players, projectiles, enemies, doors, etc.)
This video shows how to transform a static game with 2 objects in a multiplayer game in 1 minute:
Multiplayer_in_1_minute.mp4
Servers are usually costly to set up and maintain for multiplayer games (from tens to thousands dollars a month for successful games).
GDevelop Multiplayer is built so that it can scale from no players to multiple thousands playing to your game. Free accounts have one lobby available for the game with 4 players. With a silver, gold or pro account, your game will get unlimited lobbies so your game can work with any number of players. Gold and Pro memberships will get access to extra customization and monetisation options in the future.
Examples are available in the app to help you get started, you can also preview a few multiplayer games here:
- Platformer ArrowFight on gd.games
- The Squeal of Time on gd.games by @tristanbob.
Read more about multiplayer game creation on this page.
If you're interested in other ways to build GDevelop games, check out THNK by @arthuro555.
💾 Simplified variable actions/conditions, local variables and extension variables.
The variable system has been considerably revised to be even more simple to use and flexible:
- Global or scene variables of any type can now be used with a unique action and condition.
For example, you don't need anymore to choose between an action to modify a scene or a global variable, as there is now a single action for it. In the action, both global and scene variables can be used. You also don't need to choose a different action for a number, text or boolean variable. - It's now required to declare your variables: add them in the global or scene variables. You can open these when editing events too, so you don't lose much time in case your forgot to create one before working on an action or condition.
Declaring variables is useful for GDevelop to allow you to use them in expressions by just writing their names, and will allow GDevelop to warn you if you misspell a variable - avoiding bugs in your game.
GDevelop also now support local variables. Those have been designed to be used the events sheet only and should be used as disposable variables, available only inside the event where you add them (and inside the sub-events).
Finally, extensions now also support variables stored inside them. These variables can live for the duration of the game (in which case they are extension global variables) or of a scene (extension scene variables). Extension creators are encouraged to use them to store data that was previously stored in scene variables.
💝 Improvements
🔍 Diagnostic report
A "diagnostic report" will now be shown when a preview is launched and GDevelop detects problems in your event sheet. It will tell you if there are missing scene variables, object variables or behaviors.
This is especially useful if you use external events shared between several scenes - in which case a mistake, like forgetting to declare a variable in a scene, can happen without being noticed immediately.
Other improvements
- New badges to unlock 🏆: Head over to the Get Started tab in the homepage. There you'll see new badges you can unlock and earn credits with!
- In your profile, fill out your Twitter and TikTok usernames, make sure you follow GDevelop account (thank you!) and you'll be given a few credits as a thank you.
- Player login is now possible from a leaderboard:
- When an anonymous score was just sent (using a player name but without a player account), the leaderboard will invite the player to create an account and claim the score.
- A score sent from a game will automatically be attached to the logged in player (unless deactivated).
- The broken authentication on iOS games was also fixed.
- An icon is now shown for variables, parameters and properties in expression autocompletions.
- Display expression errors on repeat loops
- Add possibility to load an in-app tutorial from a local file (useful to author them).
- Add a new guided lesson (Platformer)
- Multi-file project folders are now cleaned at each save to avoid stale files (thanks @DavidMLPalma!)
- Subscriptions bought with PayPal are now properly maintained until the end of the paid period
- New "Classroom" tab in the homepage that contains useful samples resources for educational usage.
- Add a "destroy when finished" parameter in events for opacity tweens.
- Add a hover message on linked external events when they come from another scene.
- Add a drop-down menu action to extract selected instances as an external layout.
- Add reminder to save your project with a badge on the Save icon and a snackbar (can be disabled in the preferences)
- Add asset from asset store next to the selected item in the objects list
- Always keep events when an object is deleted
- UI improvements
- Improve analytics panel display
- Redesign snackbars to be more consistent with the theme
- Change notification badge color
🐛 Bug fixes
- Hide game templates when searching in the asset store.
- Various fixes for the compact instance properties editor:
- Improve panel spacing
- Remove Restore icon on dimension fields if the instance uses the default size.
- When locking/unlocking multiple instances, apply same value to every instances
- Fix local network preview url opening
- Fix resources with empty name from being used or created
- Fix shared properties not being add to the scene when adding a behavior from the instruction editor
- Fix example opening not working from the example dialog
- Fix platform icons generation for cloud projects from desktop app
- Fix cloud project autosave crashing on Firefox versions <=125
⚙️ Extensions
Reviewed extensions
- [New] [Shock wave effect] No longer require the Tween behavior (Thanks @Alios5!)
- [3D flip] Allow to use animations to flip sprites
- [Resource bar (separated units)] Fix max value action
- [CrazyGame] Fix the action to display a video ads
- Fix the action to display a video ads, now it return an error if the video ads isn't ready (Thanks to MartijnKuilema!)
- [Boids Movement] Fix typo of VelocityX and VelocityY being swapped
- [Transition] Fix the animation for zoomed layers
- Keep the last frame at the end of the animation when
"Forwoard"
is chosen
- Keep the last frame at the end of the animation when
- [Fire Bullet] Minor updates and fixes (version 0.7.0)
- Add new expression: "Time before reload finishes"
- Prevent negative values for ammo
- Adjust the behavior for 360 degrees firing arc to prevent two bullets from using the same angle
Community extensions
- [InkJS] Dialogue tree with InkJS (Thanks @infokub!)
- [Point and Orbit] Improvements:
- Add the ability to point toward an angle (useful for gamepads)
- Make orbit follow the same speed as rotation.
- Minor text updates to the description
- [Removed] [Draw shock wave effect] Use "Shock wave effect" extension instead.
🎨 Assets
Premium packs
By Nyilonelycompany:
By Luckythespacecat:
By GDevelop:
Free packs
By Kenney:
- Fantasy UI Borders packaged by @Kruger77!
🕹 Examples
- Simple platformer example game
A simple platformer example game where the player can pick up coins to improve their score and die to an enemy character and falling off of platforms.
This example features:- Platformer behavior
- Smooth camera behavior
- Mobile controls
- Various types of platforms
- Basic enemy movement
- [Fire Bullet] Updated game example to test the new version of Fire Bullet extension
- Updated the game example to test the new version of FireBullet extension
- Added a bar to show the time before the reload is finished (using the new...
5.4.202-beta
⚠️ This is a beta release - only to be used to try new features and make feedback before a stable release in a few days.
🎮 Introducing support for Multiplayer games ("GDevelop Multiplayer" - experimental)
ℹ️ This is an experimental feature, which is still in a very early stage and will be improved fast in the short term.
GDevelop now supports building real-time multiplayer games, with:
- Lobbies for your game and a user interface allowing players to start a new game,
- 2 to 8 players in each lobby,
- Built-in authentication for players to create an account and login to your game,
- Automatic choice of the host of the game,
- Automatic synchronization of players, depending on who is in charge of each object,
- Automatic synchronization of the rest of the game state: game objects, variables...
Example.of.a.simple.fun.multiplayer.platformer.game.mp4
Building a multiplayer game works by using 1) the actions to display the lobbies for your game and 2) a new Multiplayer Object behavior, allowing to mark which objects are active in the game (players, projectiles, enemies, doors, etc.)
This video shows how to transform a static game with 2 objects in a multiplayer game in 1 minute:
Multiplayer_in_1_minute.mp4
Servers are usually costly to set up and maintain for multiplayer games (from tens to thousands dollars a month for successful games).
GDevelop Multiplayer is built so that it can scale from no players to multiple thousands playing to your game. Free accounts have one lobby available for the game with 4 players. With a silver, gold or pro account, your game will get unlimited lobbies so your game can work with any number of players. Gold and Pro memberships will get access to extra customization and monetisation options in the future.
Examples will be included in the stable release. In the meantime, you can try these:
- arrowfight-example.zip - open it from the desktop app and publish it once on gd.games to activate multiplayer. You can then run multiple previews of it. Here is a version of the game on gd.games.
- The Squeal of Time on gd.games by @tristanbob.
ℹ️ As examples are not yet accessible from the app, you need to publish them first on gd.games so that a new game is created on your account (in your game dashboard) and multiplayer is enabled for it. Otherwise, lobbies won't be accessible for the game in preview.
Read more about multiplayer game creation on this page.
💾 Simplified variable actions/conditions, local variables and extension variables.
The variable system has been considerably revised to be even more simple to use and flexible:
- Global or scene variables of any type can now be used with a unique action and condition.
For example, you don't need anymore to choose between an action to modify a scene or a global variable, as there is now a single action for it. In the action, both global and scene variables can be used. You also don't need to choose a different action for a number, text or boolean variable. - It's now required to declare your variables: add them in the global or scene variables. You can open these when editing events too, so you don't lose much time in case your forgot to create one before working on an action or condition.
Declaring variables is useful for GDevelop to allow you to use them in expressions by just writing their names, and will allow GDevelop to warn you if you misspell a variable - avoiding bugs in your game.
GDevelop also now support local variables. Those have been designed to be used the events sheet only and should be used as disposable variables, available only inside the event where you add them (and inside the sub-events).
Finally, extensions now also support variables stored inside them. These variables can live for the duration of the game (in which case they are extension global variables) or of a scene (extension scene variables). Extension creators are encouraged to use them to store data that was previously stored in scene variables.
💝 Improvements
🔍 Diagnostic report
A "diagnostic report" will now be shown when a preview is launched and GDevelop detects problems in your event sheet. It will tell you if there are missing scene variables, object variables or behaviors.
This is especially useful if you use external events shared between several scenes - in which case a mistake, like forgetting to declare a variable in a scene, can happen without being noticed immediately.
Other improvements
- New badges to unlock 🏆: Head over to the Get Started tab in the homepage. There you'll see new badges you can unlock and earn credits with!
- In your profile, fill out your Twitter and TikTok usernames, make sure you follow GDevelop account (thank you!) and you'll be given a few credits as a thank you.
- Player login is now possible from a leaderboard:
- When an anonymous score was just sent (using a player name but without a player account), the leaderboard will invite the player to create an account and claim the score.
- A score sent from a game will automatically be attached to the logged in player (unless deactivated).
- The broken authentication on iOS games was also fixed.
- An icon is now shown for variables, parameters and properties in expression autocompletions.
- Display expression errors on repeat loops
- Add possibility to load an in-app tutorial from a local file (useful to author them).
- Add a new guided lesson (Platformer)
- Multi-file project folders are now cleaned at each save to avoid stale files (thanks @DavidMLPalma!)
- Subscriptions bought with PayPal are now properly maintained until the end of the paid period
- New "Classroom" tab in the homepage that contains useful samples resources for educational usage.
- Add a "destroy when finished" parameter in events for opacity tweens.
- Add a hover message on linked external events when they come from another scene.
- Add a drop-down menu action to extract selected instances as an external layout.
- Add reminder to save your project with a badge on the Save icon and a snackbar (can be disabled in the preferences)
- Add asset from asset store next to the selected item in the objects list
- Always keep events when an object is deleted
- UI improvements
- Improve analytics panel display
- Redesign snackbars to be more consistent with the theme
- Change notification badge color
🐛 Bug fixes
- Hide game templates when searching in the asset store.
- Various fixes for the compact instance properties editor:
- Improve panel spacing
- Remove Restore icon on dimension fields if the instance uses the default size.
- When locking/unlocking multiple instances, apply same value to every instances
- Fix local network preview url opening
- Fix resources with empty name from being used or created
- Fix shared properties not being add to the scene when adding a behavior from the instruction editor
- Fix example opening not working from the example dialog
- Fix platform icons generation for cloud projects from desktop app
- Fix cloud project autosave crashing on Firefox versions <=125
⚙️ Extensions
Reviewed extensions
- [New] [Shock wave effect] No longer require the Tween behavior (Thanks @Alios5!)
- [3D flip] Allow to use animations to flip sprites
- [Resource bar (separated units)] Fix max value action
- [CrazyGame] Fix the action to display a video ads
- Fix the action to display a video ads, now it return an error if the video ads isn't ready (Thanks to MartijnKuilema!)
- [Boids Movement] Fix typo of VelocityX and VelocityY being swapped
- [Transition] Fix the animation for zoomed layers
- Keep the last frame at the end of the animation when
"Forwoard"
is chosen
- Keep the last frame at the end of the animation when
- [Fire Bullet] Minor updates and fixes (version 0.7.0)
- Add new expression: "Time before reload finishes"
- Prevent negative values for ammo
- Adjust the behavior for 360 degrees firing arc to prevent two bullets from using the same angle
Community extensions
- [InkJS] Dialogue tree with InkJS (Thanks @infokub!)
- [Point and Orbit] Improvements:
- Add the ability to point toward an angle (useful for gamepads)
- Make orbit follow the same speed as rotation.
- Minor text updates to the description
- [Removed] [Draw shock wave effect] Use "Shock wave effect" extension instead.
🎨 Assets
Premium packs
By Nyilonelycompany:
By Luckythespacecat:
By GDevelop:
Free packs
By Kenney:
- Fantasy UI Borders packaged by @Kruger77!
🕹 Examples
- Simple platformer example game
A simple platformer example game where the player can pick up coins to improve their score and die to an enemy character and falling off of platforms.
This example features:- Platformer behavior
- Smooth...
5.3.201
✨ Instance properties panel rework
The instance properties panel of the scene editor has been reworked into a more compact and user-friendly panel. Read the documentation about this panel to learn everything that it offers.
💾 Autosave for Cloud projects
A new autosave feature is automatically enabled for Cloud projects:
- Cloud projects are now autosaved on each game preview. Should the editor crash, it will help recover your project.
- The saved project is stored on the device for performance reasons.
Warning
If you're using GDevelop online on a public computer, this feature saves a copy of your project in the browser storage. To make sure no one can access it, make sure to log out the editor when you leave the computer.
💝 Improvements
- Use new icons for variable parameters in events
- Improve user profiles by showing games, asset packs and game templates made by the user
- The app now shows the same profiles as those you can see on gd.games
- Disable rating of feedbacks that have no text
- Add tutorials in the Learn page for education subscribers
- Increase lower toolbars size and padding on mobile
- Add a field to enter the GitHub username in the user profile
🐛 Bug fixes
- Fix the particles emitter not to delete itself when the emission is paused
- Fix: Remove useless horizontal scroll in tree view
- Fix: Holding space now prevents from resize/rotating an instance (Thanks @LeonardoAlvess!)
- Fix missing object name field in some object editors
- Fix Sprite collision mask updating when animation frames don't share the same one
- Fix asset pack & game template licenses being correctly purchased
- An issue was always selecting the first license when the purchase dialog opened
- Fix some crashes when conditions with objectList are used without any behavior
- Fix cloud project autosave crash happening in particular situations
- Fix undefined resources when opening cloud project autosave after a time of inactivity
- Fix dimensions set to 0 0 0 on instance when switching layer
- Fix Platformer "is on platform" condition that was no longer doing anything
- Fix animation placeholder vertical centering in the Sprite object editor
⚙️ Extensions
Reviewed
- [Recolorizer] Update: Fix the extension to work with GDevelop 5.3.198
Community
- [Audio by filename] NEW: Play audio with an expression as filename (Thanks @Silver-Streak!)
- [3D sprite] NEW: Animated sprite in 3D
- [3D text] NEW: Text object in 3D
- [WithThreeJs] Update: Fix compatibility issues with GDevelop 5.3.198 (Thanks @PANDAKO-GitHub!)
🎨 Assets
Free
- New 3D packs by Quaternius:
- New 3D packs by Kaylousberg
🕹 Examples
- [Recolorizer] Update: Fix the extension to work with GDevelop 5.3.198
🕹 Premium Game Templates
by GDevelop:
5.3.200
Warning
This version is deprecated due to the platformer condition "Is on platform?" not working.
Please use the version 5.3.201 instead.