The largest collection of useful general GML functions (Math, AI, Linear Algebra - Vectors, Arrays, Structs, Strings, File Search, Paths, Conversions etc)
- Download the .yymps file on the right side of the page under "Releases".
- Inside GameMaker, use "Tools > Import Local Package", then import TurboGML files into your project.
The purpose of this library is to have functions that are generic (instead of very specific) and very likely to be useful in your game (from my own experience), so it was made thinking about being used in its entirety, rather than in parts. So I recommend just importing the .yymps file, where it will contain all the functions.
Making this library took me a long time, so please click on the STAR icon, this way you:
- Shows gratitude;
- Support my work;
- Help other people find the repository;
- Save this in your library and you can track updates.
- P.S. I also create cool paid stuff. :)
- Math functions (relerp, linearstep, smoothstep, step, cos/sin01, approach, angle_towards, is_even/odd/prime_number, fibonacci, gcd, fraction_reduce, etc)
- Vectors (Vector2, Vector3, Vector4)
- Raycasting (raycast_hit_point_2d, screen_to_ray...)
- General (print, fps_average, sleep, invoke...)
- Data (ds_debug_print, uuid3, uuid4, uuid5...)
- Arrays (array_create_2d, array_create_3d, array_choose, array_sum, array_max, array_min, array_mean, array_is_empty, array_copy_all...)
- Strings (string_password, string_zeros, string_limit, case functions, string_reverse...)
- File Search (directory_get_contents...)
- File system (filename_dir_name, filename_name_noext, file_write_text, file_read_text, bytes_get_size, file_get_size...)
- Dimension Conversions - 2D and 3D (room_to_gui_dimension, room_to_gui_dimension_ext, screen_to_world_dimension, world_to_screen_dimension...)
- Instances (instance_top_position, instance_nearest_nth, instance_farthest_nth, instance_number_object...)
- Movement (move_and_collide_simple, move_and_collide_simple_tag...)
- Camera (camera_get_fov, camera_get_aspect, camera_get_far_plane, camera_get_near_plane...)
- Layers (layer_instance_top_position, layer_instance_count...)
- Paths (distance_to_path, path_get_nearest_point, path_get_nearest_point_position, path_get_nearest_position, path_get_direction...)
- Drawing (draw_line_quad, draw_line_vector, draw_cone, draw_sprite_centered, draw_surface_centered_ext, draw_nineslice_stretched_ext...)
- Blending (gpu_set_blendmode_test...)
- Colors (color_gradient, make_color_shader, make_color_rgba_shader)
- Graphics (Antialiasing, display_get_aspect_ratio, aspect_ratio_gcd...)
- Surfaces (surface_save_hdr, surface_blit...)
- Texture Groups (texturegroup_unload_except, texturegroup_debug_draw_sprites...)
- Procedural Generation (pattern_read_sprite, choose_weighted, random_pseudo_array, random_pseudo_array_ext...)
- Input (mouse_check_doubleclick_pressed...)
- Debug (ds_debug_print...)
- Audio (.wav loading...)
- Tags (tag_get_instance_ids...)