Hi GDevelopers,
We hope you enjoyed your holidays.
But now, it’s time to get back to work and we already did on GDevelop. So, this is the first monthly recap of GDevelop and it will contain an explanation of the features we’ve been working on the previous month (and even since the last version of GDevelop as it’s the first recap). I hope we’ll be able to write such a recap each months but we can’t guarantuee that we’ll write one every months.
So now, let’s see what happened during this month.
[size=150]Inventory extension[/size]
This new extension will be included in the next version of GDevelop for both the native and the HTML5 platform.
It provides a simple way to store the amounts of “items” with contraints on them (can the player has an infinite number of a particular item, or just a particular amount of it ? …). You can also equip an item and get the equipped item (if the item is not in the inventory, then it’s not equipped) and tests for the existence of an item.
The items are represented as strings and the extension can manage different inventories (by names). They can also be serialized or unserialized in a variable, a good way to easily save the inventory of a player.
Note that this doesn’t provide an user interface to see or edit the inventory. It’s just a virtual inventory in memory.
[size=150]Anchor behavior[/size]
This new extension will be included in the next version of GDevelop for both the native and the HTML5 platform.
This new behavior will allow the developer to anchor the objects’s edges to the sides of the game window. This is really convenient for games that want to support multiple resolution. For instance, you can ensure that an object stay 100px away from the bottom-right corner of the window. You can also attach each edge of the object to a different side of the window, causing the object to stretch to keep its edges to the specified distance of the window’s sides.
In fact, setting a distance constraint between the object’s edges and the window’s sides is not the only feature of the behavior. You can also set an edges of the object to stay at a relative position on the window.
For example, you can set the left edge to stay at the 0.5 relative position of the window so that the left edge of the object stays at the center of the window. You can combine the different anchors to make your objects position and resize as you want without any events.
[size=150]Improved link event[/size]
This feature is yet to be merged in GDevelop’s source code for the next version.
As requested by some users on the forums, the link event has been improved. It’s now possible to link only to an events group of a scene/external event sheet. This allows to include only parts of scene/external events sheet’s events without having to update the events lines numbers after each update of the included scene/external events sheet. The option to include only events from a start position to an end position will be deprecated and only available for already existing link events that were using it.
[size=150]Optimizations[/size]
Some users have reported a big loss of performance when using large tilemap objects with collisions conditions or with the platform behavior. This was caused by GDevelop considering all the hitboxes of the objects as soon as the objects were close enough to collide. As tilemaps contains as many hitboxes as tiles, this was causing huge fps drops. This will be fixed in the next version of GDevelop as it now uses a “hint” rectangle to request only the needed hitboxes from the objects. So, the size of the tilemap doesn’t matter anymore.
Also many optimizations have been implemented for the HTML5 platform.
[size=150]Bugfixes[/size]
Some bugs have been fixed:
- Howler.js (the library managing sounds on the HTML5 platform) was updated to fix the music looping issue
- We worked with the wxWidgets devs to fix a memory corruption causing random crashes in GDevelop on Linux. This will be fixed when the next bugfix version of wxWidgets (3.0.3) will be available in the Linux distributions
- Fix a memory corruption in compiled games that could cause a random crash too
That’s it for the first monthly recap of GDevelop.
Feel free to discuss the above points or ask questions about the future of GDevelop.