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.
Today I have published an extension that offers a wide variety of functions for working with INI files in GameMaker.
In doing so, it also does a better job than the built-in functions in many aspects.
This is a blog post detailing the advantages and technical details.
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. Continue reading
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:
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)