Game Maker 7.0 Speculation and Expectations

Speculations and Expectations about Game Maker 7.0 began when Mark Overmars announced that the next version of Game Maker following the Game Maker 6.1a release will be a major 7.0 version, not 6.2 as originally expected.

Initial Expectations
There were some expectations prior to the Game Maker 7.0 announcement.

Wider transparency support for images
"In the next version of Game Maker (or the version after that) my plan is to completely redo the included set of sprites and backgrounds. (...) I am now looking for one or two people that are willing to create these. (...) As the next version (or at least the version for which this is meant) will support alpha channels in images, the images in the sets must be in .png format with full use of the alpha channel for removing the background, smoothing the boundaries"

What this means is that Mark is probably planning to make images be 32-bit based instead of 24. Every 8 bits form a byte, and every byte forms a color-value: R (red), G (green), and B (blue). Those three bytes used to form a color:
 * 8 * 3 = 24

What Mark is planning on doing is to add 8 more bits (one more byte) concerning the Alpha channel (transparency) of a point, hence 32 bits:
 * 8 * 3 + 8 = 32

Security Improvement(s)
A bad problem with any software similar to Game Maker is Decompiling. Though Mark has secured the Executable file in version 6.0, what he didn't do is secure the data located in the RAM while the executable is being run. The data is now available as raw text and anyone who knows how to access the RAM will be able to view a large part of the source of the executable, especially scripts.

Other -more difficult- security holes also exist, but Mark says he's not sure they'll be fixed in version 7.0, however, the first, simple, problem is "hopefully going to be fixed" in 7.0. "(...) 1. The "easy" way to get information out of GM will be solved in the next version. 2. I might add some other protections but it is not of high priority. (...)"

Other features
Though we have no idea if Mark will indeed do that, the website points out a few features "planned for next version", in reference to GM7.0. (Note: the website might change once 6.2 is released). "* Add function to load sprites and backgrounds with an alpha channel.
 * Functions dealing with the mouse wheel.
 * Inverted Gaussian distribution for particles.
 * Add constants dir_left, dir_right, dir_up and dir_down.
 * Action/function to pause the game until a key is pressed (with redraw option, like in sleep).
 * Allow characters in fonts that are larger than 255.
 * Duplicate groups of resources
 * A drawmysprite action and function that draws the sprite of the instance at its possition (as if there is nothing in the draw event) instance_draw_sprite
 * Interupt (pause, resume and kill) splash screens when the game is running
 * execute_string and execute_file should take optional arguments as arguments (like script_execute).
 * Mechanism for saving the error reported during execution, e.g. by allowing a copy to the clipboard"

We cannot be so sure that any of these features will be included in 7.0, Mark has only "planned" them, and any changes might occur.

Multilanguage Support
Mark Overmars has stated that he is planning on adding multi-language support to Game Maker, but he made it quite clear that it wouldn't be for the "next version" of Game Maker (in reference to 6.2 at the time, now 7.0). Here is a quote: "I am indeed still thinking about multi language support. But don't expect it in the next version.

Mark"

The 7.0 Announcement
"Let me give some information.

There will not be a version 6.2. The next version will be 7.0. It will be released at the beginning of december. At the end of October a beta is planned.

Major changes are:

- Better ana additional room transitions, plus the possibility to define your own

- A new extension mechanism, making it possible to extend the functionality in many different ways. Three extension packages will be provided: one for accessing all sorts of Windows Dialogs, one with 50 room transitions, and one to access the printer. I hope this will in the future lead to many more extension packages.

- An extended file inclusion mechanism

- Better splash screens, e.g. to show a movie in the game window.

- Many other small additions and bug corrections

I hope this satisfies the curiosity of people for a while.

Mark"

Room transitions
Mark has stated in his announcement that 7.0 will contain more room transition. He has also stated the possibility to make the user create their own and having these customly created transitions defined by the user.

