GameMaker Manual - (2024)

Version 8.1 of GameMaker has a few improvements and bug fixes over 8.0.


  • Changed room editor RIGHT mouse click priorities. Menu for normal, CTRL+RMB for delete

  • Room ZOOM mode added

  • Mouse Wheel ZOOMS in room editor

  • Middle mouse button PANS around the room.

  • Transparent Background Settings dialog moved to main form.

  • Transparent Background grid size now a global setting.

  • Transparent Background grid added to room editor.

  • Transparent Background grid can now have user colours.

  • Image Editor now uses the mouse wheel to zoom.

  • Image Editor now uses the middle mouse button to "pan"

  • Can now PAN around inside the PATH editor using the middle mouse button.

  • You can now change the default background colour for rooms (when no ROOM background has been set)

  • You can now disable background room filling, so you can see the background GRID when no ROOM colour has been set.

  • Added +/-/= zoom buttons to Room toolbar

  • You can now RIGHT CLICK an object and EDIT it from within the Room Editor.

  • Rendering inside the Code Editor sped up.

  • inside the code editor, you can now mark a block of text and use TAB and SHIFT-TAB to tab it in and out.

  • News window now resizable.

  • Room settings now remembers "maximised" setting.

  • Shiney new ABOUT box.

  • Resource renaming changed back to windows default; F2 (was changed from F2 to CTRL-R in GM 8.0)

  • Code window now has a "toggle" icon for Code Completion on/off

  • You can now press ESCAPE inside the code editor to get rid of the code completion box.

  • GameMaker now saves .gm81 files (instead of .gmk)

  • New .EXE encryption

  • New News feed system added

  • draw_self() added

  • os_type returns you the operating system your running on (win, mac, ios etc.)

  • os_device returns you a device type (iPhone, iPhone4, iPad etc.)

  • ZBuffer is now 24Bit

  • Hardware T&L for Faster 2D and 3D rendering.

  • You can now change the background colours of the code editor, including the current line and selection.

  • "Delete underlying objects" Now off by default in the room editor.

  • You can now use &ltAltGr&gr (right alt) in the code editor to insert accented characters.

  • d3d_light_define_ambient( colour ) added for a global ambient

  • You can now set the default TAB on the object panel (so you can default to the code panel for example)

  • In Standard Edition, script searching will now search ALL scripts, including objects, rooms, creation events, timelines and triggers.

  • added dot_product(x1,y1, x2,y2)

  • added dot_product_3d(x1,y1,z1, x2,y2,z2)

  • added point_distance_3d(x1,y1,z1, x2,y2,z2)

  • Font creation totally rewritten. Now produces much nicer anti-aliased fonts, and doesn't cut them off.

  • You can now change the "Execute a piece of code" in D&D action list, by using the 1st line of your script and a "///" style comment at the start.

  • Undo in Text Editor. when you undo a change and then save the script or run the game, the change is not saved.

  • Error in reading reals from text files. When you read two numbers from a single line in a text file and the first one is 0, the numbers are not read correctly.

  • 0000536. mp_grid_add_cell is bugged. Also fixed same issue in mp_grid_clear_cell is bugged

  • 0000597. Overly large images were not being clamped correctly and were causing corruption.

  • 0000589: tile_layer_find() doesn't account for scaling. (also in tile_layer_delete_at(), tile_find(), tile_delete_at() )

  • 0000255: Replacing code at the start of the line. cursor column was going negative.

  • 0000580 - If you use sprite_create_from_surface on a blank surface the sprite will be completely opaque.

  • sprite_create_from_surface: if you set paramater "removeback" to 2, it will now copy the alpha "as is".

  • If you created a background image but didn't add one, the game would fail to load.

Version 8.0 of GameMaker has a large number of improvements over version 7.0.Below the most important changes are described.


Text splash screens can no longer show images. However, web splash screens have been added that canshow full html documents with images, etc.

A number of changes have been made to the functions related to sprite and background resources. Thisis due to the fact that GameMaker uses a completely new mechanism for these resources. If your gameuses a lot of calls to functions that load or save image resources on the fly you are strongly recommendedto keep using the old version 7.0 for that game.

