GameMaker: “Can you make a game in an old GM version?” (2024)

GameMaker: “Can you make a game in an old GM version?” (1)
Does it belong in a museum... or my game?

This is a post about practicality of using variously old GameMaker versions and what it'll taketo make your project run correctly for most users.

GameMaker ≤ 8.1

GameMaker: “Can you make a game in an old GM version?” (2)

Context: GM8.1 is the last version that has dynamic code execution (execute_string)and a handful of quirky DLLs that relied on hard-coding memory offsets per GM version(back when GM updated once a year or so).

In some situations these versions also performed better on low-end hardware as all of the assetswere packed into a single (slightly compressed) file - good for small projectsand bad for big projects and/or being able to use version control(though some tools existed for the latter).

With GM7, GM8, and GM8.1 released in 2007, 2009 (?), and 2011 respectively,older GM versions suffer a bunch from behind-the-scenes changes in Windows APIs,and very few people know how to get around these issues.

A patcher exists to fix a handful of these,and tech-savvy users might be interested in some of the extensions and tweaks from the"GM8.2 project".

GameMaker: HTML5

GameMaker: “Can you make a game in an old GM version?” (3)
A screenshot from the trailer. I'm not re-installing GM:HTML5 just for this post.

GM:HTML5 was a short-lived version between GM8.1 and GM:S with emphasis on, you guessed it, HTML5.

With advantages of old versions gone and advantages of GM:S yet to emerge, there's very littlereason to use it for anything.

GameMaker: Studio 1.4.1804

GameMaker: “Can you make a game in an old GM version?” (4)
GameMaker: Studio with its signature popout windows

Context: generally regarded as the most stable GM:S version.

1.4.1804 came out quite a while ago (March 2018) but remains to be the go-to choice forpeople that only have a GM:S key from Humble Bundle and those who despise the new UI in GMS2(though also, consider GMEdit?).

Windows

  • Games may run at unintended framerate on some machines(especially those with non-60Hz displays) due to changes in timing APIs in Windows.
    This can be fixed by using GMSched.
  • buffer_set_surface mysteriously doesn't work on some GPUs anymore(originallyIntel iGPUs,now NVIDIA too)
    I made an extension that fixes this.

Mac

You can still make Mac apps in GM:S, with a few caveats:

  • You will have to notarize them yourself.
  • Users with Apple Silicon machines will have to install Rosetta for your apps to work.

Linux

GM:S creates 32-bit Linux executables so you'll need to tell the end user to install a handful of x86 packages first. This can be automated with a script, and for Steam you can specify what to do on first install.

iOS

Apple dropped support for 32-bit apps the year after GM:S has been sunset, so you can't do much at this point.

Android

Google has also dropped support for uploading 32-bit apps to Play Store, but you can still side-load them. Other stores may still accept 32-bit apps.

HTML5

Largely usable, though you are left on your own with any bugs or quirks that you might encounter.

Consoles

Platform holders generally expect you to be using a current SDK version so publishing a game made in GM:S (which at the time of writing this is multiple major SDK versions behind) won't be easy, but GM:S is still occasionally used by enthusiasts for PS Vita homebrew development.

GameMaker Studio 2.2.5


GMS2 IDE with a custom accent color

Context: 2.2.5 is the last version before major programming language changes that require a code review (and possibly a little debugging) due to breaking changes.

As such you'll occasionally encounter a project that's stuck on this version.

Windows

You still have to deal with the scheduling quirk (see GMSched above) but otherwise things are alright.

Mac

Same deal as with GMS1.

Linux

GMS2 switched to compiling 64-bit Linux binaries, so you have a few problems less here.

HTML5

2.2.5 lacks a few years worth of fixes and improvements for the HTML5 target, but generally remains usable.

iOS & Android

I think 2.2.5 should still be fine to publish mobile projects with,though there might be some caveats due to now-outdated libraries.

Consoles

As of 2023 it's still possible to convince platform holders to accept your builds with slightly-outdated SDKs and some older GameMaker games continue to be updated.

GameMaker Studio 2.3.x

Context: the last versions that can load old (32-bit) DLLs(technically removed in 2022.8).

If you don't care for old extensions, you might want to move GM2022 LTS instead.

As of 2023, everything is fine here - the scheduling quirk has been officially addressed, an Apple Silicon runtime has been introduced, and console SDKs are sufficiently recent.

There are always a couple HTML5 fixes that you're missing out, but it's not too bad.

GameMaker LTS

Since recently, the LTS version exists for people don't like the ideaof their project potentially catching fire after updating GameMaker -it doesn't get new features as often, but you are also far less likely to encounterissues after updating.

Of course, when taking an old project, you'll still have to deal with making the project workafter upgrading it across multiple major GameMaker versions, but otherwise it's the mostsensible option for commercial work.

Conclusions

Although it's obviously preferable to use a current version of GameMakerfor any serious projects, you can also make-do with old versions and some effort;

Some work of mine (itch; GitHub)can help substitute features that were eventually added to the engine itself.

Related posts:

  • Variable references in GameMaker (2023 edition)
  • Fixing buffer_set_surface in GameMaker: Studio
  • GameMaker: Working with NaN and infinities
  • GameMaker file formats (and how to open them)
  • GameMaker: GMMOD/D3D file format explained
GameMaker: “Can you make a game in an old GM version?” (2024)
Top Articles
Latest Posts
Article information

Author: Lidia Grady

Last Updated:

Views: 6435

Rating: 4.4 / 5 (45 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Lidia Grady

Birthday: 1992-01-22

Address: Suite 493 356 Dale Fall, New Wanda, RI 52485

Phone: +29914464387516

Job: Customer Engineer

Hobby: Cryptography, Writing, Dowsing, Stand-up comedy, Calligraphy, Web surfing, Ghost hunting

Introduction: My name is Lidia Grady, I am a thankful, fine, glamorous, lucky, lively, pleasant, shiny person who loves writing and wants to share my knowledge and understanding with you.