Skip to content

Releases: 4ian/GDevelop

5.5.220

20 Dec 15:52
85f6e74
Compare
Choose a tag to compare
5.5.220 Pre-release
Pre-release

🎇 The GDevelop team and contributors are wishing everyone a warm, joyful festive season and a bright start to the new year!

🎁 Introducing 3D Physics (based on Jolt Physics engine)

GDevelop now provides a powerful 3D Physics engine, allowing to create any kind of 3D games.

The 3D physics engine is powered by Jolt Physics a modern, performant, battle-tested, fully featured 3D physics engine used in AAA games, like Horizon: Forbidden West. The new 3D physics engine is perfect for making FPS, TPS, 3D platformers and in the future 3D racing games or any 3D game.

Rabbit character exploring 3D platformer with physics enabled

You can try this example of a 3D platformer game that is powered by the new 3D physics engine here and edit it in the app.
You can also try the simple 3D FPS example.

  • Adding physics to 3D objects: similar to the 2D physics engine, you can add the 3D Physics behavior to your object. For example, add the behavior to platforms with the type set to "Static".
    • You can choose the collider shape: box, sphere, cylinder or capsule and modify physics properties of the objects having this behavior - much like the 2D physics engine.
  • For 3D characters: a dedicated "3D Physics Character" behavior is available.
    • To actually move, pair it with one or more additional behaviors to get controls working out of the box: "3D Shooter keyboard mapper", "3D Platformer keyboard mapper", etc... Behaviors with support for touch screens, gamepads and keyboard/mouse have all been made and tested.

Take a look at the new example to give it a try! New examples and behaviors will be progressively added and existing 3D examples will be adapted. The wiki will also be updated in the next weeks with the different behaviors and capabilities provided.

Rabbit character exploring 3D platformer with physics enabled

🧑‍🏫 New premium, chapter-by-chapter course to learn and master GDevelop

We're releasing a premium course designed to let you learn and master everything you need to know about GDevelop and gamedev. It is available through the Learn tab in GDevelop for accounts having a premium membership. If you don't have a subscription to GDevelop, the 3 first chapters are offered for free and new chapters can also be unlocked individually with credits.

Going through the GDevelop master course

The course is designed to let you learn by doing and exploring the app. It will have a total of 15 chapters with:

  • Dozens of action-oriented, specific goals to achieve in each chapter, with a full explanation for each, an illustration and an answer to reveal.
  • Exclusive templates created for you to follow each lesson. Open the template, watch the video and start learning each goal one by one.
  • An overall tracking of your progress.

The course can be followed on your computer or on the go using GDevelop mobile app.
New chapters will be added soon!

🎯 Reworked "Create" tab on the homepage

The "Build" and "Manage" tabs have been merged into a single, simpler screen. From the Create tab, you can now access the projects you're working on (local projects or cloud projects), as well as manage the games you have published.

The new Create tab

  • If you have multiple local or cloud projects linked to a same game, the game will appear once in the list, and the projects will be grouped into it.
  • When you create a new game, it will appear directly in this list. If the game is never saved (for example, you open a template without saving it first), it will be removed once closed and won't clutter this list.
  • Games can be sorted by date of last change or by their popularity (number of sessions).
  • Earnings (revenue sharing from ads on gd.games) are displayed at the top as well as your account total credits.

Multiple projects attached to the same game

💝 Improvements

  • Change scene editor title depending if instance or object edited on mobile
  • Adapt the condition column size in the Events Sheet
    • Also change the default extension editor layout.
  • Merge the function properties and parameters tabs in the extension editor
  • Automatically rename function parameters in events when a parameter is renamed.
  • Add error display for some obvious semantic/type errors in JavaScript code blocks.
  • A better looking invalid/missing texture placeholder, with the GDevelop "G" logo, is now displayed when you create an object without a texture/image set to it.