If you use extension packages you will have to reinstall them.

Some changes have been made to the timeline mechanism that can lead to incompatibilities. In particular, assigning atimeline and starting it are now two separate things.

An important bug has been solved in which collision events where executed twice if twoobjects have collision events with each other. Some games however might have relied on this bugand, hence, might no longer function correctly.


GameMaker now default shows a News page when it is started. Here new versions will be announced,new resources will be indicated, thereis information about competition, and game design tips and tricks. News is shown only once a day. In the StandardEdition this can be switched off. You can always access the news through the Help menu and you are encouragedto regularly check the news for important information about GameMaker.


GameMaker now has a standard built-in tutorial for beginners. It is shown in a panel at the right of thescreen. Experienced users can indicate that they do not want to see the tutorial anymore. To accommodate for thetutorial panel, GameMaker is now default started in full screen mode. It does however remember its settingsso changing it once to windowed mode will from that moment on start it in that mode.

Alpha-blended backgrounds and sprites

The new version GameMaker uses backgrounds and sprites with alpha (transparency) channels. This makes itpossible to create and use much nicer sprites. PNG files with such information are now correctly loaded. The spriteand image editor have been completely rewritten, including many new drawing options and effects. A newsprite file selector was added that shows the animations in the sprites. Also we bundlea large number of high-quality sprites with GameMaker that you can use for free in your games.

Enhanced collision checking

You now have more collision checking options. For example, you can indicate that collisions should be with anenclosed disk and you have better control over the bounding box.The sub-image of the sprite can have a combinedmask and you can set the dependence on the alpha transparency value.

Splash screens

A new function splash_show_web(url,delay) has been added that can be used to show web pages as splash screens.You can also use local html pages for this. This allows for a powerful mechanism to e.g. create help pages. Aclose button is added to the splash screens. Also a number of new actions have been added to show thedifferent types of splash pages and to change splash settings. (The old Show Video and Webpage actions havebeen removes as the new actions include them. They will though still work in old games.)

Trigger events

A new type of event has been introduced: Trigger events. Trigger events you can specify yourself. You give thema name and a condition, written in GML. After this they can be used in all objects, just like other events. Withthis you can easily extend the functionality of GameMaker.

Time lines

The timelines have been extended. The property form has additional buttons to e.g. spread out the moments andto delete or duplicate ranges of moments. Timelines can now be paused and restarted and they can even be played backwards.Also they can now loop automatically.

Importing and exporting resources

The possibility to merge games has been replaced by a much more extensive system to import and export resources.The user can indicate which resources to export to a file (.gmres). Next they can be imported in a different game.In principle only one resource can exist for each name. When there is a name conflict when importing theuse can specify to keep the original, replace anyway, take the one that is most recently changed, orkeep both (not recommended). To be able to do the third option, all resources now keep track of whenthey were last changed.

Rewritten script and code editor

The built-in script/code editor has been completely rewritten, making it a lot easier to write code.For example there is pop-up function name completion, argument help, matching brackets, improved color coding,line numbers, on-the-fly error checking, code snippets, and a sophisticated find and replace functionality.

Speed improvements

The speed of games that use code has been considerably improved. A speed-up of up to 100% issometimes possible. Also the loading time for games is often considerably improved.Also when running a stand-alone game.

Other changes

There are a number of other changes and additions. Here are some of the important ones.

  • You can now use high quality icons for your games.
  • Constants can now be defined in their own form (rather than through the Global Game Settings). As a result they can remain visible while you are e.g. writing scripts. You can also load andsave the constants to text files.
  • Also included files are no longer shown in the Global Game Settings but in their own form.
  • Many small visual improvements
  • Added function random_range(x1,x2), irandom(x), and irandom_range(x1,x2). The latter do give integer results and can include x or x2.
  • Added functions mouse_wheel_up and mouse_wheel_down.
  • Added a function set_application_title(title) to set the title of the application (which is shown in the taskbar).
  • Added function file_text_eoln().
  • Added read-only variabe debug_mode.
  • There is now a game setting to disallow screensavers or powersaving options (sleep, hybernate) while the game is running (default disallowed).
  • Added functions disk_size(drive) and disk_free(drive) and a variable gamemaker_version.
  • Runtime error messages better indicate the position of the error
  • You can now change to location of the temporary files, see the page on Preferences.

