Game Maker 3.1

Game Maker 3.1, also appearing in 2001, appeared right after Game Maker 3.0, it has been said to be an "additional and quick" version released after 3.0.

Compatibility issues
Version 3.1 is in almost all aspects backwards compatible with version 3.0. There are though a few actions and variables that you should no longer use. See below

graphics
The graphics has been completely redone using DirectX. This makes the games a lot faster, in particular on slow machine. (I noticed speed improvements with a factor 3!) You can now also scale the window. Exclusive mode is no longer supported because it creates lots of problems and gives very little speed improvement. You can though indicate whether the image should be scaled.

keyboard and mouse events
These are now treated differently. As a result your program can now react to multiple simultaneous keypresses (no need to write code for this anymore). Also mouse movements outside the window are noticed. As a result the variables keypressed, lastkeypressed and mousebutton have become obsolete. Don't use them anymore. Also, because of the new mouse events, the mouse button conditional actions have become obsolete and have been removed. You can now choose between continuous and non-continuous mouse events. Events for Ctrl, Alt and Shift key were added.

color coding
The code editor can now use color coding to indicated correct functions, variables, constants, etc.

faster collision checking
Collision checking is now a bit faster.

load and save during play
The keys  and  can now be used to save and load the game situation during game play. These can be changed using the variables loadkey and savekey. There are also functions load_game(str) and save_game(str) to do this from code.

sounds
A lot of work was done trying to improve the sound system. It turns out a lot depends on the particular system people are using and on the software installed. As a result I have decided to basically remove support for anything else than midi and wave sounds. (Mp3 can though still be used and is even improved but it is non-recommended and file selectors won't show the files.)

game options
Change the order a bit. Removed exclusive mode. Added the possibility to scale the image and of having continuous mouse events or not.

the language
The following functions have been added: Some additional key constants were added. The variables savekey and loadkey were added.
 * find_room(str)
 * move_towards(x,y)
 * distance_to_point(x,y)
 * distance_to_object(obj)
 * get_joystick_xpos
 * get_joystick_ypos
 * get_joystick_zpos
 * load_game(str)
 * save_game(str)

some smaller issues

 * Some errors are caught better
 * Startup in the runner has been made cleaner
 * You can provide a loading image for the stand-alone versions
 * Changed the way of adding values when defining rooms
 * Some visual improvements