All GameMaker licence types (including free) come with an export platform for Opera GX, which is a free online game-hosting and sharing community where other people from all around the world can easily play your games. In this article we give the required steps to get the platform up and running.
If you are only looking for a tutorial on uploading your game to GX.games, read this.
If you are looking for instructions on setting up the Opera GX target properly, or setting up its YYC output, continue reading.
Requires Opera GX (The Browser) Installed On Your Machine
Note that before following this guide you will need to have installed the Opera GX browser itself and run it at least once to set it up however you would like. No other browsers are supported by this export option (for that, see the HTML5 target) - if you do not have Opera GX installed, then doing a build will just open a page directing you to the Opera link above.
It's also important that you keep the browser version up-to-date, as GameMaker and the browser may rely on something the other one has just introduced in a new version.
Note also that Opera GX is a high-performance, compiled package with in-game functionality and behaviours more similar to Windows, macOS, etc., than it is to the HTML5 target.
To target Opera GX from the IDE, use the Target Manager, which is located in the top-right of the GameMaker window:
Once you have selected this target, you can run your game from the IDE as you would for any other target or for testing and it will open your installed Opera GX browser and run the game.
Note that you may get a Firewall warning the first time you run the target as GameMaker uses a micro web server (see here for more information) to serve the game to the browser and this will require access to your network.
Using The VM Output
There is actually nothing further you need do beyond installing the Opera GX browser and GameMaker - GameMaker already includes all the tools it needs.
Simply pick the "VM" option as shown in the screenshot near the start of this page and then click to run/debug/create your games.
Using The YYC Output
Note that YYC is only supported in March 2022 (2022.3) versions of GameMaker onwards - if you are on an older release, please update first.
For this packaging type you will need to install the Emscripten SDK yourself elsewhere on your computer and then point GameMaker at it.
The full documentation and the download links for this can be found at:
So if you have any issues following the rest of this guide, please refer to the link above in the first instance.
Emscripten is supported on Windows, Mac and Linux, so it doesn't matter which GameMaker IDE version you're using. However, be aware that when doing Opera GX YYC builds using the Windows IDE, it will always automatically disable the use of subst for that build, as the Emscripten tools do not like these temporary drives and short file paths. You should therefore take care with the length of your project name, save location, and asset names, etc., so that you stay within Windows' 260 character path limit.
Setting Up For YYC
We will now very briefly demonstrate the steps for a working Windows PC-based install. (Mac/Ubuntu users, there are very similar steps you will take, but enough differences in how to get the packages that you should refer to the Emscripten guide we linked above).
First of all, you would need to install Python from its official page, as this is required by the Emscripten SDK: https://www.python.org/downloads/
We recommend v3.10.2 (Jan 22), but note that this is not usable by anyone using Windows 7, so if you're using Windows 7 you would need to use an older release. Emscripten itself currently has a minimum requirement of Python 3.6 and we cannot guarantee how long they will continue to support Windows 7 usage in their future releases.
Install Python using these settings:
Cloning the Emscripten SDK
For this, you will need a Git client installed and set up to your liking. Our screenshot shows Github Desktop, but other clients are available.
Simply clone the URL which Emscripten give you into an empty folder of your choice on your computer:
You can set the "Local path" wherever you want, but we would of course recommend a short path and somewhere easy to remember and locate later on.
Once the clone operation is complete you can close your git client.
Installing And Activating Emscripten
Now, we go back nearer the top of the Emscripten guide and perform the actual installation of the Emscripten SDK.
To do this, we open a command prompt in Windows, change into the directory we cloned the repository into in the section above, and then run the commands Emscripten uses to set up your installation.
You can see below that I change directory ("cd") from my D:\ root into the EmscriptenSDK subfolder and then I call the two commands Emscripten currently have documented (the two green arrow lines)
This results in a working installation on Windows. (Part of the PATH line has been redacted in the screenshot above - yours will be much longer and likely fill the blank lines there.)
Android developers: One thing to note is the red arrow line in the screenshot shows that the Emscripten SDK will modify your JAVA_HOME variable by default. Your Android setup may need you to change this back to some other path once the Emscripten SDK install is complete.
Setting Up GameMaker's Preferences
Once Emscripten is installed okay, you now need to tell GameMaker where to find it during your Opera GX YYC builds (again, this is not used in VM builds).
Open Preferences and change GameMaker's default to the folder you cloned the SDK into. Using our example location above, this would result in:
Apply/OK this to set the Preference as the value to be used by your runtimes before attempting to do any builds.