Game Maker 5.1

Game Maker 5.1 was released in September 2003, with many new features, in particular a particle system and the possibility to change resources on the fly. A number of the advanced features have been restricted to registered users to encourage (and reward) registration. The free version though remains available with most features intact.

Incompatibilities
Game Maker 5.1 is fully compatible with version 5.0. Version 5.1 can no longer read files created with version 4.x. A conversion program is available on the website.

Some advanced features, like multilayer games and using DLLs are only available in the registered version. Also games created with the unregistered version will show a little Game Maker logo during start-up.

XP look
If you run Game Maker under Windows Xp you will now get the XP look.

Creating resources
It is now possible to create and modify resources (like sprites, sounds, object, and rooms) during the game. An extensive set of functions is available for this. For example, rather than adding many rotated copies of a sprite to the game, you can now create them during the game. Also you can create additional rooms during game play. (Only available in the registered version.)

Enhanced drawing functions
A number of enhanced drawing functions have been added. Drawing speed with alpha value is improved (but still slow).

Particle system
A complete particle system has been added to make star fields, flames, fireworks, snow, debris, etc. (Only available in the registered version.)

Script menu
An additional menu has been added that give the following commands related to the use of scripts:
 * import of scripts
 * export an individual script or a group of scripts or all
 * show all resource names sorted
 * search for a string in all scripts
 * check all resource names for errors and duplicates
 * check all scripts for errors
 * show all built-in variables
 * show all built-in functions

Many smaller improvements
There are many other smaller improvements, in particular:
 * speed improvement for precise collision checking
 * transparent and translucent loading screens and message boxes (Win 2000 or later)
 * possibility to change the graphics mode during game play
 * a number of additional functions and variables
 * loading multiple images in the sprite editor
 * sorting resources in a group
 * when scaling images you can now indicate the required size
 * Added functions to read and write INI files
 * Possibility to change the position of the window on the screen
 * Added function draw_arrow
 * Added functions push_graphics_settings and pop_graphics_settings

Bug corrections
A number of bugs have been corrected, in particular:
 * Zooming into large images in the image editors now give a warning rather than a bug.
 * Undo in the code editor (for code actions) no longer does undos for other code actions.
 * Undo and Redo buttons are now correctly disabled.
 * Corrected an error with colorcoding when there are empty lines in multiline comment.
 * In sound form buffers are now only shown for wave files.
 * Action to change the vertical speed relative now works correct
 * Functions real and string now always use and produce a dot as decimal separator.
 * Corrected a bug with meeting_position functions and some others in which the rightmost and bottommost pixels were not taken into account.
 * Corrected a serious bug in which collisions between two objects that both have parents where not found.
 * The main window can now no longer appear outside the screen.
 * Corrected an error that arguments to the set variable action where executed twice.
 * Rotating over 90 degrees in the image editor now works correctly.
 * Background color now stays correct in certain shrinking and flattening animations.
 * Corrected a bug that mplay_session_name did return an empty string.
 * Corrected a bug that gave weird behavior of the resource tree during loading.
 * Corrected a bug in defining collision events when you had more than 4000 objects.
 * Corrected a bug that sometimes occured with the search dialog in scripts.
 * Action to set a path now handles the path position correctly.
 * Solved an error related to calling inherited events.
 * Solved an error when using continue in the with or repeat statement.