Next Extension Mechanism
Mark has stated that
 * A new extension mechanism [ will be included ], making it possible to extend the functionality [ of Game Maker ] in many different ways. Three extension packages will be provided: one for accessing all sorts of Windows Dialogs, one with 50 room transitions, and one to access the printer. I hope this will in the future lead to many more extension packages.

are more customizable as well.

Extension 2: 50 Room Transitions
This second extension will allow the users to have a massive variety of room traditions, this will keep games very original and different, and will allow more creativity in making games.

Extension 3: Printer Access
The third extension will probably allow the user to give orders to the printer. Mark has not made it very clear what will the extension do exactly, but obviously: printing.

Extended File Inclusion Mechanism
Since Game Maker 6.0, the old data file inclusion mechanism was removed, and a simple file inclusion mechanism was added. Mark now plans on extending the current file inclusiom mechanism, which is a big leap forward after having it almost removed in 6.0.

Better Splash Screens
Mark has only stated that "better splash screens" will be made, and gave the examples of showing video in the splash window. It is not known what other improvements to the splash screens function are to be made.

Other
The improvements mentioned above are not the only ones, Mark has promised for "many others" as well as "bug corrections", which certainly includes the Game Maker security issues that exist now.

Wider transparencies
Mark has talked about the transparencies a long time ago, and it is not known if he is still thinking about adding them or not. That does not mean that they will not be introduced in version 7.0, Mark has yet to give input on that.

Expected Release Date
Though Mark hasn't said anything for sure, he says the final versions should be available at about December, with a beta version at around October.

Second 7.0 Announcement
Mark made a very interesting second post after 4 pages of speculations: "Interesting speculation. Some promises:

- People that are registered will not have to pay again for version 7.0.

- Version 7.0 will be able to read version 6.1 files and is (almost) fully compatible with it.

- The extension mechanism can be use by everybody to create extension packages. Extension packages can be based on DLL files or on GML files (or a combination). They integrate within the system (including the help system) so all that a user needs to do to use one is to indicate it in a list in the Global Game Settings. They will be easy to make.

- The security issue will (I think) be solved.

- It should run under Vista. (But the beta will show whether I am right.)

- No additional system requirements.

Mark" Based on this announcements, there are many things to conclude:

7.0 Registration
There will be no required registration for already-registered members. Meaning 7.0 will use the 6.x registration system, or serial numbers will be converted for free.

Backwards compatibility
Mark points out that backwards compatibility is at a very good shape, and that 7.0 is almost fully compatible with 6.x.

Extension Mechanism Clarifications
Everybody can use the extension mechanism to create the extension packages that Mark has talked about before. As he has stated before, three packages come pre-installed with Game Maker 7.0, but the users can create more.

Mark has also pointed out that Extension packages are based on both GML and DLL files, and that pointing them out is easy to do.

Security Issue
The Game Maker 6.x security issue is supposed to be solved in version 7.0, details are yet to be given.

Running on Windows Vista
The Game Maker Windows Vista problem should be eliminated in Game Maker 7.0. Mark is still not sure if the bug is now fixed, and says the beta will show if Game Maker now works on Windows Vista or not.

System Requirements
Mark Overmars points out that there will be no additional system requirements for running Game Maker.

Third 7.0 Announcement
Mark has made a third post in the "Information about Game Maker 7" topic, in which he announced additional details about Game Maker 7.0. "Let me explain the extension mechanism a bit more. You can either create a DLL file with a number of functions or a GML file with a number of scripts (by exporting these). Also you can optionally create a help file. Next you create a description file. This file describes which functions are available in the DLL or GML file, which of them should be visible to the user, what constants you want to add, what the help file is, what other files are being used by the packages, what other DLL or GML files it depends on, what initialization function to call, etc. All these files are then put in a folder extensions in the Game Maker folder.

Now when a user runs Game Maker, under the Global Game Settings there is a new tab called Extensions. Here there is a [l]ist of available extensions. The user can select which ones to use in the game. The functions are then immediately available, they are recognized by the script editor, and they show up in the function help at the bottom of the script editor. Also, all help files of extension package are accessible through the help menu.