🐛 Bug fixes

  • Fix a regression on custom object life-cycle parameters not being locked
  • Fix regression in extensions loading
  • Fix asset store display speed and reduce the burst of requests
  • Fix: Apply z offset to instance even if no z in instance data
  • Fix installing extensions with dependencies from assets
  • Fix title missing in curriculum lessons
  • Fix installing assets with resource kinds like bitmap texts

⚙️ Extensions

Reviewed extensions

  • [3D particle] Fix a deprecation warning
  • [MQTT] Update MQTT.js to 5.10.3

New reviewed extensions to be used by Prefabs in the Asset store:

  • [New] Two Choices Dialog Box
  • [New] Star Rating Bar
  • [New] Score Counter
  • [New] Screen Orientation Checker

Community extensions

  • [New] Ollama AI by @Daveee19
  • [Collision 3D] Fix the distance expressions

🎨 Assets

New premium asset packs:

New free asset packs:

  • By GDevelop:
    • Two Choices Dialog Box
    • Star Rating Bar
    • Screen Orientation Checker
    • Score counters

🕹 Examples

  • Fix Physics starting point game not considering the projectile as a bullet
  • Improve starting point games
    • The mobile controls are now inside of folders in the platformer and top down starts.
    • The starter platformer game no longer has an event for jumping, and now uses the multitouch button behavior to trigger the jump.

🛠 Internal changes (for developers)

  • Fix installing extensions with dependencies from assets
  • Add description and screenshots for Rich PWA install (desktop)
  • Expose initializeRenderers and initializeCanvas to allow initializing the game rendering manually (Thanks @lifanchuk!)

5.4.219

30 Nov 19:07
Compare
Choose a tag to compare

💝 Improvements

  • Add a new option for layers, to keep a layer centered when the game size changes, or keep it top-left fixed (as before).

    • This is useful for layers which you want to stay on the center of the screen, which works well with the new option to extend width/height of the project without cropping the game area.
    • If you already move the camera using events, this won't have any impact.
    • This also works well when using the Anchor behavior to position objects on the screen.

    image

  • New, reworked "Create new game" dialog. It is now the entry point for creating a new game, allowing to:

    • create an empty project from scratch
    • (new!) use a "starting point" for your projects, to bootstrap your platformer, top-down or physics game. They are extremely simple template, with minimal gameplay, perfect for new users discovering GDevelop.
    • start from a project customized by an AI,
    • or as before, one of the many free or premium templates provided with GDevelop.

    https://github.com/user-attachments/assets/7e2c9115-79f9-4cd1-88e7-1f5d97ad8bc2

  • Add an option in the game properties to extend width or height and never crop the game area.

    • This can be used to ensure your game area is always fully displayed, with a background layer on which you use the "Anchor" behavior to position a tiled sprite or other objects:
      https://github.com/user-attachments/assets/fdc26040-9263-4e4e-8fa7-e47933f797aa

As well as a few more improvements:

  • Projects linked to a game are now shown and can be opened directly from the game dashboard.
    • If a cloud project is not shown, it's usually enough to open it from the Build tab and save it so that it appears in the game dashboard.
  • Add "Create new folder" menu item inside "Move to folder" menu.
  • Improve LAN preview network to detect local ip properly for Network previews

🐛 Bug fixes

  • Fix for the anchor behavior when used on layers where the camera was moved. Anchored objects will now work whatever their layer and camera position.
  • Fix potential crashes in events function edition
    • Also hide object groups tabs in functions (unless there are groups already) - it's not recommended to use them anymore.
  • Fix custom objects inner area expansion on Z axis
  • Fix variables from being renamed with a property
  • Fix position conflicts between Physics and other movement behaviors
  • Fix: Build tilemap renderer from an empty tilemap to be able to create tilemaps in-game
  • Fix the parameter name field to avoid changing the name when no change was done
  • Fix height when switching to mobile design
  • Fix function configuration editor layout when shown as a side panel
  • Fix publish flow to allow creating gd.games links if game is not owned
  • Disable the variable editor button wrongly shown for object parameters
  • Properly show error box to user when an error occurred when creating student accounts
  • Fix a crash when Physics behavior is used on object smaller than 0.1 pixels

