Skip to content

5.4.210

Compare
Choose a tag to compare
@ClementPasteau ClementPasteau released this 05 Sep 14:33
· 188 commits to master since this release
e9b4de2

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: