Godot 2D essentials is a collection of production ready components to speed up the development of your 2d games. This components handles basic behaviours without affecting the particular logic of your game.
Full Changelog: https://github.com/godotessentials/2d-essentials/compare/v1.7.5...v1.7.6
In this release two new singletons have been implemented to handle environment variables and achievements locally in your game. Few minor bugfixes in the code and a new helper to generate random strings and validate urls.
A settings section for the plugin has been created for this new singletons, I expected to expand with more parameters in the future:
This version continues expanded the available functionality to make our life easier, in this time an AudioManager and a SceneTransitioner are being implemented to handle the repetitive things around this topics.
get_health_percent
function used in HealthComponent. #2This release was focused in supporting the plugin and fixing those little bugs while I was creating the examples of the components in action.
I acknowledge that this latest release may potentially introduce challenges for projects currently utilizing older versions of the plugin.
My decision to proceed with this update stems from the improved manageability it offers in handling diverse movements and functionalities. Additionally, given that the plugin may not be widely adopted for serious use, I believe this transition will be relatively smooth and I don't want to change the major version yet to 2.0.
I extend my apologies in advance to anyone who might have been using the previous version and is planning to upgrade to the new release.
The modifications primarily affect the VelocityComponent2D
which has now been divided into three distinct components, all sharing a common base:
The functions are named the same but called from different components. All the changes and new components are documented in the updated version of the official documentation.
I intend to continue maintaining this plugin, allocating a few hours each week to its upkeep. This effort not only supports my personal projects but also allows me to refine it based on the limitations I encounter while using myself this components.
This update introduces changes to the license, shifting from GPLv3 to MIT, and includes new functionalities and modifications to the internal API of the health component.
max_health_overflow
and health_overflow_percentage
. These variables enable extending the maximum health limit to simulate behaviors such as shields and buffs. The health_overflow_percentage
can be adjusted at any time, as it is dependent on the computed max_health_overflow variable. get_health_percent()
function now provides more comprehensive information by returning a dictionary with the current health percentage, overflow health percentage, and overflow health value.invulnerability_changed
signal now activates through the Godot set on the boolean variable is_invulnerable
.reset_jump_queue
and reset_dash_queue
no longer perform checks; resets now occur unconditionally, while conditions are moved outside.suspend_gravity_for_duration(duration: float)
. Temporarily disables gravity force for the specified duration, resulting in gravity_enabled
being set to false.coyote_time_started
, is emitted upon activation of this time interval.This release focuses on providing a working version of the main components, fixing some bugs in the movement that now allow to create a more accurate movement.
Fixes multiple issues with dash, jump and detecting walls on VelocityComponent2D that unleashed unwanted behaviours
Now the values from jump height, jump time to peak and jump time to fall can be changed dinamically and will update the other parameters (jump velocity, jump gravity and fall gravity) in runtime
Added new exported parameters and updated the comments to show in the Godot Editor for VelocityComponent2D
VelocityComponent2D connects to his own signals to activate and deactivate values in a fluid way without relying on conditionals within some functions that do not correspond to them.
Dash speed multipler minimum value now it's 1 to avoid working with lower values and reduce the speed instead of increasing it.
Dash now decelerate the previous velocity to prevent speed accumulation and exceeding the set limit.
cancel_dash()
it's now available to cancel active dashing in at any point in time.
Air friction factor is available and can be used through the function apply_air_friction()
. This factor is automatically used on dash, keep this value on 1 to prevent it from applying a brake.
Wall slide and wall climb signals are now emitted using Godot's get-set mechanism, ensuring more reliable broadcasting.
Wall jump now sets the facing direction variable based on wall normal.
Wall jumped signal now comes with the normal vector as a parameter.
The default VelocityComponent2D exported values has been adjusted for a better for a more comfortable start-up when adding the component for the first time
@tool notation it's only on that components that would be interesting to have running on the editor like RotatorComponent
HealthComponent now connects to his own signal died to interrupt the active invulnerability or health regen that could be active
Self update notifier on godot plugin use a better resolution on the GUI to make the experience more enjoyable. Automatically checks if there is a new release and displays a confirmation screen to download the new update.
New Example Utilizing Finite State Machine for Movement Management
The official documentation has been updated with the latest release changes
This beta version contains:
Multiple examples with use cases, they will be expanded on the next weeks with tutorials in more detail. OscilatorComponent work in progress