⚙️ Extensions

  • [Reviewed] [Third person camera] Fix the rotation angle offset
  • [Reviewed] [Flash and transition] Fix the opacity (thanks @VegeTato)
  • [Community] [Flip Gravity] Fix the reset gravity action (thanks @VegeTato)

🕹 Examples

  • Improve various examples descriptions
  • Add "starting point" examples

🛠 Internal changes (for developers)

  • Allow to provide a canvas to be used for the game rendering instead of creating a new one (thanks @danvervlad!)
  • Improve typing of EventsFunctionContext
  • Remove dead code related to "alwaysLoaded" (thanks @Bouh!)
  • Upload files in batch for web-app previews

5.4.218

14 Nov 15:04
272766c
Compare
Choose a tag to compare

📈 Improved game dashboard

A new game dashboard to follow your game progress

The game dashboards have been redesigned to provide a comprehensive view of all key aspects of your game in one convenient location, including analytics, player feedback, leaderboards, multiplayer configurations, and exports.

📣 New "Boost" (one-click marketing): get thousands of players in a few days

From your game dashboard, you can access new "Boost" packages available for purchase to enhance your game's visibility. These packages include up to 5000 guaranteed players who will try out your game in a few days or even hours. It's a perfect opportunity to attract more attention and gather insights on player retention.

New marketing campaigns

💝 Improvements

  • Various UI improvements:
    • Improved login & signup dialogs design
    • Community & Play tabs in the homepage have been merged.
    • Improve landscape mode and responsiveness of the UI on small screens
    • Prevent opening variables dialog for objects & groups if there is no object
    • Improve object collision masks & points dialog button label
    • Show object effect drop-down list for parameters in extension editor
    • Add a button at the top of the object list to add new objects.
    • Allow uploading thumbnails for games directly from the Game Dashboard.
  • Add sort field (creation date, weekly sessions, all time sessions) for the list of games in the Manage tab
  • Add a button to ask any question in the Learn page
  • Google Drive support on the web-app is now deprecated. Please use Cloud projects instead, which are better integrated and fully support all GDevelop features.
  • Add automated game screenshots when remixing a game.