When a game is run or an executable is created, automatically all relevant files for the used extension packages (the DLL, the used files, the dependent DLLs, etc.) are included in the executable. The users does not have to do anything for this.

The main differences with the current DLL mechanism are: no need to have a separate set of scripts that the user must import, also GML based, more versatile, help integration, and no need for the user to take care of inclusion of the right files.

I also plan myself in the future to make more additions available in the form of extension packages and I might even take some parts out of Game Maker and turn them into extension packages. This would indeed reduce the file size of games. (Although unfortunately this size will be considerable larger in version 7 anyway, cause that is required for compatibility with Vista.)

Mark"

Though Mark has posted this post for clarification about the extension mechanism, he ended up including other important information about Game Maker 7.0's features.

Extension Mechanism
In his third post, Mark has finally released detailed information about the extension mechanism of Game Maker 7.0. Extensions are created by the user by adding and packing DLL's and GML scripts, a help file could be created, and a short description must be made. In the extensions tab in Game Maker 7's Global Game Settings menu, you can now select one of the available extensions. It will be automatically packed with the executable, and the scripts will be connected with the script editor, and the help file will be connected with the Game Maker help!

Running on Vista
Mark has already stated that Game Maker 7.0 will run on Vista (hopefully, as he said). But what we now know is what did he change, mark has said that:
 * "... unfortunately [the executable] size will be considerabl[y] larger in version 7, cause that is required for compatibility with Vista."

Executable size
As said in Running on Vista, the executable file size will be "considerably larger" in Version 7.0.

Mark's Post regarding file size
"The exe files sizes in 7.0 will be considerably larger (this is required for Vista compatibility).

But I don't understand why people worry. We all have 100GB or more harddisks. Even a memory stick is now 1 GB. And download speeds have been increased considerably over the years. So why does it matter that a game is 3MB in size? It does not change the loading times (actually the new, larger exes will most likely load slightly faster than the old ones).

Also, if you zip the executables, the new larger ones will zip to the same small size.

And to answer the other question, the extension package will not reduce the size as, at least for the time being, it will only be used for new functionality, not for removing old functionality.

Mark"

In this latest post, Mark clarifies a few things that will be discussed in detail.

File size of executable
In his fourth post, Mark pointed out the Game Maker 7.0 file size more clearly. According to what he says, a normal Game Maker Game would have a 3 MB file size, it is not known whether he means an actual empty executable will be 3 MB in size. If he means a normal Game Maker game would have a 3 MB filesize, that could possibly mean the empty executable size is about 2 - 2.5 MB. Otherwise, then it is 3 MB.

ZIP Compression
Mark also pointed out that zipping the ~3 MB executables will return them to (about) their original size, which is about half of the ~3 MB announced.

Loading Speed
Mark points out that the loading speed of the larger is faster (slightly) than the old 6.1 executable size.

Extension Mechanism
Mark has also made it clear that at the moment, no current Game Maker functionality seen in 6.1 will be moved into an extension.

Second Post regarding file size
"It helps if people read carefully. As I wrote, when compressing the game executable into a zip file, the size will hardly be larger than before! So it does not matter for downloading cause I assume everybody does (or otherwise should) compress their files before putting it on the web.

Also, the larger executables will not use more internal memory.

And remember, only the base file size will increase (from 1MB to something like 2MB). So a 10 MB file will now become a 11 MB file.

Mark"

Just more clarifications to the previous post, in which a clearer file size is told, and the fact that the old size is restored is stressed again.

Compression
Mark again makes it clear that the size of executable will be almost the same as the old one when zipped.

File size
According to Mark, the base file size has been increased about 1 Mega byte. It used to be around 1 MB, and it is now around 2MB.

Use of internal memory
Mark makes it clear the new executable will not use any more of the internal memory than the old executable. This could be explained by the fact that the XP and before runner is loaded to the memory if the operating system was XP or older, and the Vista runner would be loaded if the operating system was Windows Vista.