Florian Rival/GDevelop: Release v5.0.0-beta110
Name: GDevelop
Owner: Florian Rival
Release: 5.0.0-beta110
Released: 2021-05-12
License: NOASSERTION
Release Assets:
✨ New features
- Add Bitmap Text objects, an efficient way to display texts using custom "bitmap fonts" (Thanks @Bouh!)
- This allows to display texts on screen that use a "bitmap font", generated with softwares like BMFont or bmGlyph.
- Bitmap fonts allow advanced effects and custom design of each character, with complete control over the appearance of the text. This is useful for making a custom score counter, titles, button labels...
- They also render very well in a pixel-perfect, pixel-art or retro-like game.
- Finally, these Bitmap Texts are fast and efficient to render on screen: useful for scores or texts that are updated frequently.
- Add actions, conditions and expressions to get the position of an object center or set its position using its center:
- This is useful for making concise actions or conditions.
- This is also useful because for some objects, the center is not located at half the width and the height of the object.
- You can use
Object.CenterX()
andObject.CenterY()
to get the position of the center of an object in an expression.
💝 Improvements
- Rework the collisions editor and points editor (Thanks @nilaymaj!):
- Show the preview and the polygons/points side by side (on large screens), so it's easier to edit.
- The split can be dragged to give more space to the preview or to the tables.
- Show point name in tooltip when hovering on point.
- Improve the dragging of points and polygon vertices so that they continue to follow the cursor even if dragging outside of the image bounds.
- Allow to collapse polygon tables, useful if you have lots of polygons in an object.
- The checkered background in the editors are now also using different colors following the selected theme.
Rework the behaviors list with collapsible panels (Thanks @nilaymaj!)
- This is useful to hide behaviors when they are too many of them
- This also creates a more visible distinction between each behavior
Add an action to display collision hitboxes and points of objects during the game (Thanks @Bouh!)
- This is useful to check the proper set up of objects and check the position of points of objects during the game.
Allow setting the client ID in the peer-to-peer extension (Thanks @hedlund!)
- By default, a long unique ID is generated. If you use your own broker server, a game could generate a simple, but unique, ID for each game (e.g. 639239), and then specify that as the client ID. Other players can then connect to that peer using the simpler ID.
Add network and persistence configuration to firestore in Firebase (Thanks @arthuro555!)
Add new expressions
XFromAngleAndDistance
andYFromAngleAndDistance
(Thanks @Bouh!). Given an angle and distance, they return the coordinate on the X or Y axis.- Both available for objects (
Object.XFromAngleAndDistance(45, 100)
), in which case the origin is the object center, or standalone expressions (XFromAngleAndDistance(45, 100)
).
- Both available for objects (
UI improvements:
Add a preference to choose if clicking outside a dialog is cancelling changes, applying changes or doing nothing (Thanks @Bouh!)
By default, clicking outside a dialog will now do nothing. Go in the preferences if you want to change this!
Improve spacing of descriptions for checkboxes in properties (Thanks @arthuro555!)
Add the version number under the name of the extension in the presentation panel (Thanks @Bouh!)
Change the wording of the button to "Edit collision masks" (Thanks @Bouh!)
Allow an object moving vertically to change direction when diagonals are forbidden in the Top-down behavior. (Thanks @D8H!)
- If multiple keys are pressed, the last one is used to move the object.
Improve wording on some movement related action sentences (Thanks @tristanbob!)
New/improved examples:
- Add a new Dialogue Tree example (thanks potato-gamer-coder and Midhil457!)
- Add Goose Bomberman example (thanks @D8H!)
- Add Titan Souls Demo game (Thanks @HelperWesley and @arthuro555)
- Improve the p2p chat example (Thanks @arthuro555!)
- Add Bim Bam (Bust-a-Move clone) example (thanks @D8H)
- Add Tactical Game Grid Movement example (thanks @D8H)
- Add "Menu with tweens" example (thanks @Dreamkingmovies)
🐛 Bug fixes
- Fix performance issues on iOS by upgrading internal rendering engine to PixiJS v6
- Thanks @Bouh and @arthuro555 for the help!
- Fix sprite objects updating their displayed image one frame too late:
- This fixes some "flickering" when a sprite is just created, when a scene is changed or when external layout objects are created on a scene.
- This also fix objects that are not at the proper size/position/angle just after being created in events.
- Fix a potential crash when instances are selected and an object is deleted
- Fix a crash when adding an instance of a global object on the scene
- Fix multi-user compatibility on Linux (previews/exports not generated in same folders anymore) (Thanks @Oxey405!)
- Fix "Sound is playing" condition not consistent when an audio file is being loaded (Thanks @arthuro555!)
- Because of this, this could create some glitches when playing sounds using the condition to check if a sound was already playing (for example, it could trigger multiple times a sound).
- Fix Video object wrongly starting to play automatically (Thanks @Bouh!)
- Fix sounds/musics playing for a very short time at the default volume instead of the specified one
- Fix export to Android/iOS failing if AdMob id was containing invalid characters
- Fix page scrolling when keyboard was used in games embedded in web pages (Thanks @Bouh!)
- Fix invalid values ("NaN") being potentially stored in variables and corrupting the project files (Thanks @arthuro555!)
- Update the discord invite URL (Thanks @arthuro555!)
- Stick controls now comply with the "allow diagonals" setting in the Top Down movement behavior (Thanks @D8H!)
- Automatically disable smoothing of assets from asset store if the project is using the "nearest" scale mode ("pixel-perfect") (Thanks @Bouh!)
🛠 Internal changes (for developers)
- Improve the file watcher in development mode (Thanks @arthuro555!)
- Use chokidar for a more reliable and robust change detection.
- Rework GetUsedExtensions (Thanks @arthuro555!)
- Improve the type definitions of LinkedObjects (Thanks @D8H!)
- Add tests on moving platforms (Thanks @D8H!)
- Convert Firebase extension to TypeScript (Thanks @arthuro555!)
- Add more type definitions and new tests for on moving platforms for the Platformer behavior (Thanks @D8H!)
- Fix hitboxes not invalidated in TestRuntimeObject (Thanks @D8H!)
- Add a test for platformer object to fall when a platform is removed (Thanks @D8H!)