π Improvements
The homepage is dead, long live the homepage
The editor homepage has been revamped:
- New "Get Started" section, to guide newcomers on where to start with GDevelop
- New "Build" section, the entry point for your projects
- New "Learn" section, the entry point to tutorials and future help tools
- Tutorials have been categorized so that you can easily watch tutorials adapted to your level
- New "Play" section, the entry point for all games created with GDevelop
- New "Community" section, the entry point to stay informed with the GDevelop world
UI changes that came along with it:
- Add a button to start (or redo) the onboarding on the homepage (only for the web app)
- Also add new languages FR, PT & ES
- Adapt themes' colors for better contrast across the app
- Add a new "RosΓ© Pine" theme (Code Editor & UI Theme)
- Based on https://rosepinetheme.com/ and adapted by @EhanAhamed for GDevelop.
Get insights about how your games perform
Two new features can allow you to better understand how your games are doing:
- You can now open your game for feedbacks from the players
- In the Analytics tab, you can now visualize in-depth data about how your players play your game. It will help you understand how well a game is doing on several aspects:
And other changes that come with it:
- Slight rework of the game dashboard
- Allow to specify a game build name and delete old builds.
Other changes
- Tile maps collisions:
- The collision mask is now automatically read from the tile maps exported by Tiled 1.9+.
- Several collision masks can be used for instance to have platforms and ladders.
- Take a look at the wiki for more details https://wiki.gdevelop.io/gdevelop5/objects/tilemap
- Leaderboards:
- Replace leaderboards when a user opens a game template
- Allow to display up to 50 leaderboard entries in Liluo/in-game
- Extension editor improvements:
- Automatically select and rename new behaviors or functions in the extension editor
- Add a duplicate action in the functions lists contextual menu.
- Select the element that just got copy-pasted on behaviors and functions lists
- Add a button, in the Profile, to manage online the subscription to GDevelop services
This allows to easily update a payment method or switch to another plan/cancel (though this can already be done from the interface) - Add an option in the Resources editor to preload audio files in the cache without decoding (Thanks @dos1!)
- This is helpful to load the audio files when the game loads (so even if the internet connection is lost, they will be available in the "browser cache") but without decoding them in memory (which could make too much work for low-end devices, resulting in crashes)
- Make radian or degree explicit in descriptions for angles
- Automatically open a scene when a project is opened
- Add an option to wait for a network request action to end before running other actions (Thanks @arthuro555!)
- In the future, there will be other actions where you can optionally wait for their tasks to be finished before running the rest of the actions. It makes logic easier and more straightforward to express in events.
- This is similar to the Wait action, except that it's optional.
- Add a toggle to display community extensions
- Community extensions are extensions made by a community member, but which are not reviewed by the GDevelop extension team.
They can be useful, but also need to be carefully reviewed if you use some (inspect them or reach out to their author in case of doubt). - If you want to submit an extension, see the GitHub repository of community extensions.
- Community extensions are extensions made by a community member, but which are not reviewed by the GDevelop extension team.
- Avoid bad expression warnings in the console when using force actions without changing the force type
- Don't show objects already in a group in the selector to add a new object to this group (Thanks @arthuro555!)
- Adding actions to tween the value of a scene variable or a layer camera position (Thanks @arthuro555!)
- Like tweens added on objects, these tweens can be manipulated: paused, resumed or stopped.
βοΈ Extensions, π¨ assets, and πΉ examples
βοΈ Extensions
- Add Pause when focus lost, a community extension. Pauses the game when the focus of the window or tab is lost. Continues when focus is regained. (Thanks @telstarboy!)
- Add Dialog Box, a community extension. Helps to create dialogue boxes. (Thanks @pandako!)
- Add Animation system, a community extension. Which is a collection of pre-made animations. (Thanks @VegeTato!)
- Add Make it rain, a community extension. (Thanks @VegeTato!)
- Add Pushable Box, a community extension. (Thanks @VegeTato!)
- Change Yandex, remove old non-working extension with a community extension. The old one was not fully working, and unused in favor of the new one by the Russian community. (Thanks @fedoric!)
- Add Text to Speech, an official extension. Allows to use the system's text to speech capabilities. (Thanks @beaufordt!)
- Add a voice recognition example, a community extension. (Thanks @planktonfun!)
- Fix Camera Shake wrongly affecting the base layer rotation even if another layer was specified (thanks @kinglogixgames!)
π¨ Assets
- New assets are in the store: Isometric City Pack, by @buggystudio
- Fix some animations having empty sprites
- Update 16x16 dungeon tileset thumbnail
πΉ Examples
- New game templates:
- Spherez: Shoot the blocks before they touch the ground. Earn extra balls and destroy the blocks by aiming carefully.
- Absorbus: Propel your object to absorb smaller objects, but avoid larger objects or they will absorb you!
- Parking Jam: Remove the unused effect on layers.
- New examples:
- Fire bullet.
- Add a new Voice recognition example (Thanks @planktonfun!)
- Changed Flappy Bird to Tappy Planes
- Swapped out all of the art assets to Kenney's CC0 1.0 Universal "Tappy Plane" assets, and made new sound assets.
- Added a leaderboard.
- Fixed the opening scene transition.
- Changed how the game over screen is displayed.
- Update and modernize the procedural example (Thanks @Add00!)
- Update README.md with instructions on preview and thumbnail images
Changes for extension creators
- Make the Auto-PR system more robust
- Many edge cases are now handled when submitting extensions, each with a custom message sent back by the bot to ensure the submitter knows exactly what's going on
- Updated to the latest versions of the GitHub actions
- Only check the extension that has been submitted, not every other, for faster runs
- Extract the zip programmatically with a lot of restrictions to prevent using weird zip path shenanigans to put files at places they are not supposed to
- Unit tests for all of this
tl;dr A better experience when submitting the extension.
- Update readme to explain extensions new review process
- Allow to specify the first extensions to display in the editor
- Add a CODEOWNERS file for extensions
- Tweak the JS validator rules (for automated checks of extensions)
- Add tiers to extensions
- The "reviewed" tier will be reviewed extensions, as now.
- The "community" tier will be extensions that can be authored/pushed/updated freely by community members (after safety checks).
π Bug fixes
- Fix grammar for the description of the Platform behavior (Thanks @BWPanda!)
- Fix typos: replace 'Musics' with 'Music' (Thanks @BWPanda!)
- Fix Physics2 behavior contact detection
- Make it possible to activate and reactivate physics 2 behavior
- Fix behavior for objects modified or destroyed during events life cycle
- Make Physics2 Collision condition valid in any step of behavior life cycles
π Internal changes (for developers)
- Avoid warnings in the console during preview/export by cleaning old C++ include files
- Allow the web app to use relative resources if found when the project is opened from a public URL
- For example, this can be useful to open a desktop project stored on a public space like GitHub (using the "raw" raw.githubusercontent.com/... URLs given by GitHub)