Game Maker 5.0

Game Maker 5.0 was released in April 2003, many changes has been introduced, in particular data file resources and time lines. Also the code interpreter was extended and improved. The program got a whole facelift with nicer icons and images. A voluntary registration mechanism was included to support the development but the program can still be used for free.

Incompatibilities
Game Maker 5.0 is largely compatible with version 4.3. It can read game files created with version 4.3. You might though have to make some changes. Here are the main incompatibilities:


 * Game Maker 5.0 is no longer supported on Windows 95.
 * There is no longer an option to show the score in the caption or not (there is now an action for this).
 * Highscore options are no longer used. You can now set them in the action to show the highscore list.
 * Some actions have been changed. The old ones show a special red color and can no longer be added but they will function correctly.
 * Joysticks now have their own events and no longer generate numeric keypad keyboard events.
 * The code interpreter is a bit more picky about errors. So certain (wrong) pieces of code that where accepted in version 4.3 now generate errors. Here are some typical errors that are no longer acceptable:
 * An array declaration like ttt[100]; does not exist in GML and is not required. The new version no longer accepts this as a valid line of code.
 * An expression is no longer a valid line of code or a valid program.
 * Code after the last } now creates an error.
 * Non-used scripts are now checked for syntax errors. So these must now also be error free.

Built-in GML programming language
The interpreter for the GML language has been completely rewritten. This resulted in a speed improvement for executing code of a factor of about 5. (Realize though that often this is not the limiting factor in your games so actual speed increase might be a lot less.) Also there are new language constructs such as a switch statement, break and continue statements, the use of local variables, bitwise operators, do until statement, and multi-line comments. The new interpreter is a bit more picky about errors. So you might get error reports were you did not get them before. Also all scripts are now syntax checked before the game starts, also scripts that are not used in the game. Se these should also be error free.

Action mechanism
The mechanism for actions has been changed completely. Actions are now read from library files. This makes it easy to add actions to the program. A library builder will be provided some time in the future such that people can create their own collections of actions. A number of new actions have been added, in particular actions dealing with health and lives.

Health mechanism
Besides lives and score there now also is a health mechanism. Actions have been added to set and check the health, and to draw a health bar. Also there is an event when there is no more health.

Improved file size
Game files and stand alone games are now smaller and load faster.

Time line resource
A new time line resource has been added. This resource makes it possible to let certain actions happen at predefined moments in time. You can use this to define complicated movements or other behavior of entities, to control the way enemies appear, etc.

Data file resource
The new data file resource makes it possible to include any type of file in your game. It can also be used to use your own fonts.

Advanced and simple mode
You can select the mode in which to use the program. In simple mode many resource types and options are made invisible, making it easier to start using the program. In advanced mode it is easier to access the advanced options.

Improved visuals
Almost all images and form layouts have been improved.

Additional events
A number of additional events are now available, in particular mouse enter and leave events, global mouse press and release events, and joystick events.

Better debugger
You now get better error messages. Also, in debug mode you can get lists of all instances, the values of all global or local variables, etc.

Registration
Game Maker 5 asks you to register the program. Registration is not mandatory but it is highly recommended as it supports the further development of the program.

Smaller improvements
There many other smaller improvements, in particular:
 * a better code editor
 * the use of sprite based fonts
 * better support for joysticks
 * possibility to use external sound editors
 * easier use of external DLLs
 * room settings are now saved
 * multiple backup copies
 * creation code for individual instances
 * possibility to add creator information
 * key mapping mechanism
 * a number of additional functions has been added

Bugs corrected
A number of bugs have been corrected, in particular:
 * problems with size and position of message box
 * error in merging game
 * error with tiles outside a room
 * bug in io_clear function
 * single step in debug mode
 * negative roomspeed
 * errors in math functions
 * error when shrinking animation images
 * canceling a group creation