Corrected bugs

The following bugs were corrected. A number of other smaller bugs were corrected as well.

  • An error message when starting the Maker on Vista with Active User Control is now removed.
  • Corrected a bug that when using Alt many fields in forms became invisible under Vista.
  • Corrected a bug with action hints not showing in the object and time line forms.
  • When opening a game or starting a new one, no longer for all open changed resource windows a separate save confirmation question is asked.
  • Corrected a (sort of) error with the precision of comparison operators in code.
  • Solved bug with a bad background for the Applies To field in code editor.
  • Creating a standalone now correctly checks whether there are any rooms.
  • Replaced all Ctrl+Alt combinatations by Shift+Ctrl because some of combinations are important for German keyboards. Also corrected the shortcut for creating sprites.
  • In simple modes, short-cuts for hidden resources and menu items now are disabled as well. Also the Scripts menu is hidden.
  • Corrected a bug in the function window_get_color().
  • Increased the limit on the number of vertices in drawing 3D primitives for models from 1000 to 32000.
  • Corrected a bug in ignoring z-value for model vertices.
  • Corrected the Outside View and Boundary View events.
  • Game will now run (with warning) when there is no enabled sound card.
  • When the game window looses focus, io events like key presses are now cleared.
  • Corrected and improved error reporting for the creation code of rooms and instances in rooms.
  • room_tile_add and room_tile_add_ext now correctly set the blending color to white and return the correct tile index.
  • Now correctly setting the application title to the file name.
  • Corrected a bug in draw_line_width_color when the length is 0.
  • Tiles with negative scale factors are now correctly drawn.
  • Changed the reading and writing of reals in text files. As decimal separator now always a dot is used. However, when reading, both a dot or comma are accepted.
  • A group of resources that is empty will now have the correct closed folder icon.
  • Solved the problem with the flashing of the resource tree.
  • Functions string and string_format no longer crash when the number is too large and they will return the string ERROR.
  • Long paths are now correctly drawn with draw_path.
  • Collapsing the resource tree now works correctly.
  • In an if condition, a value of 0.5 is now treated as true.
  • Solved a bug that sometimes occured when pressing the ~ key.
  • sign() function now correctly returns 0 when the argument is 0.
  • In the path editor, when choosing a room, clicking outside the menu no longer clears the room.
  • Slightly enlarged the debug form to show all toolbar icons. Also made the watch grid columns scale when the form resizes.
  • Corrected a bug that can cause a crash when resizing the game window to 0 height.
  • Solved a bug in ds_grid_add/multiply/set_grid_region.
  • Calls to scripts and extension functions now return a value of 0 when they do not assign a return value themselves.
  • Solved a serious bug in which collision events where executed twice if two objects have collision events with each other.
  • Solved a bug in draw_text_ext with empty lines (multiple #) and a problem with drawing strings that contains CR-LF pairs (when using multiline strings in code).
  • Read-only files can now be used as included files without errors.

« Designing Games with GameMaker

GameMaker Manual - (2024)
Top Articles
Latest Posts
Article information

Author: Jonah Leffler

Last Updated:

Views: 6118

Rating: 4.4 / 5 (65 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Jonah Leffler

Birthday: 1997-10-27

Address: 8987 Kieth Ports, Luettgenland, CT 54657-9808

Phone: +2611128251586

Job: Mining Supervisor

Hobby: Worldbuilding, Electronics, Amateur radio, Skiing, Cycling, Jogging, Taxidermy

Introduction: My name is Jonah Leffler, I am a determined, faithful, outstanding, inexpensive, cheerful, determined, smiling person who loves writing and wants to share my knowledge and understanding with you.