A downloadable asset pack

Download NowName your own price

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
StatusReleased
CategoryAssets
Authorome6a1717
Made withGameMaker
Tagsextension, functions, Game Design, Game engine, GameMaker, helper, methods, package, tool, tools
Average sessionA few seconds

Download

Download NowName your own price

Click download now to get access to the following files:

AutoTools v1.0.1 2025-28-04.yymps 9.5 kB

Development log