GameMaker Manual - GameMaker.info (2024)

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

Changes

  • 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.

Incompatibilities

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.

News

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.

Tutorial

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 - GameMaker.info (2024)

FAQs

What are the directions in GameMaker manual? ›

Note that directions in GameMaker are usually calculated as 0° being right, 90° being up, 180° being left and 270° being down, and that the gravity and gravity_direction variables can modify the direction value when they are used in your games.

Is GML similar to C++? ›

GML is very similar to C++ or C#, so that might be a good place to start.. GameMaker Language, often shortened to GML. It is based on C and is compiled into C++ before being linked (in GMS2, at least).. C++ is hard compared to GML but you can do a lot more with it.

Is GameMaker easy for beginners? ›

Is GameMaker good for beginners? Yes! GameMaker Studio is relatively easy to learn compared to other game engiens like Unity or Unreal, as you can make a game without very much code or scripting. However, the games made in GameMaker are geneallly not as complex as with other game engines.

Is GML similar to Python? ›

GML is designed specifically for GameMaker and shares some similarities with languages like C and JavaScript, but it is not Python. However, it's possible to use Python or other programming languages for certain tasks within a GameMaker project by using external libraries or DLLs and interfacing them with GML.

What coding language does GameMaker use? ›

The GameMaker Language (also called simply GML) is the proprietary GameMaker scripting language. This language is structured to permit users to create their games in an intuitive and flexible way while offering all the power of any other major programming language.

What are steps in GameMaker? ›

A single step, is basically the loop that runs constantly with all the events being checked and triggered as necessary while the game runs, so as you can imagine, the Step Event is an event that is checked every single step of the game while the instance exists.

Is GML hard to learn? ›

GML is significantly easier to learn and use than many other languages. However, if you're familiar at all with more complicated languages, GML will most likely be a breeze to learn and implement. The learning curve for GML is thankfully not too steep.

Is GML like Java? ›

No, GameMaker does not use Java for its game development process. GameMaker Studio, developed by YoYo Games, utilizes its own scripting language called GameMaker Language (GML). GML is a C-like language specifically designed to be used within the GameMaker environment.

What does ++ mean in GML? ›

++, -- are used to add or subtract one (1) from a value. It is worth noting that placing this before or after the value to be added to or subtracted from will have slightly different results. For example: ++a will increment the variable and return the incremented value.

Is GameMaker 100% free? ›

GameMaker (formerly Game Maker Studio), a 2D engine that was acquired by browser firm Opera in 2021, has simplified its licensing structure, declaring it "Free for Non-Commercial Use." If you're making a game with GameMaker for release on consoles, you have to pay for an ongoing $80-per-month Enterprise package.

Is GameMaker free now? ›

GameMaker is Free for general use. You may purchase a commercial licence to sell and distribute your games en masse if you like - See the Get page for GameMaker Professional. Enterprise subscriptions are available for console developers.

Should I learn Unity or GameMaker? ›

Unity excels in versatility and advanced features, making it suitable for a wide range of projects, while GameMaker Studio 2 offers simplicity and accessibility, particularly for 2D game development and rapid prototyping.

Does GameMaker Studio require coding? ›

Does GameMaker require coding? No, not for basic games thanks to its DnD system. However, as your game complexity increases, using GML becomes almost inevitable. It is highly recommended to learn GML to harness the full potential of GameMaker.

Is there anything better than Python? ›

JavaScript. JavaScript is a high-level and dynamic programming language that is famous for its capabilities that can be used for a variety of tasks. This is another Python alternative because it has a straightforward syntax and is considered among simple coding programs like Python.

Which game engine is built in Python? ›

Top 5 Python Game Engines Compared
EngineLanguagesPlatforms
Ren'Py 2004 // 2D //Pythonmobile, desktop, browser
Cocos2d 2010 // 2DC++, Python, Javascriptmobile, desktop, browser
Panda3D 2002 // 2D + 3DPython, C++desktop, browser, mobile
UPBGE 2D + 3D //Pythondesktop
1 more row

What is the direction variable in GameMaker? ›

You supply the direction value from 0° to 360° - where right is 0°, up is 90°, left is 180° and down is 270° - and you can also set the relative flag to add/subtract the value you give to the current direction.

What is the direction of the path in GameMaker? ›

When a path is created, its orientation is the default 0 degrees, but you can set this value to anything you wish using this. Remember that in GameMaker (unless you are using physics) the angles are calculated counter-clockwise, so setting the path orientation to 90° would rotate the path to the left.

What are sequences in GameMaker? ›

A sequence is essentially a collection of other assets that are collected in one place and then animated together. The final animation (sequence) can then be added to rooms in your game much like instances.

How do you move left and right in GameMaker? ›

Remember, in a GameMaker room, to move right we add to the x position and to move left we subtract, so this code will give us a positive or negative value that we can add or subtract to move horizontally or vertically depending on the keyboard input.

References

Top Articles
Latest Posts
Article information

Author: Lakeisha Bayer VM

Last Updated:

Views: 6247

Rating: 4.9 / 5 (69 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Lakeisha Bayer VM

Birthday: 1997-10-17

Address: Suite 835 34136 Adrian Mountains, Floydton, UT 81036

Phone: +3571527672278

Job: Manufacturing Agent

Hobby: Skimboarding, Photography, Roller skating, Knife making, Paintball, Embroidery, Gunsmithing

Introduction: My name is Lakeisha Bayer VM, I am a brainy, kind, enchanting, healthy, lovely, clean, witty person who loves writing and wants to share my knowledge and understanding with you.