GameMaker: Window commands extension

Yesterday I made a GameMaker: Studio extension that provides a bunch of utility functions:

  • Allows to minimize/maximize/restore the window on demand.
  • Allows to disable/enable minimize button, maximize button, close button, and window movement.
  • Allows to override behavior for when minimize/maximize/close buttons are clicked.

It is available for free via; Some examples of uses follow.

Continue reading

GameMaker: Flash window / taskbar button

Today I wrote a tiny GameMaker extension that allows to "flash" the game's window and/or it's taskbar button.

This is most often used to notify the user of something happening in the game while they don't have the window focused - for example, if you have some sort of matchmaking system in a multiplayer game, you'd want the user to become aware that someone joined their game even if the game window is currently minimized.

The extension is incredibly straightforward (a single function with "flags" for options), is documented, and includes C++ source code for ones curious about it. Marketplace

GameMaker: Windows-specific functions for Studio

While working on one of recent projects, I've stumbled upon few common issues that many meet - even if you are only targeting Windows in GameMaker: Studio, you cannot access files outside the game's AppData directory (not even in program directory). Neither you can order system to open a file, meaning no external "readmes" to be easily hooked up with game, nor portable configuration files, and some other limitations.
So I took an evening and made a simplistic DLL library to bring equivalents to some functions (sleep, execute_shell, non-sandboxed I/O) back for Windows target. Function list is as following:

Continue reading

Tululoo: Analog Control extension (updated)

Today I've updated my Tululoo example for analog controls.
If above image isn't very illustrative, these are small on-screen circles, that can be used in applications and games to convert user input from on-screen coordinate to a vector.
In contrast to not very documented example that I've made last spring, this is now presented as an extension.
That has detailed documentation, quite cleaner structure, and more functionality (for example, now it's possible to check if a specific analog control element was pressed, similar to keyboard keys).
As one can probably guess, it also handles touch input on mobile devices accordingly, allowing multiple controllers to be interacted with at once.

Download (extension + example)