🐛 Bug fixes

  • Fix a memory leak on object instances in the Physics Engine.
  • Fix Dialogue Tree returning sometimes a string instead of a number in expressions reading variables
  • Fix login dialog stuck in loading after trying to use a provider
  • Fix destroying an object even if flagged as "DoNothing" in the multiplayer behavior
  • Fix dialogue tree crashing the game when syntax errors are present
  • Fix leaderboards not properly replaced in projects using them in custom objects
  • Fix game thumbnail taking too much space on mobile in Quick Customization dialog
  • Fix centering of "UI layers" after a screen orientation change
    • This happened often on mobile (iOS notably) and sometimes when resizing the window on desktop too.
  • Fix 3D model sizes in the editor when aspect ratio is free
  • Fix issues when reworking a "quick customization" project (don't duplicate the project multiple times if already saved).
  • Fix adding an object from context menu when the Objects panel is closed
  • Fix instances paste from a scene to another
  • Custom object editor fixes:
    • Fix instance variable editor opening in CustomObject editor
    • Fix tilemap painting in CustomObject editor
  • Fix a crash at runtime when an animatable custom object has no animation
  • Fix object thumbnails in custom objects event functions
  • Fix sprite scaling factor when a custom size is set

⚙️ Extensions

  • [Community] [Hedgehog platformer] A new platformer engine for Sonic-like games (thanks @Kennoir!)
  • [Rectangular flood fill] Include the features from "Create multiple copies of objects" extension
  • [Rectangular flood fill] Pick the created objects
  • [Community] [TweenZOrder] The extension was removed - a variable tween can be used instead.
  • [3D sprite] Fix a crash when sprites have no frame.
  • Updated to the new syntax for properties and parameters in reviewed extensions.

🎨 Assets

  • Add a new premium audio pack: Horror SFX Halloween sounds pack (by GDevelop)
  • Add 70+ Tilemaps in ELV's packs
  • Add a new premium audio pack: Magic RPG Sounds SFX (by GDevelop)

🕹 Examples

  • Add screen orientation checker and improve title screen centering for 3D Car Coin Hunt
  • Use custom objects in some examples:
    • [Lane runner, Car coin hunt, Tappy plane, Run dino run] Use a custom object for the leaderboard dialog
    • [Platformer] Use a custom object for the game over dialog
    • [Top-down RPG] Use a custom object for the character dialog
    • [3D city builder] Use a custom object for the tool bar
  • [360° platformer] A Sonic-like demo that uses a tile-map

🕹 Premium Game Templates

  • New premium game template: Idle Clicker (by @VegeTato)

🛠 Internal changes (for developers)

  • Add mention to Three.js in README (Thanks @MTSyntho!)
  • Add "dispose" method to RuntimeGame and various classes (Thanks @danvervlad!)
    • 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 add watermark styles in case showWatermark is true (Thanks @dmyamster!)
    • This avoids using a DOM API if not needed.
  • Add gdcore-tools hook (Thanks @arthuro555!)

5.4.217

22 Oct 16:14
0788de3
Compare
Choose a tag to compare

💝 Improvements

  • Allow custom objects to use leaderboard properties in order to build custom objects linked to leaderboards
  • Optimize custom object layouting in the editor
  • Display Audio Resource parameter field for function actions
  • Display context menu using an "action sheet" like drawer on mobile/touchscreens
  • Add larger buttons in quick customization and danger buttons in some interfaces

🐛 Bug fixes

  • Fix to forbid behavior properties from being used as values in expressions
  • Fix autocompletion by hiding parameters and properties of type "behavior"
  • Fix default parameter of action with operator functions not displaying in the editor
  • Fix text input visibility when its custom object is hidden
  • Fix a crash when an instance with a wrong object name is in a custom object
  • Fix wrong custom objects duplication when updating an extension
  • Fix resource used in behavior properties not being exported
  • Fix changing the shape painter colors in the properties panel/object editor
  • Fix cloud projects incorrectly counted when saving a project

🎨 Assets

Premium packs

By @Bouh:

By GDevelop:

Free assets

Multiple tilemaps objects were added:

🕹 Examples

  • Fix spine example missing sound resource

🛠 Internal changes (for developers)

  • Ensure GDevelop.js build is done using release mode if not specified
  • Fix resource used in behavior properties not being exported

5.4.216

17 Oct 18:29
451d525
Compare
Choose a tag to compare

📝 🏎️ Objects now directly editable from the Properties panel

The object properties panel

When an object is selected (or when "Edit object" is chosen in the Properties panel after choosing an instance), this panel will now show the object properties, behaviors, variables and effects. Everything can be directly edited from there.

This allows for fast edition of most elements of an object: appearance, properties, but also behaviors, variables, effects... Most work and iterations on your game should be faster, from adapting the appearance of a text to tweaking behaviors and updating the preview to check the result in realtime. For example, behaviors can be directly added, removed and configured:

The object properties panel

💡 If you keep the preview of the game opened, on the desktop app, you can then click on the "Update" button in the toolbar to apply changes to the live game, without restarting the preview.

✈️ Custom objects ("prefabs") can now be created (Experimental)

Custom objects are containers, composed of one or more other objects and having custom logic (made with events, like in a traditional scene) inside them.
In this new version of GDevelop, you can now select a few instances on the scene and extract them into a custom object that will contain them and their associated object:

Extracting objects into a custom object

"Custom objects" are also called "Prefabs" or "Templates" in some game engines.

They almost act like if they are a scene, but available as an object. Like custom behaviors, they can have actions, conditions and expressions, so they can be manipulated by the scene events.
They allow to speed-up development and make games more modular by having an object that can be reused in different scenes.

For example, you can build:

  • A custom object that is a dialog: a background, some text, some buttons. This allows to do all the logic related to this dialog inside the custom object events, without cluttering the scene.
  • A character or some other game objects that is composed of multiple parts. For example,

Read the documentation to learn more about their usage.

You can see here the two buttons extracted into a custom object. Notice the checkered background indicating that this is not a scene but a custom object that can be reused in multiple scenes:

A custom object with two buttons being edited

💝 Improvements

🐛 Bug fixes

  • A lot of fixes for custom object creation:
    • Fix closing of custom object tabs when they are deleted from their extension
    • Fix autocompletion of layers and points for custom object children
    • Fix object lists not always up-to-date in the extension events editor after adding an object in the custom object editor
    • Fix custom object editor not closed when the extension is renamed
    • Fix mouse and key parameters for functions
    • Fix custom object loading when opening a project
    • Fix extraction to custom object sometimes using an already used name
    • Fix wait action in custom objects
  • Fix objects owned by Multiplayer host not being properly migrated when host changes
  • Avoid intermittent game crash, due to an audio issue, when resuming the game (when focused back again)
  • Fix memory corruption/crashes when events in extensions had errors
  • Prevent players from claiming a leaderboard score as an anonymous user.
  • See also all the bug fixes in version 5.4.215

⚙️ Extensions

  • [Auto typing] Fix the word wrapping

🎨 Assets

  • Add a new premium pack: Casual UI and Interface SFX (by @Bouh)
  • Add a new premium pack: 2D Pixel Quest -The Dungeon by BarelyApes

🛠 Internal changes (for developers)

  • Fix silent exceptions when resource loading finished after an instance was reset/removed
  • Add clang-tidy and builds with assertions/memory sanitizers for libGD.js
  • Fix missing or wrong arguments in GDevelop.js tests + uninitialized variables
    • These were "silently succeeding" but would create issues when Emscipten is run with SAFE_HEAP=1.

5.4.215

11 Oct 15:01
0a85fd3
Compare
Choose a tag to compare

This version brings the new properties panel for objects as well as support for visual edition of custom objects. Use version 5.4.126 as it contains important bug fixes for them (and the release notes of this version contains the full description of these).

💝 Improvements

  • New in-app tutorial explaining how to use a Tilemap and interact with it at runtime.
  • When choosing a font or an audio file, the Asset Store will now display a preview and will allow to quickly search in all of them.
    This is perfect for quickly prototyping games.
    Note that the Asset Store is not shown anymore when choosing an image (it was confusing as all images were shown without links to their asset packs and without consideration as if they could be used as standalone images). Instead, consider using the menu option to swap an object.
  • Add vertical alignment property for Text objects.
  • Improved "Quick Customization" flow in the Get Started page.
  • Tilemap improvements:
    • Add possibility to paint Tilemaps with a rectangle selection from the tileset.
    • Allow to filter external tile map collision per layer.
    • Tilemaps can now be found in the Asset Store in different packs.
    • Public domain tilemaps are now suggested when you create a new Tilemap object - allowing to quickly start building a level.
  • UI improvements:
    • Add context menu to move Sprite object animation in list.
    • Add a context menu options to duplicate instruction parameter or behavior property.
    • Show the tolerance in the sentence of "Is object turned toward" condition

🐛 Bug fixes

  • Fix exception 't.bind is not a function' when a resource has an empty file
  • Fix some crashes in previews with Tilemaps
  • Fix an exception when a touch is ended and then started in the same frame at runtime
  • Fix the action to change the animation elapsed time for sprites and 3D models
  • Fix text input focus messing with key pressed in the rest of the game
  • Fix ghost hitboxes on tilemap when tiles are flipped
  • Fix some more crashes happening in preview
  • Fix iOS automatic exports when using AdMob
  • Fix crashes in Preview due to ill-formed color values
  • Fix anchor behavior positioning when the object has a custom origin
  • Fix instance selection rectangle not being flipped properly
  • Fix an exception when the object position is not finite using the Physics engine
  • Forbid negative damping values in the Physics engine.
  • Disable the "support us" dialog during an in-app tutorial

⚙️ Extensions

  • [Community] [WithThreeJs] Add drawing detection and improved raycasting
    • Add "Check 3D Object Is Within 3D Camera FOV" condition
    • Add "Change 3D Object Raycast Detection" action
    • Thanks @PANDAKO-GitHub
  • Make some behaviors work with more object types
  • Make clearer these are both reviewed and community extensions [skip ci]
  • Update README [skip ci]
  • [Reviewed] [Mouse pointer lock] Fixed an issue where extensions did not work on Linux, etc.
    Fixed an issue where extensions did not work on Chromium-based browsers (this mainly happened on Linux).
  • [Corner sliding] Fix a conflict with the pixel perfect extension

🎨 Assets

  • Add a new premium pack: Pixel Quest Vol 2: The Necromancer's Order by BarelyApes
  • Fonts and audios are now displayed in a user-friendly manner.

🕹 Examples

  • [Pair] Simplify the cards shuffling
  • [Asteroids] Fix audio on iOS and replace deprecated actions (thanks @ddabrahim!)
  • [Goose bomberman] Updated with the new variable actions
  • [3D bomber bunny] Updated with the new variable actions
  • Updated several game templates to use Tilemaps (Top-down RPG, Multiplayer platformer pickup, Duck game, Sokoban, Tower defense war, Simple platformer)

🕹 Premium Game Templates

  • Add a new multiplayer game template: Picle Park by @VegeTato. It includes:
    • Objects/variables sync and ownership
    • Smart spawn/despawn players system
    • GDevelop built-in multiplayer usage
    • Handling players join mid-game
    • Handle up to 8 players
    • Mobile support
    • Rope mechanic
    • Physics usage
    • Guest login

5.4.213

17 Sep 15:21
6cda5d0
Compare
Choose a tag to compare

💝 Improvements

  • You can now change Opacity & Flip of instances directly in the Properties Panel:
    • 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.
      Flip instance in editor
  • Custom object layouting support: Instances in a custom object can now use the anchor behavior and, when used in another scene (or another custom object), the custom object will dynamically adapt the position of its instances according to its size.
  • The teacher educational resources list have been updated to show the upcoming lessons we're preparing.
  • Various Tilemap improvements:
    • Improve performance display when painting tiles,
    • Allow atlas size to be something else than a tile size multiple and ignore last column and row,
    • Display error message only when the the tile size is greater than the atlas image,
    • Add object name in actions and conditions.

🐛 Bug fixes

  • Tilemap fixes:
    • Fix tiles preview when tilemap instance is rotated
    • Do not crash preview if tilemap object badly configured
  • Fix a crash in the new behavior dialog (the crash happened when the extensions didn't load as expected).
  • Fix hot reload of object variables in object instances.
  • Fix store UI (wrong centering of items)

⚙️ Extensions

  • [Reviewed] [Rolling counter] Smoothly change a counter value of a text object (Thanks @Jurfix!)

🕹 Examples

🕹 Premium Game Templates

  • [Cubic world] Fix fonts

🛠 Internal changes (for developers)

  • Remove warnings during C++ emscripten compilation

5.4.212

12 Sep 16:03
1bce13f
Compare
Choose a tag to compare

🐛 Bug fixes

  • Fix tilemap object edge cases causing crashes
  • Fix scrolling an input with the mouse wheel even if it was not focused

⚙️ Extensions

Reviewed

  • [3D object shake] Fix the translation on Z

Community

  • [3D tween] Add a tween action to tint 3D models - Thanks @Jurfix

🕹 Premium Game Templates

  • Add a new premium game template: Land Maker, a game like Mario Maker! (by @VegeTato)

🛠 Internal changes (for developers)

  • Catch callback functions of Firebase preventing JS crashes
  • Catch errors when handling electron browser window preventing JS crashes

5.4.211

09 Sep 13:43
6a7c3da
Compare
Choose a tag to compare

🐛 Bug fixes

  • Fix instance number properties which could not be saved to 0
    • Also add back the ability to use keyboard arrows and mouse wheel to control the value precisely
  • Show a loading texture when a Panel Sprite is loading, instead of an error texture
  • Fix crash in the scene editor when changing the Panel Sprite tiled/stretched option
  • Fix checkered background in collision and points editor
  • Fix exception when changing an external tilemap file after it was initially missing

🛠 Internal changes (for developers)

  • Avoid unnecessary recompilation of many C++ files at each build

5.4.210

05 Sep 14:33
e9b4de2
Compare
Choose a tag to compare

Warning

This version has a known issue where the number 0 could not be used in the instance properties panel.
Please use the version 5.4.211 instead.

🎮 Multiplayer games improvements: Play as Guest + more

image
Play Stranded on a Raft on gd.games

  • Introducing Play as Guest: players can now join as a "guest" player, without having sign up anymore. This should increase the number of players that are willing to try your multiplayer games. Anyone can join a game in a few seconds!
  • Performance improvements with a new automatic "host migration" when the host player leaves:
    • The host of a multiplayer game is now automatically migrated to a new one, picked from the list of players (the one with the lowest ping).
    • A new condition "Is host migrating" is now available - in case you want to do something special in the gamewhile the migration happens. This can take up to a few seconds. If your game has no interactions between players, you can just do nothing. Otherwise, you may want to pause the game while the host is changing.
    • A new action is available to configure the lobby game to end instead of migrating when the host leaves. This is useful if you prefer the host not changing during your game.
  • Allow changing the synchronization rate of objects:
    • The default "sync rate" of objects is set to 30 times per second - which is enough for most games.
    • A new action can be used to update this value depending on the type of your game, at the cost of bandwidth. Fast-paced competitive? Go for 60. Slow turn-based game? 5 or 10 is probably enough.

Read more about all multiplayer features on the GDevelop Multiplayer documentation page.

➕ Formulas in the instance properties

image

You can now write simple math formula in the property fields of an instance: for example, you can enter 100 + 50 or 100 + 70/2 or ToDeg(sin(2.3)) in the instance editor fields. This is helpful when you need to precisely set up the position of instances in a menu, UI or level.

🪙 gd.games ads earnings (Revenue Sharing) in your game dashboard

image

You can now see the earnings of the games you've published on gd.games at the top of your Games dashboard.
You can either cash out that amount if you reach a certain threshold, or exchange your balance (at a preferential rate) for GDevelop credits that can be used on the asset store.

Read more about revenue sharing on this forum thread.

🛠️ Work-in-progress, experimental visual editor for custom objects ("prefabs")

image

An experimental, still work-in-progress, editor to build objects inside GDevelop - from small, reusable UI objects to larger parts of your game - is being finalized.

We're still improving the anchor behavior so that it can be used to position dynamically objects inside a Custom Object (which will be perfect for UI elements like dialogs, popups...). A bunch of bugs and limitations, listed below, are being worked on, so we only recommend advanced users to try this (and if you do, please give feedback on Discord "engine-development" channel).

List of limitations or bugs being worked on:

  • Effects should be disabled for layers
  • Hot reloading mostly works but needs some extra work
  • 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

👥 New interface for teachers to manage students and other teachers

Administrators and teachers having a GDevelop for Education subscription can now create new anonymous accounts for students, invite new teachers and enable or disable user accounts.

Read more about administration of student/teachers on the documentation page.

💝 Improvements

  • Add a new expression to get Spine point attachments positions (Thanks @f0nar!)
  • Various Tilemap improvements:
    • Improved Tilemap collision precision.
    • Improved Tilemap preview rendering performance
    • When using a mouse, the middle click can be used to pan the view when painting on a Tilemap.
  • Allow custom objects ("prefabs") to use the anchor behavior on their children.
  • Allow centering objects with the anchor behavior.
  • Update AdMob banner so they cover part of the game screen instead of reducing it (Thanks @devgiordane!)
    • In most games, it's better to design the game with the size of the ad banner in mind - which will cover either part of the top or bottom of the screen. Previously, the game size was reduced which was making it difficult to properly design a game and would introduce bad looking black borders.
  • Add automated crash reporting from previews:
    • This will allow to detect any bugs or crash in the game engine without relying on manual reports from users on GitHub. Note that exceptions and errors in JavaScript code blocks won't be reported. This can be deactivated in preferences if you prefer not to have GDevelop send these crash reports at all.
  • Add an action to change a Text object font
  • Add a default shortcut for adding a comment in the Events Sheet (Shift+C)
  • Physics engine: merge the 2 world scale properties into one
  • Add possibility to drop variable after last item in the variables editor

🐛 Bug fixes

  • Fix text input not properly deleted when used in a Custom Object
  • Fix memory clearing/leak when a scene is paused or stopped
  • Fix default parameters from being able allowed to be dragged and dropped
  • Fix default values for the Adjustement effect
  • Fix update notifications translations on Desktop app
  • Fix hot-reload for variables
  • Fix issues with undo/redo when paintaing on a tilemap
  • Remove effects tab (and actions and conditions) wrongly shown for Tilemap objects
  • Avoid exponential loop when scrolling out of view on the Scene editor
  • Hide a duplicated expression to get the text of a text input.
    • Hide required behavior properties in the object editor

⚙️ Extensions

Reviewed

  • [Multitouch joystick] Fix the dead zone for the Force expressions
  • [Boids] Fix the "activate behavior" action and handle collision layers
  • [Linear movement] Add a behavior to move objects ahead according to their angle. (Thanks @Jurfix)
  • [Fire bullet] Fix variance in multi-shots being used twice
  • [3D object shake] Fix shakes with an easing longer than the duration
  • [Autotyping] Unify the 3 behaviors
  • [3rd person camera] Use the object center instead of the origin
  • [Swipe gesture] Use extension variables

Community

  • [Animation System] Fixed old broken variables. (Thanks @VegeTato)
  • [3D grid jump] Move objects by jumping on a grid like a frog. (Thanks @Jurfix)

🕹 Examples

  • [3D road crosser] New example! A Frogger-like game, similar to the mobile game "Crossy Road" (Thanks @Jurfix for building this game)
  • [3D car coin hunt] Fix the dead zone for mobile controls
  • [Arrow Fight] Extensive improvements to this multiplayer example
    • Added bots with randomized movements that only spawn while there is 1 player in the lobby.
    • Now when players join a game that has bots in it, the bots will be removed and the players will play together immediately.
    • Changed the way the pause "leave game" button works, now only the player who presses the button will exit the game.
    • Removed the old drop out handling where players disconnecting would kick everyone from the game.
    • Tweaked how the score messages are changed, now only the host changes the text. (Prevents conflicts between scores)
    • Swapped out the level previously made with tiled sprites for a tilemap object instead.
  • [Music Jukebox] New example by Perri "TeckGeck" T.F. (TKGK Interactive)

🕹 Premium Game Templates

🎨 Assets

Free asset packs by Quaternius: