Skip to content

Releases: 4ian/GDevelop

5.0.0-beta102

26 Nov 23:31
Compare
Choose a tag to compare

💝 Improvements

  • Add support for the Asset Store on the desktop app.
    • When adding a new object, you can now browse hundreds of ready-made objects that can be added to your game in one click.
    • Search amongst assets from Kenney.nl, and visit their website for other public domain assets - as well as Asset Forge, a software to author your own!
    • Thanks to Wishforge Games for the particle effects - more to come!

image

  • Add various expressions to get angles and distances between positions or objects: DistanceBetweenPositions, AngleBetweenPositions, Object.AngleToObject, Object.AngleToPosition, Object.DistanceToPosition, Object.SqDistanceToPosition.

  • Added support for registering a game and viewing its recorded metrics.

    • This allows you to see metrics from your games: sessions, players, retention and a few other helpful metrics - without going through a third party solution.
    • It's important to note that these metrics are entirely anonymous and all sessions are "aggregated", meaning that while it's useful to understand your audience, you can't know about a particular player (the information is not stored and players are not tracked individually).
    • Use the new action Enable (or disable) metrics to start or disable these metrics. Read the help page to know more about how to register your game.
  • Objects created from events will now have their Z order set by default, so that they appear in front of objects that were on the scene at its startup.

    • Add an action/condition/expression to change the default Z order of objects created on a layer.

    If you have an existing game, activate this new feature in the game properties.

  • If you open a project started on the web-app on the desktop version of GDevelop, the resources will now be downloaded locally.

    This allows you to start working on a game in the web-app, and then download and continue working on it on the desktop version of GDevelop.

  • Add support for yes/no (or true/false) parameters for extensions made in the editor.

  • Add an option to choose the color of the grid shown in the scene editor (Thanks @ssangervasi!)

  • Allow to specify a list of options for parameters of an action/condition (for extensions made in the editor) (Thanks @arthuro555!)

  • Add an editor showing properties and effects of a layer (lighting layer or not).

  • Allow extensions to have icons, set from an icon library.

These icons are also shown for the actions and conditions of the extension (or the related behaviors) in the events sheet.

  • Make the "Create" action available both after selecting an object and in the "Actions for all objects" list (Thanks @Bouh!)
  • Add proper support for keyboard for editing the parameters of events
  • Allow the inline parameter popover to be closed with Escape
  • Add multiple improvements to the platformer starter:
    • Add ladder, checkpoints, collision with enemies (thanks @Bouh!),
    • Add fade in when going back to checkpoint and sound effects,
    • Fix some sound effects.
  • Increase and make responsive the height of selectors in the action/condition editor. (Thanks @Bouh!)
  • Make zoom direction in animation preview and hitbox editor consistent with the rest of the editor. (Thanks @Bouh!)
  • Rename the action Global color to Tint (Thanks @Bouh!)
  • Allow to change shortcuts by clicking on them in the preferences (Thanks @arthuro555!)
  • Allow the JavaScript code blocks in events to be expanded to view more lines (Thanks @ssangervasi!)
  • Use Nord as the default theme if the system theme is dark on macOS (Thanks @arthuro555!)
  • Add button to paste condition/actions after right clicking "Add condition/action"
  • Add width and height actions for Tweens (Thanks @Bouh!)
    • Add width and height actions for Tweens.
    • Add width and height tweens to the Tween example.

🐛 Bug fixes

  • Fix lights crashing the game when WebGL is not supported (Thanks @arthuro555!)
  • Fix custom textures not working for light objects (Thanks @HarsimranVirk!)
  • Fix margins/widths/extra scrollbars of the JavaScript code block events (Thanks @ssangervasi!)
  • Fix ObjectVarToJSON expression not working.
  • Try to workaround a Linux mouse freeze when renaming an item using an invalid name
  • Fix changing opacity of Sprite objects not working for objects outside of the screen
  • Fix re-opening last edited project not working on the web-app when using Google Drive as storage.
  • Fix proportional resize on the scene editor on touchscreens.
  • Fix expression to read the window title crashing the game.
  • Fix the focus not being set back to the parameter after editing it inline in the events sheet.
  • Fix the inline edition of parameters not applying changes when closed on a touchscreen.
  • Fix potential crash/internal error when setting a keyboard shortcut.
  • Fix tweens not properly applied when only one object with the Tween behavior was created in the scene.
  • Fix "pinch to zoom" sometimes wrongly triggering the opening the objects editor on touchscreens.
  • Fix events sheet not adapting immediately after window resize (Thanks @arthuro555!).
  • Fix actions to set opacity and position of the window on Windows/macOS/Linux (Thanks @arthuro555!)
    • Also add a warning on "dangerous" functions of advanced window controls that could block the preview.
  • Fix potential orientation lock issues on Android (Thanks @arthuro555!)
  • Fix completions of expressions inserted twice on touch screens.

🛠 Internal changes (for developers)

  • Add VS Code tasks for most common development tasks (Thanks @arthuro555!)
  • Use a new theme for the JavaScript game engine documentation (Thanks @arthuro555!)
    • Also add missing functions in the documentation.
  • Removed "projectFile" field from the project json files
  • Fix CircleCI configuration to avoid memory issues

5.0.0-beta101

15 Oct 19:54
e1cb634
Compare
Choose a tag to compare

💝 Improvements

  • Add better support for right-to-left languages (Thanks @denim2x!)
  • Add a condition to check if the device has a touchscreen
    • Also improve the performance of condition checking if the device is a mobile device.
  • Improvements to the File System (Windows/macOS/Linux) expressions:
    • Add FileSystem::ExecutableFolderPath expression to get the path to the folder where the game executable is located.
    • Add expressions FileSystem::DirectoryName, FileSystem::FileName and FileSystem::ExtensionName to extract part of a path.
  • Add more actions/conditions/expressions to manipulate the window on Windows/Linux/macOS (Thanks @arthuro555!)
    • Allow to set the position of the window, minimize/maxizime it, resize it,
    • Allow to enter a fullscreen and "Kiosk mode" (where the user can't disable the fullscreen),
    • Allow to set the window opacity, enable/disable shadow (according to the OS) and use other advanced features.
    • Add a condition to check if the game is in fullscreen mode (Thanks @arthuro555!)
  • Add missing translations in the context menu (Thanks @Bouh!)
  • Show the description of the expression when filling the parameters of an expression (Thanks @arthuro555!)
  • Multiple improvements for touchscreen/tablets:
    • Allow whole object row to be dragged on touchscreens
    • Add support for context menus via a long touch on Safari iOS
    • Add padding to the hit area of resize/rotate buttons on touchscreens
    • Don't autofocus search bars on touchscreens
  • Add examples for the Tween animations feature:
  • Add "Layer Effects" example (Thanks @the-gem-dev!)
  • Add new icons for starter games when creating a new project (Thanks @the-gem-dev!)
  • Add latest tutorials from Wishforge Games (follow the channel on Youtube)
  • Improve the "Platformer" starter game with a parallax background.
  • Add an "asset store" to the web-app, with objects ready to use and a library of resources when editing objects. This will be improved and added to the desktop app if useful.
    • Search amongst assets from Kenney.nl, and visit their website for other public domain assets - as well as software to author your own!
    • Thanks to Wishforge Games for the particle effects - more to come!

🐛 Bug fixes

  • Fix optional parameters wrongly included in an expression when not filled in the expression parameters window (Thanks @ssangervasi!)
  • Fix grid snapping being disabled after Alt+Tabbing to another window (Thanks @ssangervasi!)
  • Fix game crash with lights when the device is lacking WebGL support (Thanks @HarsimranVirk!)
  • Fix focus being lost when redefining a variable in the instance properties editor
  • Multiple fixes for the P2P feature (Thanks @arthuro555!)
    • Fix "Send variable to all peers" action
    • Multiple disconnection from remote instances can now be tracked using events
    • Add a condition to detect when another instance connects remotely to the current instance
  • Multiple fixes for the web-app:
    • Fix changes in extensions not properly applied when previewing a game in the web-app
    • Fix potential loading ("CORS") issues in game previews in the web-app
    • Fix images sometimes not loading and export sometimes erroring in the web-app
  • Fix margins around renamed list items (Thanks @Bouh!)
    • Also fix some UI glitches, disable spellcheck on some text fields
  • Fix memory leak when reloading resources from objects.
  • Fix outlines of the Shape Painter object, that were not visible in a specific case (Thanks @Bouh!)
  • Fix FileSystem::UserHomePath expression not working
  • Fix FileSystem::ExecutablePath description

🛠 Internal changes (for developers)

  • Update guidelines about JS code style in the game engine
    • Android 4.x and IE 11 are officially not supported.
  • Update howler.js library (Thanks @arthuro555!)
  • Remove PIXI hack in renderer objects (Thanks @Bouh!)
    • Remove hack for opacity on sprite
    • Remove hack opacity on tiled sprite

5.0.0-beta100

01 Sep 18:34
Compare
Choose a tag to compare

This release is a bugfix release. See all the new features in beta 99: dynamic 2d lights, keyboard shortcuts, Solarized Dark theme and Peer to Peer communication.

💝 Improvements

  • Added link to GDevelop reddit page on start tab (Thanks @the-gem-dev!).

🐛 Bug fixes

  • Fix crash/error when exporting to Windows/macOS/Linux.
  • Fix Tween behavior not working with BB Text object color and Light object color.
  • Fix Tween behavior sometimes not working properly.

5.0.0-beta99

31 Aug 01:01
Compare
Choose a tag to compare

✨ New features

These new features include two new features developed during Google Summer of Code by @NilayMajorwar and @HarsimranVirk. A huge thank to both and congratulations to them for managing to get these features done and released!
We also thank all the other contributors for this version: @arthuro555, @the-gem-dev, @Bouh, @PawBud, @rs4231199

Add support for customizable keyboard shortcuts (Thanks @nilaymajorwar!)

  • In the preferences, browse the list of existing shortcuts. Try the existing ones to speed up your creation worflow!
  • For each command available in the command palette, a shortcut can be added, changed or removed. Open the command palette with Ctrl+P (or Cmd+P on macOS).

Add support for dynamic 2D lights (Thanks @HarsimranVirk!)

  • This adds a Light object that can be added on the scene, with a customizable color and radius.
    • Add the Light Obstacle behavior to the object that must acts as obstacle (walls, etc...) to the lights.
    • You can customize the ambient color of the rest of the scene from almost white (useful to show light shadows) to entirely black (useful for horror/exploration games) or any color.
    • Use effects on the "Lighting" layer like "Kawase Blur" to achieve soft shadows.
    • You can also use a custom texture to render the lights, enabling lights with visual effects.

gdevelop lights

Add experimental Peer-to-Peer communication extension (Thanks @arthuro555!)

  • This allows to transmit messages on the network to different remote players, enabling simple multiplayer games.
    • Read the documentation on the wiki to understand how it works, limitations and capabilities of the extension. In particular, for released games, it's recommended that you host a broker server allowing game instances to be discovered and connected.
    • This feature is experimental and fairly "low level", meaning that it's not a drop-in feature that will transform any game in a multiplayer game. Be sure to read the documentation to understand how it works and what are the limitations.

Thanks to @arthuro555 and volunteers that helped to test this extension.

New Solarized Dark theme (Thanks @the-gem-dev!)

image

💝 Improvements

  • Add "Game Feel Demo" by Sleeper Games
  • Make the action to send a web request "asynchronous" (not blocking the game execution)
    • The result from the request is stored in the specified variable (and any error in another variable)
    • This avoids blocking the game execution while the request is being made, and allow multiple requests to be made at the same time.
  • Upgrade to Pixi 5.3.3 (Thanks @Bouh!)
  • Improve alerts display on small screens
  • Update the AdMob icon (Thanks @the-gem-dev!)
  • Add a close button at the bottom of the search panel (Thanks @PawBud!)
  • Update phonegap-build version to v9 (Thanks @arthuro555!)

🐛 Bug fixes

  • Fix vibration not working in exported Android games.
  • Fix behavior not destroyed in a live preview when the behavior is removed from an object
  • Fix menu bar shown in exported games on Windows/macOS/Linux

🛠 Internal changes (for developers)

  • Add this section for developers in the release notes (Thanks @Bouh!)
  • Add script to generate list of community-made extensions (Thanks @rs4231199!)
  • Allow extensions to declare dependencies (npm, cordova...) and custom properties in the project (Thanks @arthuro555!)
  • Add TypeScript checks to gdjs.RuntimeScene, gdjs
  • Remove methods polluting Array prototype in gd.js

5.0.0-beta98

28 Jul 23:00
Compare
Choose a tag to compare

✨ New features

Introducing Live Previews

  • GDevelop now supports "live previews" (also called hot reloading): apply the changes you made in the editor to your game preview - without restarting the preview.

    • Try live previews by running your preview as usual, then click again on the same button to apply any change made to your game to the preview. Read the documentation to learn more.
    • This is also working using the Network Preview (Preview over Wifi), including on other devices (phones, tablets...). Just launch the preview over Wifi/LAN on your device(s), and press the preview button to apply any changes made in the editor.
    • The debugger now also works with games run using Network Preview (Preview over Wifi).

    Hot reload

    • When you're editing an object, variables or layer effects, you can also use the new button Apply changes to the running preview to see your changes in your running game:

    Hot reload effects 2

Command Palette to boost your speed when using the editor

  • The editor now features a Command Palette, allowing to quickly launch tasks or open editors (Thanks @NilayMajorwar!)
    • Press Ctrl+P (or Cmd+P on macOS) to show the Command Palette on the screen.
    • Then browse the commands or start typing the name of command. You'll find commands for most actions and editors of the interface:
      • Tab-related: Open scene, Open external events, Open external layout, Open extension
      • Scene editor: Edit object, Edit object variables, Edit object group, Edit layer effects, Open scene properties, Open scene variables, Toggle grid, Toggle mask, Setup grid and some panel-opening commands like Open properties panel, Open layers panel, etc...
      • Events editor: Create empty event, Add event of type, Search events, Add sub-event, Delete selected events
      • Project-related: Open project properties, Edit global variables, Open project resources, Open project icons, Open a recent project...
      • and more!

ℹ️ If you want to use the Command Palette and have GDevelop already installed, activate it in the preferences.

gdevelop command palette

👏 The Command Palette is one of the Google Summer of Code projects. It will be followed in the next version by customizable shortcuts for these commands, and by a new object to show dynamic lights on screen. Thanks to @NilayMajorwar and @HarsimranVirk for their great work so far!

💝 Improvements

  • Upgrade game rendering to use Pixi.js 5.3.0, allowing games to run with WebGL 2.
    • This brings various upgrades and performance improvement to the internal rendering engine used by games, both in the editor and in exported games.
    • This also paves the way for adding new objects like Bitmap Text, Mesh or dynamic lights in the future.
    • Huge thanks to @Quarkstar for working on this task and making most of the necessary upgrades .
    • Thanks @Bouh for helping fixing/upgrading the Shape Painter object and @Silver-Streak as well as testers from the forum
  • Add Particle Effects Demo to starters (Thanks Wishforge Games! http://wishforge.games/)
  • Add Video tutorials and hints about these tutorials in the editor
  • Update exported games to run with Electron 8.2.5 (Thanks @ssangervasi!)
  • Rename StrRFind and StrFindFrom to StrFindLast and StrFindLastFrom (Thanks @Bouh!)
  • Add a visual distinction to JavaScript code blocks that are disabled in the Events Sheet (Thanks @arthuro555!)
  • Allow to change color parameters of effects in events using the RGB format (e.g: "255;100;200") (Thanks @Bouh!)

🐛 Bug fixes

  • Fix saving a file potentially resulting in an empty file in some circumstances.
    • File integrity is now checked after a project is saved.
    • Prevent concurrent save of a file (could happen if Ctrl+S/Cmd+S was kept pressed, and could result in an empty file being saved on disk).
  • Fix translations that were broken.
  • Fix BBText line heights broken in the preview and exported games
    • Also improve BBText performance when rendered in the scene editor.
  • Fix behaviors of an extension wrongly working after the extension is removed
    • This was fixed by saving and reloading the game. The behaviors are now properly unloaded if an extension is removed.
  • Fix crash when using a behavior of a deleted extension
  • Fix "Trigger Once" not working properly when used in a behavior
  • Fix parameter not properly shown for "Clear between frames" action and fix link to help page for inventory (Thanks @Bouh!)
  • Fix crash in Anchor behavior when used on a Text, BB Text or Shape Painter object
  • Fix intermittent crash when deleting an extension
  • Fix "Remove Unused Images" removing images used by BBText object.

5.0.0-beta97

21 Jun 13:51
Compare
Choose a tag to compare

💝 Improvements

  • Add a basic command palette (experimental) (Thanks @NilayMajorwar!)
    • Open the command palette with Ctrl+P (or Cmd+P on macOS)
    • The list of commands is then shown and allows you to quickly launch actions, like launching a preview, open a project, etc...
    • This is the first part of one of the Google Summer of Code 2020 project! A few commands are available now, but many more will be added in the next weeks to navigate through the project and edit any part of it in a few keystrokes.
  • Add more conditions/expressions to the Platformer Objects (Thanks @Bouh!)
    • Add the speed, jump speed and fall speed.
    • Add condition to check if platforms can be grabbed.
    • Add condition to check if the object can jump.
  • Added "Board walk with raycast" example (Thanks @paulera!)
  • Add an option to clear the shape painted using Shape Painter between each frame (Thanks @Bouh!)
  • Add an action to pause the game during a preview (Thanks @arthuro555!)
    • This is useful to then inspect the game with the Debugger.
  • Prevent a behavior to be selected in a function parameter if it's incompatible with the object.
  • Add a border around conditions in the default theme
    • This avoids confusion about two events that are next to each others, in particular for new users.
    • Also normalize styling in other themes.
  • Add buttons at bottom of events to add new events.
  • Avoid showing a drop marker when an event can't be dropped in another (comment, etc...)
  • Slightly improve startup speed

🐛 Bug fixes

  • Fix memory leak leading to a crash in the editor when having a BB Text in the scene.
    • Also fix similar smaller memory leak when using other features.
  • Fix parameter popover in the events sheet shown behind editor panel title bars (Thanks @Bouh!)
  • Fix instance variable not saved after a change if another instance is clicked while editing it (Thanks @Bouh!).
  • Fix physics engine not applying change in size when using circle shape.
  • Fix scaffolding line colors between events and some colors in Nord theme.
  • Fix potential crash by adding a check to ensure built-in extensions are not overriden (Thanks @arthuro555 !)
  • Fix internal warning (divider component in select list) (Thanks @Bouh!)

5.0.0-beta96

12 Jun 17:31
Compare
Choose a tag to compare

💝 Improvements

  • Add property to customize the ladder climbing speed for Platformer objects (Thanks @PawBud!)
  • Automatically re-open the project edited during last session (Thanks @HarsimranVirk!)
    • If a project is edited and GDevelop is closed, the project will be opened again the next time GDevelop is launched.
    • If the project is closed and GDevelop is then closed, it won't be re-opened automatically.
  • Add "Tabbed menu with layers" example (Thanks @RIR360!)

🐛 Bug fixes

  • Fix autosave not launched before preview and protect against potential data loss on save.
  • Fix behaviors not working in an extension function when named differently than in the object
  • Fix icon not shown for games manually built for Windows/macOS/Linux (Thanks @arthuro555!)
  • Fix crashes when removing unused resources or resources with invalid paths.
  • Fix crash when removing all the child variables of a structure variable.
  • Fix actions/conditions of behaviors not working when added from the context menu editor (when right clicking on "Add action" or "Add condition").
  • Fix potential crash when previewing/exporting a game.

5.0.0-beta95

29 May 20:47
Compare
Choose a tag to compare

Thanks to the 5 contributors that made improvements and bugfixes in this release!

💝 Improvements

  • Introducing a New dark theme: "Nord", based on nordtheme.com (Thanks @HarsimranVirk!)
    image
  • Add a condition to check if the game is running as a preview (Thanks @arthuro555!)
  • Add menu to open recent projects (Thanks @HarsimranVirk!)
  • Add an action to clear the state of the Dialogue Tree (Thanks @blurymind!)
    • This is useful when launching a new game or restarting it.
  • Improve autocompletions for JavaScript code events and for the game engine
  • Improve preview buttons
    • Now shown on the left of the toolbar, always visible.
    • Allow to override the default scene with an external layout.
  • Add missing numpad keys to the list of keyboard keys (Thanks @PawBud!)

🐛 Bug fixes

  • Fix pathfinding obstacle actions not working
  • Fix path to newly created project not persisted between tabs (Thanks @arthuro555!)
  • Fix changes made in extensions sometimes not applied to previews
  • Fix missing translations of preview button menus
  • Fix crash when renaming or deleting a scene (regression in beta 94)

5.0.0-beta94

14 May 19:39
Compare
Choose a tag to compare
5.0.0-beta94 Pre-release
Pre-release

This is an experimental bug fix release containing internal changes. In case of issues when using the app, please report them on the forum or as a GitHub issue, and use beta 93 if needed.

Known bug in this experimental release: renaming or deleting a scene will crash the app. Use beta 93 instead.

🐛 Bug fixes

  • Fix color picker fields that couldn't be focused when choosing a color
  • Fix help icon size in the expression selector
  • Fix error highlighting offset in expression fields

🛠Internal improvements

  • Refactor MainFrame as a functional component with hooks (Thanks @HarsimranVirk!)
  • Add documentation for gdjs.RuntimeScene setBackgroundColor and getBackgroundColor.

5.0.0-beta93

08 May 15:42
Compare
Choose a tag to compare

Thanks to the 8 contributors that made improvements and bugfixes in this release!

💝 Improvements

  • Add persistence of the layout of panels in all the editors.

    • Your layout will be automatically saved and then restored when opening a scene, extension or the debugger.
  • Rework the whole user interface to be denser and avoid empty spaces:

    • Reworked margins in the whole editor
    • Use a styled scrollbar (Thanks @Bouh!)
    • Make search bar height smaller and use an alternate background color
    • Make separation between editor panels clearer
  • More user interface improvements:

    • Open object editor when an instance is double clicked
    • Use the new action/condition editor by default
    • Show the layers editor and instances editor in a panel rather than a drawer
    • Allow all dialogs to be closed with Escape (or backdrop click)
    • Allow to step through search results by pressing Enter in Events Sheet (Thanks @jimil749 and @Bouh for the tweaks!)
    • Use green color for icons on the current plan (Thanks @Bouh!)
    • Move folder picker on top when creating a new project (Thanks @Bouh!)
    • Change a structure back to a number/string when its last child is removed (Thanks @Quarkstar!)
  • Add user home path to File System extension (Thanks @arthuro555!)

  • Internal changes:

    • Update to react-measure 2.3.0
    • Refactor ElectronMainMenu as a functional component (Thanks @NilayMajorwar!)
    • Update to Electron 8.2.5
    • Rename multiLine to multiline (Thanks @arthuro555!)
    • Remove links to non-existing sourcemaps (Thanks @arthuro555!)
    • Add type checking for WebsocketDebuggerClient (Thanks @arthuro555!)

🐛 Bug fixes

  • Fix (hopefully) previews sometimes stuck on Windows.

  • Fix renamed object not updated in ForEach, Repeat or JavaScript event (Thanks @Quarkstar!)

  • Fix intermittent rendering issues of Panel Sprites corners (Thanks @Quarkstar!)

  • Fix zoom shortcuts for non-Mac platforms (Thanks @NilayMajorwar!)

  • Fix Advanced Bloom effect (Thanks @Bouh!)

  • Fix actions to change color, font size and font family of BBText (Thanks @Bouh!)

  • Fix various Dialogue Tree extension ("Yarn") bugs (Thanks @blurymind!)

    • Fix command at the start of a node merges its text with the node that linked to it
    • Fix Yarn skipping text results when commands are used in some cases
    • Fix setting/getting variables
    • Fix text failing to load when first node is of type text
    • Add internal debug mode logging to Yarn
    • Fix "isdialoguelinetype" command never true
    • Fix new lines in text not properly detected
    • Increase strictness on scrolling so it never overflows
    • Fix command call detection for non scrolling text
    • Fix: add back autoscroll commands, but make it safer and move it to the scroll function
    • Use explicit variable types when setting bondagejs state
    • Fix command not getting called sometimes
    • Fix text not terminating sometimes
  • Fix changing font size of BBText objects using events (Thanks @Quarkstar!)

  • Fix some combinations of "subconditions" (like "And" condition with "Equal" condition inside) not working

  • Fix crash in the extension editor on small screens

  • Fix Project Manager state not preserved when closed and re-opened

  • Fix potential crash in Events Sheet when using undo/redo

  • Fix typo (Thanks @gautamv95!)

  • Ensure the color picker is never shown out of the window area