Description
FULL VERSION: Get the free trial here!
Unified. Simplified. Amplified.
With a history now spanning more than 20 years, GML has come a long way. However, organic growth has left many oddities, inconsistencies, and omissions behind.
That's where GML+ comes in: GML+ is a collection of useful functions and built-in variables designed to fill the gaps in vanilla GML and supplement it with quality-of-life enhancements it should've had all along.
Like GML itself, GML+ is not set in stone and will continue to grow with its parent language. What's more, most GML+ functions come with few external dependencies. You can pick-and-choose only the functions you need for your project. Now that's the best of both worlds!
Originally included as separate functions in other XGASOFT products, now you can have them all in one convenient package! Once you go GML+, you won't want to go back!
- Automatic integration into your project--just import and start using it!
- Additional language features, such as:
- Universal data functions like
foreach
andis_empty
- Universal data functions like
- Built-in variables and macros, such as:
- Extended mouse variables, unifying behavior with instances
- Extended instance properties, creating new possibilities for game design
- Frametime constants (easy
delta_time
)
- Dozens of useful functions you always wished were part of vanilla GML, such as:
- Extended array functions, unifying behavior with data structures
- Extended data structure functions, unifying behavior among different types
- Extended sprite functions, unifying behavior with new GMS2 features
- Extended angle functions for trigonometry (robust
lengthdir
), reflections, and more - Interpolation with easing (robust
lerp
), including custom bezier and user-generated curves - Filesystem functions (robust
file_find_*
) - Timer functions (robust
alarm
) - String manipulation functions
- Recursive struct functions
- Even/odd number functions
- Hex color functions
- ... And more! See the complete documentation for details!
For a complete list of features, visit the online documentation!
End User Licence Agreement (EULA).
Age Rating: 4+
Versions
GMS2 - Version 1.0.0. Published December 12, 2020
- Initial release
GMS2.3 - Version 1.1.41. Published December 28, 2021
- Added
collision_line_meeting
for identifying exact coordinates of a collision intersection - Added
ds_struct_equals
for recursively comparing contents of structs - Added struct support to
is_empty
- Added
emod
for calculating remainder with Euclidean division (always positive result) - Fixed
angle_refract
clipping mirror angle below 0 degrees - Improved
instance_link
to no longer depend onobj_server_gmlp
- Improved accuracy of
game_get_step
whenobj_server_gmlp
is present - Optimized mouse and frame-time constants
- Optimized
game_get_time
- Deprecated universal
image_angle_previous
,image_x/yscale_previous
for performance reasons, as they are no longer needed forinstance_link
(see Compatibility Notes)