github 4ian/GDevelop v5.0.0-beta110
5.0.0-beta110

latest releases: v5.4.203, v5.4.202-beta, v5.3.201...
3 years ago

✨ 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.

image

  • 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() and Object.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.

image

  • 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 and YFromAngleAndDistance (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)).
  • 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
  • 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!)

Don't miss a new GDevelop release

NewReleases is sending notifications on new releases.