
AutoTools For GameMaker
A downloadable asset pack
Auto Tools is a GameMaker package of GML functions I've created over the course of my time as a game developer. They are incredibly useful functions I make sure to include on every project I start.
It includes:
v1.01 Update
Destroys any ds object if it exists
destoy_ds(_ds)
Checks if instance exists and destroys
destroy(_instance)
Runs a "show_debug_message" command that showcases a ds_grid
print_grid(_grid)
Returns true/false if the values of an array is found in an array
array_in_array(_value,_array)
v1.00
Prints a debug message or array of messages to the console with a separator
print(_debug_message, _separator=" - ")
Draws on-screen debug info showing mouse GUI coords and an optional offset marker
draw_mouse_debug_info()
Returns the length/size of a string, array or DS container
len(_obj)
Remaps a value from one range into another
remap(_value, _current_lower_bound, _current_upper_bound, _desired_lowered_bound, _desired_upper_bound)
Moves a toward b by up to acceleration without overshooting
approach(a, b, acceleration)
Checks whether a value exists in an array
in_array(_value, _array)
Concatenates all arguments into a single string
concat()
Converts a world-space X coordinate into GUI-space X
get_gui_x(_x)
Converts a world-space Y coordinate into GUI-space Y
get_gui_y(_y)
Converts a world-space (X, Y) into GUI-space coords
get_gui_from_pos(_x, _y)
Returns true if a point lies within the current view plus an optional margin
is_on_screen(_x, _y, _margin=0)
Applies an easing/tween function to a normalized progress value (includes a TweenType enum)
tween(_tween_type, _lerp_val)
Returns delta time in seconds (delta_time is in microseconds)
dt()
Returns true with the given percentage chance (0–100)
random_chance(_percent_chance)
Casts a ray from a point in a direction up to a max range, stopping on collision
raycast(_x, _y, _dir, _range, _objToCollide)
Builds an array of size _size by randomly picking unique elements from another array
create_non_repeat_array(_from_array, _size, defaultValue=undefined)
Checks if the current animation will exceed its last frame this step
is_anim_end()
Draws text with a given font and horizontal/vertical alignment, then resets alignment
draw_text_halign(_x, _y, _font, _txt, _halign=fa_left, _valign=fa_top)
Draws wrapped text with alignment, color, alpha, then resets alignment
draw_text_align_ext(_x, _y, _font, _txt, _halign, _valign, _color, _max_width=999, _separation=6, _alpha=1)
Draws wrapped, transformed text with alignment, scaling, color, alpha, then resets alignment
draw_text_align_transform_ext(_x, _y, _font, _txt, _halign, _valign, _color, _max_width, _separation, _alpha, _angle, _xscale, _yscale)
Clears every tile in the specified tilemap layer (sets to index 0)
clear_tilemap(_layer_name)
Retrieves the raw tile data (index + bits) from a tilemap cell
tile_get_data(_layer_name, _x_cell, _y_cell)
Returns only the tile index (stripped of flip/rotate bits) from a tilemap cell
tile_get_actual_index(_layer_name, _x_cell, _y_cell)
Sets the tile index at a specific cell in a tilemap layer, preserving bit flags
set_tile_to_index(_layer_name, _x_cell, _y_cell, _index)
Pauses execution for a specified duration by busy-waiting (blocks game loop)
sleep(_milliseconds)
Think of it as a lightweight standard library for GameMaker—drop in Auto Tools, import the script file, and instantly unlock dozens of small but powerful functions that handle common patterns so you can focus on your game’s unique logic.
Do you use GameMaker and interested in fast-tracking your development? Make sure you check out my other Auto packages!
AUTO UI
- A powerful and flexible UI package built specifically for GameMaker developers who want fast, modular, and highly customizable user interfaces.
AUTO INPUT
- The easiest way to handle every type of player input in your GameMaker project—keyboard, mouse buttons, gamepads, and analog sticks—all through a single, consistent API.
AUTO TILE
- A fully modular, extensible autotiling solution for GameMaker that supports both 4-directional (16-bit) and 8-directional (48-bit) bitmasking (otherwise known as auto-tiling).
AUTO DUNGEON
- A drop-in, fully-customizable 2D dungeon procedural generator for GameMaker that lets you turn a single line of code into sprawling, handcrafted-feeling levels.
Updated | 14 days ago |
Published | 29 days ago |
Status | Released |
Category | Assets |
Author | ome6a1717 |
Made with | GameMaker |
Tags | extension, functions, Game Design, Game engine, GameMaker, helper, methods, package, tool, tools |
Average session | A few seconds |
Download
Click download now to get access to the following files:
Development log
- AutoTools for GameMaker released!29 days ago